🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 199 (from laksa160)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
6 days ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.2 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://manual.cs50.io/
Last Crawled2026-04-05 20:05:02 (6 days ago)
First Indexed2020-09-19 20:55:03 (5 years ago)
HTTP Status Code200
Meta TitleCS50 Manual Pages
Meta Descriptionnull
Meta Canonicalnull
Boilerpipe Text
Manual pages for the C standard library, the C POSIX library, and the CS50 Library for those less comfortable . aio.h aio_cancel - cancel an outstanding asynchronous I/O request aio_error - get error status of asynchronous I/O operation aio_fsync - asynchronous file synchronization aio_init - asynchronous I/O initialization aio_read - asynchronous read aio_return - get return status of asynchronous I/O operation aio_suspend - wait for asynchronous I/O operation or timeout aio_write - asynchronous write lio_listio - initiate a list of I/O requests arpa/inet.h byteorder - convert values between host and network byte order htonl - convert values between host and network byte order htons - convert values between host and network byte order inet_net_ntop - Internet network number conversion inet_net_pton - Internet network number conversion inet_ntop - convert IPv4 and IPv6 addresses from binary to text form inet_pton - convert IPv4 and IPv6 addresses from text to binary form ntohl - convert values between host and network byte order ntohs - convert values between host and network byte order assert.h _Static_assert - fail compilation if assertion is false assert - abort the program if assertion is false assert_perror - test errnum and abort static_assert - fail compilation if assertion is false complex.h cabs - absolute value of a complex number cabsf - absolute value of a complex number cabsl - absolute value of a complex number cacos - complex arc cosine cacosf - complex arc cosine cacosh - complex arc hyperbolic cosine cacoshf - complex arc hyperbolic cosine cacoshl - complex arc hyperbolic cosine cacosl - complex arc cosine carg - calculate the complex argument cargf - calculate the complex argument cargl - calculate the complex argument casin - complex arc sine casinf - complex arc sine casinh - complex arc sine hyperbolic casinhf - complex arc sine hyperbolic casinhl - complex arc sine hyperbolic casinl - complex arc sine catan - complex arc tangents catanf - complex arc tangents catanh - complex arc tangents hyperbolic catanhf - complex arc tangents hyperbolic catanhl - complex arc tangents hyperbolic catanl - complex arc tangents ccos - complex cosine function ccosf - complex cosine function ccosh - complex hyperbolic cosine ccoshf - complex hyperbolic cosine ccoshl - complex hyperbolic cosine ccosl - complex cosine function cexp - complex exponential function cexp2 - base-2 exponent of a complex number cexp2f - base-2 exponent of a complex number cexp2l - base-2 exponent of a complex number cexpf - complex exponential function cexpl - complex exponential function cimag - get imaginary part of a complex number cimagf - get imaginary part of a complex number cimagl - get imaginary part of a complex number clog - natural logarithm of a complex number clog10 - base-10 logarithm of a complex number clog10f - base-10 logarithm of a complex number clog10l - base-10 logarithm of a complex number clog2 - base-2 logarithm of a complex number clog2f - base-2 logarithm of a complex number clog2l - base-2 logarithm of a complex number clogf - natural logarithm of a complex number clogl - natural logarithm of a complex number complex - basics of complex mathematics conj - calculate the complex conjugate conjf - calculate the complex conjugate conjl - calculate the complex conjugate cpow - complex power function cpowf - complex power function cpowl - complex power function cproj - project into Riemann Sphere cprojf - project into Riemann Sphere cprojl - project into Riemann Sphere creal - get real part of a complex number crealf - get real part of a complex number creall - get real part of a complex number csin - complex sine function csinf - complex sine function csinh - complex hyperbolic sine csinhf - complex hyperbolic sine csinhl - complex hyperbolic sine csinl - complex sine function csqrt - complex square root csqrtf - complex square root csqrtl - complex square root ctan - complex tangent function ctanf - complex tangent function ctanh - complex hyperbolic tangent ctanhf - complex hyperbolic tangent ctanhl - complex hyperbolic tangent ctanl - complex tangent function get_char - prompts user for a line of text from stdin and returns... prompt a user for a char get_double - prompts user for a line of text from stdin and returns... prompt a user for a double get_float - prompts user for a line of text from stdin and returns... prompt a user for a float get_int - prompts user for a line of text from stdin and returns... prompt a user for an int get_long - prompts user for a line of text from stdin and returns... prompt a user for an long get_long_long - prompts user for a line of text from stdin and returns... get_string - prompts user for a line of text from stdin and returns... prompt a user for a string ctype.h isalnum - character classification functions check whether a character is alphanumeric isalnum_l - character classification functions isalpha - character classification functions check whether a character is alphabetical isalpha_l - character classification functions isascii - character classification functions isascii_l - character classification functions isblank - character classification functions check whether a character is blank (i.e., a space or tab) isblank_l - character classification functions iscntrl - character classification functions iscntrl_l - character classification functions isdigit - character classification functions check whether a character is a digit isdigit_l - character classification functions isgraph - character classification functions isgraph_l - character classification functions islower - character classification functions check whether a character is lowercase islower_l - character classification functions isprint - character classification functions isprint_l - character classification functions ispunct - character classification functions check whether a character is punctuation ispunct_l - character classification functions isspace - character classification functions check whether a character is whitespace (e.g., a newline, space, or tab) isspace_l - character classification functions isupper - character classification functions check whether a character is uppercase isupper_l - character classification functions isxdigit - character classification functions isxdigit_l - character classification functions toascii - convert character to ASCII tolower - convert uppercase or lowercase convert a char to lowercase tolower_l - convert uppercase or lowercase toupper - convert uppercase or lowercase convert a char to uppercase toupper_l - convert uppercase or lowercase dirent.h alphasort - scan a directory for matching entries getdirentries - get directory entries in a filesystem-independent format readdir - read a directory readdir_r - read a directory scandir - scan a directory for matching entries scandirat - scan a directory for matching entries seekdir - set the position of the next readdir() call in the dir... telldir - return current location in directory stream versionsort - scan a directory for matching entries dlfcn.h dladdr - translate address to symbolic information dladdr1 - translate address to symbolic information dlclose - open and close a shared object dlerror - obtain error diagnostic for functions in the dlopen API dlmopen - open and close a shared object dlopen - open and close a shared object dlsym - obtain address of a symbol in a shared object or execu... dlvsym - obtain address of a symbol in a shared object or execu... errno.h errno - number of last error program_invocation_name - obtain name used to invoke calling program program_invocation_short_name - obtain name used to invoke calling program fcntl.h arm_fadvise - predeclare an access pattern for file data arm_fadvise64_64 - predeclare an access pattern for file data arm_sync_file_range - sync a file segment with disk creat - open and possibly create a file fadvise64 - predeclare an access pattern for file data fadvise64_64 - predeclare an access pattern for file data fallocate - manipulate file space fcntl - manipulate file descriptor fcntl64 - manipulate file descriptor name_to_handle_at - obtain handle for a pathname and open file via a handle open - open and possibly create a file open_by_handle_at - obtain handle for a pathname and open file via a handle openat - open and possibly create a file posix_fadvise - predeclare an access pattern for file data posix_fallocate - allocate file space readahead - initiate file readahead into page cache splice - splice data to/from a pipe sync_file_range - sync a file segment with disk sync_file_range2 - sync a file segment with disk tee - duplicating pipe content vmsplice - splice user pages to/from a pipe fenv.h feclearexcept - floating-point rounding and exception handling fedisableexcept - floating-point rounding and exception handling feenableexcept - floating-point rounding and exception handling fegetenv - floating-point rounding and exception handling fegetexcept - floating-point rounding and exception handling fegetexceptflag - floating-point rounding and exception handling fegetround - floating-point rounding and exception handling feholdexcept - floating-point rounding and exception handling fenv - floating-point rounding and exception handling feraiseexcept - floating-point rounding and exception handling fesetenv - floating-point rounding and exception handling fesetexceptflag - floating-point rounding and exception handling fesetround - floating-point rounding and exception handling fetestexcept - floating-point rounding and exception handling feupdateenv - floating-point rounding and exception handling fmtmsg.h addseverity - introduce new severity classes fmtmsg - print formatted error messages fnmatch.h fnmatch - match filename or pathname ftw.h ftw - file tree walk nftw - file tree walk glob.h glob - find pathnames matching a pattern, free memory from gl... globfree - find pathnames matching a pattern, free memory from gl... grp.h fgetgrent_r - get group file entry reentrantly getgrent_r - get group file entry reentrantly getgrouplist - get list of groups to which a user belongs putgrent - write a group database entry to a file iconv.h iconv - perform character set conversion iconv_close - deallocate descriptor for character set conversion iconv_open - allocate descriptor for character set conversion inttypes.h strtoimax - convert string to integer strtoumax - convert string to integer langinfo.h nl_langinfo - query language and locale information nl_langinfo_l - query language and locale information libgen.h basename - parse pathname components dirname - parse pathname components limits.h MB_LEN_MAX - maximum multibyte length of a character across all loc... realpath - return the canonicalized absolute pathname locale.h duplocale - duplicate a locale object freelocale - create, modify, and free a locale object locale - description of multilanguage support localeconv - get numeric formatting information newlocale - create, modify, and free a locale object setlocale - set the current locale uselocale - set/get the locale for the calling thread math.h acos - arc cosine function acosf - arc cosine function acosh - inverse hyperbolic cosine function acoshf - inverse hyperbolic cosine function acoshl - inverse hyperbolic cosine function acosl - arc cosine function asin - arc sine function asinf - arc sine function asinh - inverse hyperbolic sine function asinhf - inverse hyperbolic sine function asinhl - inverse hyperbolic sine function asinl - arc sine function atan - arc tangent function atan2 - arc tangent function of two variables atan2f - arc tangent function of two variables atan2l - arc tangent function of two variables atanf - arc tangent function atanh - inverse hyperbolic tangent function atanhf - inverse hyperbolic tangent function atanhl - inverse hyperbolic tangent function atanl - arc tangent function cbrt - cube root function cbrtf - cube root function cbrtl - cube root function ceil - ceiling function: smallest integral value not less tha... calculate the ceiling of a number ceilf - ceiling function: smallest integral value not less tha... ceill - ceiling function: smallest integral value not less tha... copysign - copy sign of a number copysignf - copy sign of a number copysignl - copy sign of a number cos - cosine function cosf - cosine function cosh - hyperbolic cosine function coshf - hyperbolic cosine function coshl - hyperbolic cosine function cosl - cosine function drem - floating-point remainder function dremf - floating-point remainder function dreml - floating-point remainder function erf - error function erfc - complementary error function erfcf - complementary error function erfcl - complementary error function erff - error function erfl - error function exp - base-e exponential function exp10 - base-10 exponential function exp10f - base-10 exponential function exp10l - base-10 exponential function exp2 - base-2 exponential function exp2f - base-2 exponential function exp2l - base-2 exponential function expf - base-e exponential function expl - base-e exponential function expm1 - exponential minus 1 expm1f - exponential minus 1 expm1l - exponential minus 1 fabs - absolute value of floating-point number fabsf - absolute value of floating-point number fabsl - absolute value of floating-point number fdim - positive difference fdimf - positive difference fdiml - positive difference finite - BSD floating-point classification functions finitef - BSD floating-point classification functions finitel - BSD floating-point classification functions floor - largest integral value not greater than argument calculate the floor of a number floorf - largest integral value not greater than argument floorl - largest integral value not greater than argument fma - floating-point multiply and add fmaf - floating-point multiply and add fmal - floating-point multiply and add fmax - determine maximum of two floating-point numbers fmaxf - determine maximum of two floating-point numbers fmaxl - determine maximum of two floating-point numbers fmin - determine minimum of two floating-point numbers fminf - determine minimum of two floating-point numbers fminl - determine minimum of two floating-point numbers fmod - floating-point remainder function fmodf - floating-point remainder function fmodl - floating-point remainder function fpclassify - floating-point classification macros frexp - convert floating-point number to fractional and integr... frexpf - convert floating-point number to fractional and integr... frexpl - convert floating-point number to fractional and integr... gamma - (logarithm of the) gamma function gammaf - (logarithm of the) gamma function gammal - (logarithm of the) gamma function HUGE_VAL - floating-point constants HUGE_VALF - floating-point constants HUGE_VALL - floating-point constants hypot - Euclidean distance function hypotf - Euclidean distance function hypotl - Euclidean distance function ilogb - get integer exponent of a floating-point value ilogbf - get integer exponent of a floating-point value ilogbl - get integer exponent of a floating-point value INFINITY - floating-point constants isfinite - floating-point classification macros isgreater - floating-point relational tests without exception for NaN isgreaterequal - floating-point relational tests without exception for NaN isinf - floating-point classification macros isinff - BSD floating-point classification functions isinfl - BSD floating-point classification functions isless - floating-point relational tests without exception for NaN islessequal - floating-point relational tests without exception for NaN islessgreater - floating-point relational tests without exception for NaN isnan - floating-point classification macros isnanf - BSD floating-point classification functions isnanl - BSD floating-point classification functions isnormal - floating-point classification macros isunordered - floating-point relational tests without exception for NaN j0 - Bessel functions of the first kind j0f - Bessel functions of the first kind j0l - Bessel functions of the first kind j1 - Bessel functions of the first kind j1f - Bessel functions of the first kind j1l - Bessel functions of the first kind jn - Bessel functions of the first kind jnf - Bessel functions of the first kind jnl - Bessel functions of the first kind ldexp - multiply floating-point number by integral power of 2 ldexpf - multiply floating-point number by integral power of 2 ldexpl - multiply floating-point number by integral power of 2 lgamma - log gamma function lgamma_r - log gamma function lgammaf - log gamma function lgammaf_r - log gamma function lgammal - log gamma function lgammal_r - log gamma function llrint - round to nearest integer llrintf - round to nearest integer llrintl - round to nearest integer llround - round to nearest integer llroundf - round to nearest integer llroundl - round to nearest integer log - natural logarithmic function log10 - base-10 logarithmic function log10f - base-10 logarithmic function log10l - base-10 logarithmic function log1p - logarithm of 1 plus argument log1pf - logarithm of 1 plus argument log1pl - logarithm of 1 plus argument log2 - base-2 logarithmic function calculate the base-2 logarithm of a number log2f - base-2 logarithmic function log2l - base-2 logarithmic function logb - get exponent of a floating-point value logbf - get exponent of a floating-point value logbl - get exponent of a floating-point value logf - natural logarithmic function logl - natural logarithmic function lrint - round to nearest integer lrintf - round to nearest integer lrintl - round to nearest integer lround - round to nearest integer lroundf - round to nearest integer lroundl - round to nearest integer math_error - detecting errors from mathematical functions matherr - SVID math library exception handling modf - extract signed integral and fractional values from flo... modff - extract signed integral and fractional values from flo... modfl - extract signed integral and fractional values from flo... NAN - floating-point constants nan - return 'Not a Number' nanf - return 'Not a Number' nanl - return 'Not a Number' nearbyint - round to nearest integer nearbyintf - round to nearest integer nearbyintl - round to nearest integer nextafter - floating-point number manipulation nextafterf - floating-point number manipulation nextafterl - floating-point number manipulation nextdown - return next floating-point number toward positive/nega... nextdownf - return next floating-point number toward positive/nega... nextdownl - return next floating-point number toward positive/nega... nexttoward - floating-point number manipulation nexttowardf - floating-point number manipulation nexttowardl - floating-point number manipulation nextup - return next floating-point number toward positive/nega... nextupf - return next floating-point number toward positive/nega... nextupl - return next floating-point number toward positive/nega... pow - power functions raise a number to a power pow10 - base-10 power functions pow10f - base-10 power functions pow10l - base-10 power functions powf - power functions powl - power functions remainder - floating-point remainder function remainderf - floating-point remainder function remainderl - floating-point remainder function remquo - remainder and part of quotient remquof - remainder and part of quotient remquol - remainder and part of quotient rint - round to nearest integer rintf - round to nearest integer rintl - round to nearest integer round - round to nearest integer, away from zero round a number to the nearest integer roundf - round to nearest integer, away from zero roundl - round to nearest integer, away from zero scalb - multiply floating-point number by integral power of ra... scalbf - multiply floating-point number by integral power of ra... scalbl - multiply floating-point number by integral power of ra... scalbln - multiply floating-point number by integral power of radix scalblnf - multiply floating-point number by integral power of radix scalblnl - multiply floating-point number by integral power of radix scalbn - multiply floating-point number by integral power of radix scalbnf - multiply floating-point number by integral power of radix scalbnl - multiply floating-point number by integral power of radix signbit - test sign of a real floating-point number signgam - log gamma function significand - get mantissa of floating-point number significandf - get mantissa of floating-point number significandl - get mantissa of floating-point number sin - sine function sincos - calculate sin and cos simultaneously sincosf - calculate sin and cos simultaneously sincosl - calculate sin and cos simultaneously sinf - sine function sinh - hyperbolic sine function sinhf - hyperbolic sine function sinhl - hyperbolic sine function sinl - sine function sqrt - square root function calculate the square root of a number sqrtf - square root function sqrtl - square root function tan - tangent function tanf - tangent function tanh - hyperbolic tangent function tanhf - hyperbolic tangent function tanhl - hyperbolic tangent function tanl - tangent function tgamma - true gamma function tgammaf - true gamma function tgammal - true gamma function trunc - round to integer, toward zero truncf - round to integer, toward zero truncl - round to integer, toward zero y0 - Bessel functions of the second kind y0f - Bessel functions of the second kind y0l - Bessel functions of the second kind y1 - Bessel functions of the second kind y1f - Bessel functions of the second kind y1l - Bessel functions of the second kind yn - Bessel functions of the second kind ynf - Bessel functions of the second kind ynl - Bessel functions of the second kind monetary.h strfmon - convert monetary value to a string strfmon_l - convert monetary value to a string mqueue.h mq_close - close a message queue descriptor mq_getattr - get/set message queue attributes mq_notify - register for notification when a message is available mq_notify - register for notification when a message is available mq_open - open a message queue mq_open - open a message queue mq_receive - receive a message from a message queue mq_send - send a message to a message queue mq_setattr - get/set message queue attributes mq_timedreceive - receive a message from a message queue mq_timedreceive - receive a message from a message queue mq_timedsend - send a message to a message queue mq_timedsend - send a message to a message queue mq_unlink - remove a message queue mq_unlink - remove a message queue net/if.h if_freenameindex - get network interface names and indexes if_indextoname - mappings between network interface names and indexes if_nameindex - get network interface names and indexes if_nametoindex - mappings between network interface names and indexes netdb.h endhostent - get network host entry endnetent - get network entry endnetgrent - handle network group entries endprotoent - get protocol entry endrpcent - get RPC entry endservent - get service entry gai_cancel - asynchronous network address and service translation gai_error - asynchronous network address and service translation gai_suspend - asynchronous network address and service translation getaddrinfo_a - asynchronous network address and service translation gethostbyaddr - get network host entry gethostbyaddr_r - get network host entry gethostbyname - get network host entry gethostbyname2 - get network host entry gethostbyname2_r - get network host entry gethostbyname_r - get network host entry gethostent - get network host entry gethostent_r - get network host entry getnetbyaddr - get network entry getnetbyaddr_r - get network entry (reentrant) getnetbyname - get network entry getnetbyname_r - get network entry (reentrant) getnetent - get network entry getnetent_r - get network entry (reentrant) getnetgrent - handle network group entries getnetgrent_r - handle network group entries getprotobyname - get protocol entry getprotobyname_r - get protocol entry (reentrant) getprotobynumber - get protocol entry getprotobynumber_r - get protocol entry (reentrant) getprotoent - get protocol entry getprotoent_r - get protocol entry (reentrant) getrpcbyname - get RPC entry getrpcbyname_r - get RPC entry (reentrant) getrpcbynumber - get RPC entry getrpcbynumber_r - get RPC entry (reentrant) getrpcent - get RPC entry getrpcent_r - get RPC entry (reentrant) getservbyname - get service entry getservbyname_r - get service entry (reentrant) getservbyport - get service entry getservbyport_r - get service entry (reentrant) getservent - get service entry getservent_r - get service entry (reentrant) h_errno - get network host entry herror - get network host entry hstrerror - get network host entry innetgr - handle network group entries rexec - return stream to a remote command rexec_af - return stream to a remote command sethostent - get network host entry setnetent - get network entry setnetgrent - handle network group entries setprotoent - get protocol entry setrpcent - get RPC entry setservent - get service entry netinet/in.h dn_comp - resolver routines dn_expand - resolver routines res_init - resolver routines res_mkquery - resolver routines res_nclose - resolver routines res_ninit - resolver routines res_nmkquery - resolver routines res_nquery - resolver routines res_nquerydomain - resolver routines res_nsearch - resolver routines res_nsend - resolver routines res_query - resolver routines res_querydomain - resolver routines res_search - resolver routines res_send - resolver routines resolver - resolver routines nl_types.h catclose - open/close a message catalog catgets - get message from a message catalog catopen - open/close a message catalog poll.h poll - wait for some event on a file descriptor ppoll - wait for some event on a file descriptor pthread.h pthread_attr_destroy - initialize and destroy thread attributes object pthread_attr_getaffinity_np - set/get CPU affinity attribute in thread at... pthread_attr_getdetachstate - set/get detach state attribute in thread at... pthread_attr_getguardsize - set/get guard size attribute in thread attrib... pthread_attr_getinheritsched - set/get inherit-scheduler attribute in thr... pthread_attr_getschedparam - set/get scheduling parameter attributes in t... pthread_attr_getschedpolicy - set/get scheduling policy attribute in thre... pthread_attr_getscope - set/get contention scope attribute in thread attr... pthread_attr_getsigmask_np - set/get signal mask attribute in thread attr... pthread_attr_getstack - set/get stack attributes in thread attributes object pthread_attr_getstackaddr - set/get stack address attribute in thread att... pthread_attr_getstacksize - set/get stack size attribute in thread attrib... pthread_attr_init - initialize and destroy thread attributes object pthread_attr_setaffinity_np - set/get CPU affinity attribute in thread at... pthread_attr_setdetachstate - set/get detach state attribute in thread at... pthread_attr_setguardsize - set/get guard size attribute in thread attrib... pthread_attr_setinheritsched - set/get inherit-scheduler attribute in thr... pthread_attr_setschedparam - set/get scheduling parameter attributes in t... pthread_attr_setschedpolicy - set/get scheduling policy attribute in thre... pthread_attr_setscope - set/get contention scope attribute in thread attr... pthread_attr_setsigmask_np - set/get signal mask attribute in thread attr... pthread_attr_setstack - set/get stack attributes in thread attributes object pthread_attr_setstackaddr - set/get stack address attribute in thread att... pthread_attr_setstacksize - set/get stack size attribute in thread attrib... pthread_cancel - send a cancelation request to a thread pthread_cleanup_pop - push and pop thread cancelation clean-up handlers pthread_cleanup_pop_restore_np - push and pop thread cancelation clean-up... pthread_cleanup_push - push and pop thread cancelation clean-up handlers pthread_cleanup_push_defer_np - push and pop thread cancelation clean-up ... pthread_create - create a new thread pthread_detach - detach a thread pthread_equal - compare thread IDs pthread_exit - terminate calling thread pthread_getaffinity_np - set/get CPU affinity of a thread pthread_getattr_default_np - get or set default thread-creation attributes pthread_getattr_np - get attributes of created thread pthread_getconcurrency - set/get the concurrency level pthread_getcpuclockid - retrieve ID of a thread's CPU time clock pthread_getname_np - set/get the name of a thread pthread_getschedparam - set/get scheduling policy and parameters of a thread pthread_join - join with a terminated thread pthread_kill_other_threads_np - terminate all other threads in process pthread_mutex_consistent - make a robust mutex consistent pthread_mutex_consistent_np - make a robust mutex consistent pthread_mutexattr_getpshared - get/set process-shared mutex attribute pthread_mutexattr_getrobust - get and set the robustness attribute of a m... pthread_mutexattr_getrobust_np - get and set the robustness attribute of ... pthread_mutexattr_setpshared - get/set process-shared mutex attribute pthread_mutexattr_setrobust - get and set the robustness attribute of a m... pthread_mutexattr_setrobust_np - get and set the robustness attribute of ... pthread_rwlockattr_getkind_np - set/get the read-write lock kind of the t... pthread_rwlockattr_setkind_np - set/get the read-write lock kind of the t... pthread_self - obtain ID of the calling thread pthread_setaffinity_np - set/get CPU affinity of a thread pthread_setattr_default_np - get or set default thread-creation attributes pthread_setcancelstate - set cancelability state and type pthread_setcanceltype - set cancelability state and type pthread_setconcurrency - set/get the concurrency level pthread_setname_np - set/get the name of a thread pthread_setschedparam - set/get scheduling policy and parameters of a thread pthread_setschedprio - set scheduling priority of a thread pthread_spin_destroy - initialize or destroy a spin lock pthread_spin_init - initialize or destroy a spin lock pthread_spin_lock - lock and unlock a spin lock pthread_spin_trylock - lock and unlock a spin lock pthread_spin_unlock - lock and unlock a spin lock pthread_testcancel - request delivery of any pending cancelation request pthread_timedjoin_np - try to join with a terminated thread pthread_tryjoin_np - try to join with a terminated thread pthread_yield - yield the processor pwd.h fgetpwent_r - get passwd file entry reentrantly getpwent_r - get passwd file entry reentrantly regex.h regcomp - POSIX regex functions regerror - POSIX regex functions regex - POSIX regex functions regexec - POSIX regex functions regfree - POSIX regex functions sched.h __clone2 - create a child process clone - create a child process clone2 - create a child process clone3 - create a child process CPU_ALLOC - macros for manipulating CPU sets CPU_ALLOC_SIZE - macros for manipulating CPU sets CPU_AND - macros for manipulating CPU sets CPU_AND_S - macros for manipulating CPU sets CPU_CLR - macros for manipulating CPU sets CPU_CLR_S - macros for manipulating CPU sets CPU_COUNT - macros for manipulating CPU sets CPU_COUNT_S - macros for manipulating CPU sets CPU_EQUAL - macros for manipulating CPU sets CPU_EQUAL_S - macros for manipulating CPU sets CPU_FREE - macros for manipulating CPU sets CPU_ISSET - macros for manipulating CPU sets CPU_ISSET_S - macros for manipulating CPU sets CPU_OR - macros for manipulating CPU sets CPU_OR_S - macros for manipulating CPU sets CPU_SET - macros for manipulating CPU sets CPU_SET_S - macros for manipulating CPU sets CPU_XOR - macros for manipulating CPU sets CPU_XOR_S - macros for manipulating CPU sets CPU_ZERO - macros for manipulating CPU sets CPU_ZERO_S - macros for manipulating CPU sets getcpu - determine CPU and NUMA node on which the calling threa... sched_get_priority_max - get static priority range sched_get_priority_min - get static priority range sched_getaffinity - set and get a thread's CPU affinity mask sched_getcpu - determine CPU on which the calling thread is running sched_getparam - set and get scheduling parameters sched_getscheduler - set and get scheduling policy/parameters sched_rr_get_interval - get the SCHED_RR interval for the named process sched_setaffinity - set and get a thread's CPU affinity mask sched_setparam - set and get scheduling parameters sched_setscheduler - set and get scheduling policy/parameters sched_yield - yield the processor setns - reassociate thread with a namespace unshare - disassociate parts of the process execution context search.h hcreate - hash table management hcreate_r - hash table management hdestroy - hash table management hdestroy_r - hash table management hsearch - hash table management hsearch_r - hash table management insque - insert/remove an item from a queue lfind - linear search of an array lsearch - linear search of an array remque - insert/remove an item from a queue tdelete - manage a binary search tree tdestroy - manage a binary search tree tfind - manage a binary search tree tsearch - manage a binary search tree twalk - manage a binary search tree twalk_r - manage a binary search tree semaphore.h sem_close - close a named semaphore sem_destroy - destroy an unnamed semaphore sem_getvalue - get the value of a semaphore sem_init - initialize an unnamed semaphore sem_open - initialize and open a named semaphore sem_post - unlock a semaphore sem_timedwait - lock a semaphore sem_trywait - lock a semaphore sem_unlink - remove a named semaphore sem_wait - lock a semaphore setjmp.h longjmp - performing a nonlocal goto setjmp - performing a nonlocal goto siglongjmp - performing a nonlocal goto sigsetjmp - performing a nonlocal goto signal.h bsd_signal - signal handling with BSD semantics gsignal - software signal facility kill - send signal to a process killpg - send signal to a process group psiginfo - print signal description psignal - print signal description pthread_kill - send a signal to a thread pthread_sigmask - examine and change mask of blocked signals pthread_sigqueue - queue a signal and data to a thread raise - send a signal to the caller rt_sigaction - examine and change a signal action rt_sigpending - examine pending signals rt_sigprocmask - examine and change blocked signals rt_sigsuspend - wait for a signal rt_sigtimedwait - synchronously wait for queued signals sigaction - examine and change a signal action sigaddset - POSIX signal set operations sigaltstack - set and/or get signal stack context sigandset - POSIX signal set operations sigblock - BSD signal API sigdelset - POSIX signal set operations sigemptyset - POSIX signal set operations sigfillset - POSIX signal set operations siggetmask - BSD signal API sighold - System V signal API sigignore - System V signal API siginterrupt - allow signals to interrupt system calls sigisemptyset - POSIX signal set operations sigismember - POSIX signal set operations sigmask - BSD signal API signal - ANSI C signal handling sigorset - POSIX signal set operations sigpause - atomically release blocked signals and wait for interrupt sigpending - examine pending signals sigprocmask - examine and change blocked signals sigqueue - queue a signal and data to a process sigrelse - System V signal API sigset - System V signal API sigsetmask - BSD signal API sigsetops - POSIX signal set operations sigstack - set and/or get signal stack context sigsuspend - wait for a signal sigtimedwait - synchronously wait for queued signals sigvec - BSD signal API sigwait - wait for a signal sigwaitinfo - synchronously wait for queued signals ssignal - software signal facility sysv_signal - signal handling with System V semantics spawn.h posix_spawn - spawn a process posix_spawnp - spawn a process stdarg.h stdarg - variable argument lists va_arg - variable argument lists va_copy - variable argument lists va_end - variable argument lists va_start - variable argument lists stddef.h offsetof - offset of a structure member wcstoimax - convert wide-character string to integer wcstoumax - convert wide-character string to integer stdio.h __fbufsize - interfaces to stdio FILE structure __flbf - interfaces to stdio FILE structure __fpending - interfaces to stdio FILE structure __fpurge - purge a stream __freadable - interfaces to stdio FILE structure __freading - interfaces to stdio FILE structure __fsetlocking - interfaces to stdio FILE structure __fwritable - interfaces to stdio FILE structure __fwriting - interfaces to stdio FILE structure _flushlbf - interfaces to stdio FILE structure addmntent - get filesystem descriptor file entry asprintf - print to allocated string clearerr - check and reset stream status clearerr_unlocked - nonlocking stdio functions ctermid - get controlling terminal name dprintf - formatted output conversion endmntent - get filesystem descriptor file entry fclose - close a stream close a file fcloseall - close all open streams fdopen - stream open functions feof - check and reset stream status feof_unlocked - nonlocking stdio functions ferror - check and reset stream status ferror_unlocked - nonlocking stdio functions fflush - flush a stream fflush_unlocked - nonlocking stdio functions fgetc - input of characters and strings fgetc_unlocked - nonlocking stdio functions fgetgrent - get group file entry fgetpos - reposition a stream fgetpwent - get password file entry fgets - input of characters and strings fgets_unlocked - nonlocking stdio functions fgetwc - read a wide character from a FILE stream fgetwc_unlocked - nonlocking stdio functions fgetws_unlocked - nonlocking stdio functions fileno - obtain file descriptor of a stdio stream fileno_unlocked - nonlocking stdio functions flockfile - lock FILE for stdio fmemopen - open memory as stream fopen - stream open functions open a file fopencookie - open a custom stream fprintf - formatted output conversion print to a file fpurge - purge a stream fputc - output of characters and strings fputc_unlocked - nonlocking stdio functions fputs - output of characters and strings fputs_unlocked - nonlocking stdio functions fputwc - write a wide character to a FILE stream fputwc_unlocked - nonlocking stdio functions fputws_unlocked - nonlocking stdio functions fread - binary stream input/output read bytes from a file fread_unlocked - nonlocking stdio functions freopen - stream open functions fscanf - input FILE format conversion get input from a file fseek - reposition a stream fseeko - seek to or report file position fsetpos - reposition a stream ftell - reposition a stream ftello - seek to or report file position ftrylockfile - lock FILE for stdio funlockfile - lock FILE for stdio fwprintf - formatted wide-character output conversion fwrite - binary stream input/output write bytes to a file fwrite_unlocked - nonlocking stdio functions getc - input of characters and strings getc_unlocked - nonlocking stdio functions getchar - input of characters and strings getchar_unlocked - nonlocking stdio functions getdelim - delimited string input getline - delimited string input getmntent - get filesystem descriptor file entry getmntent_r - get filesystem descriptor file entry gets - get a string from standard input (DEPRECATED) getw - input and output of words (ints) getwc - read a wide character from a FILE stream getwc_unlocked - nonlocking stdio functions getwchar_unlocked - nonlocking stdio functions hasmntopt - get filesystem descriptor file entry open_memstream - open a dynamic memory buffer stream open_wmemstream - open a dynamic memory buffer stream pclose - pipe stream to or from a process perror - print a system error message popen - pipe stream to or from a process printf - formatted output conversion print to the screen putc - output of characters and strings putc_unlocked - nonlocking stdio functions putchar - output of characters and strings putchar_unlocked - nonlocking stdio functions putpwent - write a password file entry puts - output of characters and strings putw - input and output of words (ints) putwc - write a wide character to a FILE stream putwc_unlocked - nonlocking stdio functions putwchar_unlocked - nonlocking stdio functions remove - remove a file or directory rename - change the name or location of a file renameat - change the name or location of a file renameat2 - change the name or location of a file rewind - reposition a stream scanf - input FILE format conversion get input from a user setbuf - stream buffering operations setbuffer - stream buffering operations setlinebuf - stream buffering operations setmntent - get filesystem descriptor file entry setvbuf - stream buffering operations snprintf - formatted output conversion sprintf - formatted output conversion print to a string sscanf - input string format conversion stderr - standard I/O streams stdin - standard I/O streams stdio - standard input/output library functions stdio_ext - interfaces to stdio FILE structure stdout - standard I/O streams swprintf - formatted wide-character output conversion sys_errlist - print a system error message sys_nerr - print a system error message tempnam - create a name for a temporary file tmpfile - create a temporary file tmpnam - create a name for a temporary file tmpnam_r - create a name for a temporary file ungetc - input of characters and strings unlocked_stdio - nonlocking stdio functions vasprintf - print to allocated string vdprintf - formatted output conversion vfprintf - formatted output conversion vfscanf - input FILE format conversion vfwprintf - formatted wide-character output conversion vprintf - formatted output conversion vscanf - input FILE format conversion vsnprintf - formatted output conversion vsprintf - formatted output conversion vsscanf - input string format conversion vswprintf - formatted wide-character output conversion vwprintf - formatted wide-character output conversion wprintf - formatted wide-character output conversion stdlib.h a64l - convert between long and base-64 abort - cause abnormal process termination abs - compute the absolute value of an integer aligned_alloc - allocate aligned memory arc4random - cryptographically-secure pseudorandom number generator arc4random_buf - cryptographically-secure pseudorandom number generator arc4random_uniform - cryptographically-secure pseudorandom number generator atexit - register a function to be called at normal process ter... atof - convert a string to a double convert a string to a float atoi - convert a string to an integer convert a string to an int atol - convert a string to an integer convert a string to a long atoll - convert a string to an integer atoq - convert a string to an integer bsearch - binary search of a sorted array calloc - allocate and free dynamic memory canonicalize_file_name - return the canonicalized absolute pathname cfree - free allocated memory clearenv - clear the environment div - compute quotient and remainder of an integer division drand48 - generate uniformly distributed pseudo-random numbers drand48_r - generate uniformly distributed pseudo-random numbers r... ecvt - convert a floating-point number to a string ecvt_r - convert a floating-point number to a string erand48 - generate uniformly distributed pseudo-random numbers erand48_r - generate uniformly distributed pseudo-random numbers r... exit - cause normal process termination fcvt - convert a floating-point number to a string fcvt_r - convert a floating-point number to a string free - allocate and free dynamic memory free dynamically allocated memory gcvt - convert a floating-point number to a string getenv - get an environment variable getloadavg - get system load averages getpt - open a new pseudoterminal master getsubopt - parse suboption arguments from a string grantpt - grant access to the slave pseudoterminal imaxabs - compute the absolute value of an integer imaxdiv - compute quotient and remainder of an integer division initstate - random number generator initstate_r - reentrant random number generator jrand48 - generate uniformly distributed pseudo-random numbers jrand48_r - generate uniformly distributed pseudo-random numbers r... l64a - convert between long and base-64 labs - compute the absolute value of an integer lcong48 - generate uniformly distributed pseudo-random numbers lcong48_r - generate uniformly distributed pseudo-random numbers r... ldiv - compute quotient and remainder of an integer division llabs - compute the absolute value of an integer lldiv - compute quotient and remainder of an integer division lrand48 - generate uniformly distributed pseudo-random numbers lrand48_r - generate uniformly distributed pseudo-random numbers r... malloc - allocate and free dynamic memory allocate memory dynamically MB_CUR_MAX - maximum length of a multibyte character in the current... mblen - determine number of bytes in next multibyte character mbstowcs - convert a multibyte string to a wide-character string mbtowc - convert a multibyte sequence to a wide character memalign - allocate aligned memory mkdtemp - create a unique temporary directory mkostemp - create a unique temporary file mkostemps - create a unique temporary file mkstemp - create a unique temporary file mkstemps - create a unique temporary file mktemp - make a unique temporary filename mrand48 - generate uniformly distributed pseudo-random numbers mrand48_r - generate uniformly distributed pseudo-random numbers r... nrand48 - generate uniformly distributed pseudo-random numbers nrand48_r - generate uniformly distributed pseudo-random numbers r... on_exit - register a function to be called at normal process ter... posix_memalign - allocate aligned memory posix_openpt - open a pseudoterminal device ptsname - get the name of the slave pseudoterminal ptsname_r - get the name of the slave pseudoterminal putenv - change or add an environment variable pvalloc - allocate aligned memory qecvt - convert a floating-point number to a string qecvt_r - convert a floating-point number to a string qfcvt - convert a floating-point number to a string qfcvt_r - convert a floating-point number to a string qgcvt - convert a floating-point number to a string qsort - sort an array qsort_r - sort an array rand - pseudo-random number generator rand_r - pseudo-random number generator random - random number generator generate a pseudorandom number random_r - reentrant random number generator realloc - allocate and free dynamic memory reallocate memory dynamically reallocarray - allocate and free dynamic memory rpmatch - determine if the answer to a question is affirmative o... secure_getenv - get an environment variable seed48 - generate uniformly distributed pseudo-random numbers seed48_r - generate uniformly distributed pseudo-random numbers r... setenv - change or add an environment variable setstate - random number generator setstate_r - reentrant random number generator srand - pseudo-random number generator srand48 - generate uniformly distributed pseudo-random numbers srand48_r - generate uniformly distributed pseudo-random numbers r... srandom - random number generator seed pseudorandom number generation srandom_r - reentrant random number generator strfromd - convert a floating-point value into a string strfromf - convert a floating-point value into a string strfroml - convert a floating-point value into a string strtod - convert ASCII string to floating-point number strtof - convert ASCII string to floating-point number strtol - convert a string to a long integer strtold - convert ASCII string to floating-point number strtoll - convert a string to a long integer strtoq - convert a string to a long integer strtoul - convert a string to an unsigned long integer strtoull - convert a string to an unsigned long integer strtouq - convert a string to an unsigned long integer system - execute a shell command unlockpt - unlock a pseudoterminal master/slave pair unsetenv - change or add an environment variable valloc - allocate aligned memory wcstombs - convert a wide-character string to a multibyte string wctomb - convert a wide character to a multibyte sequence string.h bstring - byte string operations memccpy - copy memory area memchr - scan memory for a character memcmp - compare memory areas memcpy - copy memory area memfrob - frobnicate (obfuscate) a memory area memmem - locate a substring memmove - copy memory area mempcpy - copy memory area memrchr - scan memory for a character memset - fill memory with a constant byte rawmemchr - scan memory for a character sigabbrev_np - return string describing signal sigdescr_np - return string describing signal stpcpy - copy or catenate a string stpncpy - fill a fixed-size buffer with non-null bytes from a st... strcasestr - locate a substring locate a substring strcat - copy or catenate a string strchr - locate character in string strchrnul - locate character in string strcmp - compare two strings compare two strings strcoll - compare two strings using the current locale strcpy - copy or catenate a string copy a string strcspn - get length of a prefix substring strdup - duplicate a string strdupa - duplicate a string strerror - return string describing error number strerror_l - return string describing error number strerror_r - return string describing error number strerrordesc_np - return string describing error number strerrorname_np - return string describing error number strfry - randomize a string strlen - calculate the length of a string calculate the length of a string strncat - append non-null bytes from a source array to a string,... strncmp - compare two strings strncpy - fill a fixed-size buffer with non-null bytes from a st... strndup - duplicate a string strndupa - duplicate a string strnlen - determine the length of a fixed-size string strpbrk - search a string for any of a set of bytes strrchr - locate character in string strsep - extract token from string strsignal - return string describing signal strspn - get length of a prefix substring strstr - locate a substring locate a substring strtok - extract tokens from strings strtok_r - extract tokens from strings strverscmp - compare two version strings strxfrm - string transformation sys_siglist - return string describing signal wmempcpy - copy memory area strings.h bcmp - compare byte sequences bcopy - copy byte sequence bzero - zero a byte string explicit_bzero - zero a byte string ffs - find first bit set in a word ffsl - find first bit set in a word ffsll - find first bit set in a word index - locate character in string rindex - locate character in string strcasecmp - compare two strings ignoring case compare two strings ignoring case string - string operations strncasecmp - compare two strings ignoring case sys/ipc.h ftok - convert a pathname and a project identifier to a Syste... sys/mman.h madvise - give advice about use of memory memfd_create - create an anonymous file mincore - determine whether pages are resident in memory mlock - lock and unlock memory mlock2 - lock and unlock memory mlockall - lock and unlock memory mmap - map or unmap files or devices into memory mmap64 - map or unmap files or devices into memory mprotect - set protection on a region of memory mremap - remap a virtual memory address msync - synchronize a file with a memory map munlock - lock and unlock memory munlockall - lock and unlock memory munmap - map or unmap files or devices into memory pkey_alloc - allocate or free a protection key pkey_free - allocate or free a protection key pkey_mprotect - set protection on a region of memory posix_madvise - give advice about patterns of memory usage process_madvise - give advice about use of memory to a process remap_file_pages - create a nonlinear file mapping shm_open - create/open or unlink POSIX shared memory objects shm_unlink - create/open or unlink POSIX shared memory objects sys/msg.h msgctl - System V message control operations msgget - get a System V message queue identifier msgop - System V message queue operations msgrcv - System V message queue operations msgsnd - System V message queue operations sys/resource.h getpriority - get/set program scheduling priority getrlimit - get/set resource limits getrusage - get resource usage prlimit - get/set resource limits prlimit64 - get/set resource limits setpriority - get/set program scheduling priority setrlimit - get/set resource limits ugetrlimit - get/set resource limits vlimit - get/set resource limits vtimes - get resource usage sys/select.h _newselect - synchronous I/O multiplexing FD_CLR - synchronous I/O multiplexing FD_ISSET - synchronous I/O multiplexing FD_SET - synchronous I/O multiplexing FD_ZERO - synchronous I/O multiplexing pselect - synchronous I/O multiplexing pselect6 - synchronous I/O multiplexing select - synchronous I/O multiplexing sys/sem.h semctl - System V semaphore control operations semget - get a System V semaphore set identifier semop - System V semaphore operations semtimedop - System V semaphore operations sys/shm.h shmat - System V shared memory operations shmctl - System V shared memory control shmdt - System V shared memory operations shmget - allocates a System V shared memory segment shmop - System V shared memory operations sys/socket.h accept - accept a connection on a socket accept4 - accept a connection on a socket address_families - socket address families (domains) bind - bind a name to a socket cmsg - access ancillary data CMSG_ALIGN - access ancillary data CMSG_DATA - access ancillary data CMSG_FIRSTHDR - access ancillary data CMSG_LEN - access ancillary data CMSG_NXTHDR - access ancillary data CMSG_SPACE - access ancillary data connect - initiate a connection on a socket ddp - Linux AppleTalk protocol implementation getnameinfo - address-to-name translation in protocol-independent ma... getpeername - get name of connected peer socket getsockname - get socket name getsockopt - get and set options on sockets inet - Internet address manipulation routines inet_addr - Internet address manipulation routines inet_aton - Internet address manipulation routines inet_lnaof - Internet address manipulation routines inet_makeaddr - Internet address manipulation routines inet_netof - Internet address manipulation routines inet_network - Internet address manipulation routines inet_ntoa - Internet address manipulation routines ip - Linux IPv4 protocol implementation ipv6 - Linux IPv6 protocol implementation listen - listen for connections on a socket packet - packet interface on device level raw - Linux IPv4 raw sockets recv - receive a message from a socket recvfrom - receive a message from a socket recvmmsg - receive multiple messages on a socket recvmsg - receive a message from a socket send - send a message on a socket sendmmsg - send multiple messages on a socket sendmsg - send a message on a socket sendto - send a message on a socket setsockopt - get and set options on sockets shutdown - shut down part of a full-duplex connection sock_diag - obtaining information about sockets sockatmark - determine whether socket is at out-of-band mark socket - create an endpoint for communication socket - Linux socket interface socketpair - create a pair of connected sockets tcp - TCP protocol udp - User Datagram Protocol for IPv4 udplite - Lightweight User Datagram Protocol unix - sockets for local interprocess communication vsock - Linux VSOCK address family x25 - ITU-T X.25 / ISO/IEC 8208 protocol interface sys/stat.h chmod - change permissions of a file fchmod - change permissions of a file fchmodat - change permissions of a file fstat - get file status fstat64 - get file status fstatat - get file status fstatat64 - get file status futimens - change file timestamps with nanosecond precision isfdtype - test file type of a file descriptor lstat - get file status lstat64 - get file status mkdir - create a directory mkdirat - create a directory mknod - create a special or ordinary file mknodat - create a special or ordinary file newfstatat - get file status oldfstat - get file status oldlstat - get file status oldstat - get file status stat - get file status stat64 - get file status statx - get file status (extended) umask - set file mode creation mask utimensat - change file timestamps with nanosecond precision sys/statvfs.h fstatvfs - get filesystem statistics statvfs - get filesystem statistics sys/time.h adjtime - correct the time to synchronize the system clock futimes - change file timestamps futimesat - change timestamps of a file relative to a directory fi... getitimer - get or set value of an interval timer gettimeofday - get / set time lutimes - change file timestamps setitimer - get or set value of an interval timer settimeofday - get / set time timeradd - timeval operations timerclear - timeval operations timercmp - timeval operations timerisset - timeval operations timersub - timeval operations TIMESPEC_TO_TIMEVAL - convert between time structures TIMEVAL_TO_TIMESPEC - convert between time structures sys/times.h times - get process times sys/types.h bindresvport - bind a socket to a privileged IP port closedir - close a directory db - database access methods dbopen - database access methods dirfd - get directory stream file descriptor endgrent - get group file entry endpwent - get password file entry fdopendir - open a directory freeaddrinfo - network address and service translation freehostent - get network hostnames and addresses freeifaddrs - get interface addresses fts - traverse a file hierarchy fts_children - traverse a file hierarchy fts_close - traverse a file hierarchy fts_open - traverse a file hierarchy fts_read - traverse a file hierarchy fts_set - traverse a file hierarchy gai_strerror - network address and service translation getaddrinfo - network address and service translation getgrent - get group file entry getgrgid - get group file entry getgrgid_r - get group file entry getgrnam - get group file entry getgrnam_r - get group file entry getifaddrs - get interface addresses getipnodebyaddr - get network hostnames and addresses getipnodebyname - get network hostnames and addresses getpw - reconstruct password line entry getpwent - get password file entry getpwnam - get password file entry getpwnam_r - get password file entry getpwuid - get password file entry getpwuid_r - get password file entry initgroups - initialize the supplementary group access list lseek64 - reposition 64-bit read/write file offset mkfifo - make a FIFO special file (a named pipe) mkfifoat - make a FIFO special file (a named pipe) opendir - open a directory re_comp - BSD regex functions re_exec - BSD regex functions rewinddir - reset directory stream setgrent - get group file entry setpwent - get password file entry ustat - get filesystem statistics sys/uio.h preadv - read or write data into multiple buffers preadv2 - read or write data into multiple buffers process_vm_readv - transfer data between process address spaces process_vm_writev - transfer data between process address spaces pwritev - read or write data into multiple buffers pwritev2 - read or write data into multiple buffers readv - read or write data into multiple buffers writev - read or write data into multiple buffers sys/utsname.h oldolduname - get name and information about current kernel olduname - get name and information about current kernel uname - get name and information about current kernel sys/wait.h wait - wait for process to change state wait3 - wait for process to change state, BSD style wait4 - wait for process to change state, BSD style waitid - wait for process to change state waitpid - wait for process to change state syslog.h closelog - send messages to the system logger openlog - send messages to the system logger setlogmask - set log priority mask syslog - send messages to the system logger vsyslog - send messages to the system logger termios.h cfgetispeed - get and set terminal attributes, line control, get and... cfgetospeed - get and set terminal attributes, line control, get and... cfmakeraw - get and set terminal attributes, line control, get and... cfsetispeed - get and set terminal attributes, line control, get and... cfsetospeed - get and set terminal attributes, line control, get and... cfsetspeed - get and set terminal attributes, line control, get and... tcdrain - get and set terminal attributes, line control, get and... tcflow - get and set terminal attributes, line control, get and... tcflush - get and set terminal attributes, line control, get and... tcgetattr - get and set terminal attributes, line control, get and... tcgetsid - get session ID tcsendbreak - get and set terminal attributes, line control, get and... tcsetattr - get and set terminal attributes, line control, get and... termios - get and set terminal attributes, line control, get and... time.h asctime - transform date and time to broken-down time or ASCII asctime_r - transform date and time to broken-down time or ASCII clock - determine processor time clock_getcpuclockid - obtain ID of a process CPU-time clock clock_getres - clock and time functions clock_gettime - clock and time functions clock_nanosleep - high-resolution sleep with specifiable clock clock_settime - clock and time functions ctime - transform date and time to broken-down time or ASCII ctime_r - transform date and time to broken-down time or ASCII daylight - initialize time conversion information difftime - calculate time difference dysize - get number of days for a given year getdate - convert a date-plus-time string to broken-down time getdate_err - convert a date-plus-time string to broken-down time getdate_r - convert a date-plus-time string to broken-down time gmtime - transform date and time to broken-down time or ASCII gmtime_r - transform date and time to broken-down time or ASCII localtime - transform date and time to broken-down time or ASCII localtime_r - transform date and time to broken-down time or ASCII mktime - transform date and time to broken-down time or ASCII nanosleep - high-resolution sleep stime - set time strftime - format date and time strftime_l - format date and time strptime - convert a string representation of time to a time tm s... time - get time in seconds get time in seconds timegm - inverses of gmtime and localtime timelocal - inverses of gmtime and localtime timer_create - create a POSIX per-process timer timer_delete - delete a POSIX per-process timer timer_getoverrun - get overrun count for a POSIX per-process timer timer_gettime - arm/disarm and fetch state of POSIX per-process timer timer_settime - arm/disarm and fetch state of POSIX per-process timer timezone - initialize time conversion information tzname - initialize time conversion information tzset - initialize time conversion information ulimit.h ulimit - get and set user limits unistd.h _Exit - terminate the calling process _exit - terminate the calling process _llseek - reposition read/write file offset _sysctl - read/write system parameters access - check user's permissions for a file acct - switch process accounting on or off alarm - set an alarm clock for delivery of a signal arch_prctl - set architecture-specific thread state brk - change data segment size capget - set/get capabilities of thread(s) capset - set/get capabilities of thread(s) chdir - change working directory chown - change ownership of a file chown32 - change ownership of a file chroot - change root directory close - close a file descriptor close_range - close all file descriptors in a given range confstr - get configuration dependent string variables copy_file_range - Copy a range of data from one file to another cuserid - get username daemon - run in the background delete_module - unload a kernel module dup - duplicate a file descriptor dup2 - duplicate a file descriptor dup3 - duplicate a file descriptor eaccess - check effective user's permissions for a file encrypt - encrypt 64-bit messages encrypt_r - encrypt 64-bit messages endusershell - get permitted user shells euidaccess - check effective user's permissions for a file exec - execute a file execl - execute a file execle - execute a file execlp - execute a file execv - execute a file execve - execute program execveat - execute program relative to a directory file descriptor execvp - execute a file execvpe - execute a file exit - terminate the calling process exit_group - exit all threads in a process faccessat - check user's permissions for a file faccessat2 - check user's permissions for a file fchdir - change working directory fchown - change ownership of a file fchown32 - change ownership of a file fchownat - change ownership of a file fdatasync - synchronize a file's in-core state with storage device fexecve - execute program specified via file descriptor finit_module - load a kernel module fork - create a child process fpathconf - get configuration values for files fsync - synchronize a file's in-core state with storage device ftruncate - truncate a file to a specified length ftruncate64 - truncate a file to a specified length futex - fast user-space locking get_current_dir_name - get current working directory get_robust_list - get/set list of robust futexes get_thread_area - manipulate thread-local storage information getcwd - get current working directory getcwd - get current working directory getdents - get directory entries getdents64 - get directory entries getdomainname - get/set NIS domain name getdtablesize - get file descriptor table size getegid - get group identity getegid32 - get group identity getentropy - fill a buffer with random bytes geteuid - get user identity geteuid32 - get user identity getgid - get group identity getgid32 - get group identity getgroups - get/set list of supplementary group IDs getgroups32 - get/set list of supplementary group IDs gethostid - get or set the unique identifier of the current host gethostname - get/set hostname getlogin - get username getlogin_r - get username getopt - Parse command-line options getopt_long - Parse command-line options getopt_long_only - Parse command-line options getpagesize - get memory page size getpass - get a password getpgid - set/get process group getpgrp - set/get process group getpid - get process identification getppid - get process identification getresgid - get real, effective, and saved user/group IDs getresgid32 - get real, effective, and saved user/group IDs getresuid - get real, effective, and saved user/group IDs getresuid32 - get real, effective, and saved user/group IDs getsid - get session ID gettid - get thread identification getuid - get user identity getuid32 - get user identity getusershell - get permitted user shells getwd - get current working directory group_member - test whether a process is in a group idle - make process 0 idle init_module - load a kernel module io_cancel - cancel an outstanding asynchronous I/O operation io_destroy - destroy an asynchronous I/O context io_getevents - read asynchronous I/O events from the completion queue ioprio_get - get/set I/O scheduling class and priority ioprio_set - get/set I/O scheduling class and priority ipc - System V IPC system calls isatty - test whether a file descriptor refers to a terminal kcmp - compare two processes to determine if they share a ker... kexec_file_load - load a new kernel for later execution kexec_load - load a new kernel for later execution keyctl - manipulate the kernel's key management facility klogctl - read and/or clear kernel message ring buffer; set cons... lchown - change ownership of a file lchown32 - change ownership of a file link - make a new name for a file linkat - make a new name for a file llseek - reposition read/write file offset lockf - apply, test or remove a POSIX lock on an open file lookup_dcookie - return a directory entry's path lseek - reposition read/write file offset membarrier - issue memory barriers on a set of threads memfd_secret - create an anonymous RAM-based file to access secret me... mmap2 - map files or devices into memory modify_ldt - get or set a per-process LDT entry mount_setattr - change properties of a mount or mount tree mq_getsetattr - get/set message queue attributes nice - change process priority openat2 - open and possibly create a file (extended) optarg - Parse command-line options opterr - Parse command-line options optind - Parse command-line options optopt - Parse command-line options pathconf - get configuration values for files pause - wait for signal perf_event_open - set up performance monitoring pidfd_getfd - obtain a duplicate of another process's file descriptor pidfd_open - obtain a file descriptor that refers to a process pidfd_send_signal - send a signal to a process specified by a file descri... pipe - create pipe pipe2 - create pipe pivot_root - change the root mount pread - read from or write to a file descriptor at a given offset pread64 - read from or write to a file descriptor at a given offset profil - execution time profile pwrite - read from or write to a file descriptor at a given offset pwrite64 - read from or write to a file descriptor at a given offset read - read from a file descriptor readdir - read directory entry readlink - read value of a symbolic link readlinkat - read value of a symbolic link reboot - reboot or enable/disable Ctrl-Alt-Del rmdir - delete a directory rt_sigqueueinfo - queue a signal and data rt_tgsigqueueinfo - queue a signal and data s390_guarded_storage - operations with z/Architecture guarded storage fac... s390_pci_mmio_read - transfer data to/from PCI MMIO memory page s390_pci_mmio_write - transfer data to/from PCI MMIO memory page s390_runtime_instr - enable/disable s390 CPU run-time instrumentation s390_sthyi - emulate STHYI instruction sbrk - change data segment size sched_getattr - set and get scheduling policy and attributes sched_setattr - set and get scheduling policy and attributes seccomp - operate on Secure Computing state of the process set_robust_list - get/set list of robust futexes set_thread_area - manipulate thread-local storage information set_tid_address - set pointer to thread ID setdomainname - get/set NIS domain name setegid - set effective user or group ID seteuid - set effective user or group ID setgid - set group identity setgid32 - set group identity setgroups - get/set list of supplementary group IDs setgroups32 - get/set list of supplementary group IDs sethostid - get or set the unique identifier of the current host sethostname - get/set hostname setkey - encrypt 64-bit messages setkey_r - encrypt 64-bit messages setpgid - set/get process group setpgrp - set/get process group setregid - set real and/or effective user or group ID setregid32 - set real and/or effective user or group ID setresgid - set real, effective, and saved user or group ID setresgid32 - set real, effective, and saved user or group ID setresuid - set real, effective, and saved user or group ID setresuid32 - set real, effective, and saved user or group ID setreuid - set real and/or effective user or group ID setreuid32 - set real and/or effective user or group ID setsid - creates a session and sets the process group ID setuid - set user identity setuid32 - set user identity setup - setup devices and filesystems, mount root filesystem setusershell - get permitted user shells sgetmask - manipulation of signal mask (obsolete) sleep - sleep for a specified number of seconds socketcall - socket system calls spu_create - create a new spu context spu_run - execute an SPU context ssetmask - manipulation of signal mask (obsolete) subpage_prot - define a subpage protection for an address range swab - swap adjacent bytes symlink - make a new name for a file symlinkat - make a new name for a file sync - commit filesystem caches to disk syncfs - commit filesystem caches to disk syscall - indirect system call sysconf - get configuration information at run time sysctl - read/write system parameters syslog - read and/or clear kernel message ring buffer; set cons... tcgetpgrp - get and set terminal foreground process group tcsetpgrp - get and set terminal foreground process group tgkill - send a signal to a thread tkill - send a signal to a thread truncate - truncate a file to a specified length truncate64 - truncate a file to a specified length ttyname - return name of a terminal ttyname_r - return name of a terminal ualarm - schedule signal after given number of microseconds unlink - delete a name and possibly the file it refers to unlinkat - delete a name and possibly the file it refers to uselib - load shared library userfaultfd - create a file descriptor for handling page faults in u... usleep - suspend execution for microsecond intervals vfork - create a child process and block parent vhangup - virtually hangup the current terminal write - write to a file descriptor utime.h utime - change file last access and modification times utimes - change file last access and modification times utmpx.h getutmp - copy utmp structure to utmpx, and vice versa getutmpx - copy utmp structure to utmpx, and vice versa wchar.h btowc - convert single byte to wide character fgetws - read a wide-character string from a FILE stream fputws - write a wide-character string to a FILE stream fwide - set and determine the orientation of a FILE stream getwchar - read a wide character from standard input mbrlen - determine number of bytes in next multibyte character mbrtowc - convert a multibyte sequence to a wide character mbsinit - test for initial shift state mbsnrtowcs - convert a multibyte string to a wide-character string mbsrtowcs - convert a multibyte string to a wide-character string ... putwchar - write a wide character to standard output ungetwc - push back a wide character onto a FILE stream wcpcpy - copy a wide-character string, returning a pointer to i... wcpncpy - copy a fixed-size string of wide characters, returning... wcrtomb - convert a wide character to a multibyte sequence wcscasecmp - compare two wide-character strings, ignoring case wcscat - concatenate two wide-character strings wcschr - search a wide character in a wide-character string wcscmp - compare two wide-character strings wcscpy - copy a wide-character string wcscspn - search a wide-character string for any of a set of wid... wcsdup - duplicate a wide-character string wcslen - determine the length of a wide-character string wcsncasecmp - compare two fixed-size wide-character strings, ignorin... wcsncat - concatenate two wide-character strings wcsncmp - compare two fixed-size wide-character strings wcsncpy - copy a fixed-size string of wide characters wcsnlen - determine the length of a fixed-size wide-character st... wcsnrtombs - convert a wide-character string to a multibyte string wcspbrk - search a wide-character string for any of a set of wid... wcsrchr - search a wide character in a wide-character string wcsrtombs - convert a wide-character string to a multibyte string wcsspn - get length of a prefix wide-character substring wcsstr - locate a substring in a wide-character string wcstok - split wide-character string into tokens wcswidth - determine columns needed for a fixed-size wide-charact... wctob - try to represent a wide character as a single byte wcwidth - determine columns needed for a wide character wmemchr - search a wide character in a wide-character array wmemcmp - compare two arrays of wide-characters wmemcpy - copy an array of wide-characters wmemmove - copy an array of wide-characters wmemset - fill an array of wide-characters with a constant wide ... wctype.h iswalnum - test for alphanumeric wide character iswalpha - test for alphabetic wide character iswblank - test for whitespace wide character iswcntrl - test for control wide character iswctype - wide-character classification iswdigit - test for decimal digit wide character iswgraph - test for graphic wide character iswlower - test for lowercase wide character iswprint - test for printing wide character iswpunct - test for punctuation or symbolic wide character iswspace - test for whitespace wide character iswupper - test for uppercase wide character iswxdigit - test for hexadecimal digit wide character towctrans - wide-character transliteration towlower - convert a wide character to lowercase towlower_l - convert a wide character to lowercase towupper - convert a wide character to uppercase towupper_l - convert a wide character to uppercase wctrans - wide-character translation mapping wctype - wide-character classification wordexp.h wordexp - perform word expansion like a posix-shell wordfree - perform word expansion like a posix-shell
Markdown
[CS50 Manual Pages](https://manual.cs50.io/) Manual pages for the C standard library, the C POSIX library, and the CS50 Library for [those less comfortable](). # [aio.h](https://manual.cs50.io/#aio.h) - [aio\_cancel](https://manual.cs50.io/3/aio_cancel) - cancel an outstanding asynchronous I/O request - [aio\_error](https://manual.cs50.io/3/aio_error) - get error status of asynchronous I/O operation - [aio\_fsync](https://manual.cs50.io/3/aio_fsync) - asynchronous file synchronization - [aio\_init](https://manual.cs50.io/3/aio_init) - asynchronous I/O initialization - [aio\_read](https://manual.cs50.io/3/aio_read) - asynchronous read - [aio\_return](https://manual.cs50.io/3/aio_return) - get return status of asynchronous I/O operation - [aio\_suspend](https://manual.cs50.io/3/aio_suspend) - wait for asynchronous I/O operation or timeout - [aio\_write](https://manual.cs50.io/3/aio_write) - asynchronous write - [lio\_listio](https://manual.cs50.io/3/lio_listio) - initiate a list of I/O requests # [arpa/inet.h](https://manual.cs50.io/#arpa/inet.h) - [byteorder](https://manual.cs50.io/3/byteorder) - convert values between host and network byte order - [htonl](https://manual.cs50.io/3/htonl) - convert values between host and network byte order - [htons](https://manual.cs50.io/3/htons) - convert values between host and network byte order - [inet\_net\_ntop](https://manual.cs50.io/3/inet_net_ntop) - Internet network number conversion - [inet\_net\_pton](https://manual.cs50.io/3/inet_net_pton) - Internet network number conversion - [inet\_ntop](https://manual.cs50.io/3/inet_ntop) - convert IPv4 and IPv6 addresses from binary to text form - [inet\_pton](https://manual.cs50.io/3/inet_pton) - convert IPv4 and IPv6 addresses from text to binary form - [ntohl](https://manual.cs50.io/3/ntohl) - convert values between host and network byte order - [ntohs](https://manual.cs50.io/3/ntohs) - convert values between host and network byte order # [assert.h](https://manual.cs50.io/#assert.h) - [\_Static\_assert](https://manual.cs50.io/3/_Static_assert) - fail compilation if assertion is false - [assert](https://manual.cs50.io/3/assert) - abort the program if assertion is false - [assert\_perror](https://manual.cs50.io/3/assert_perror) - test errnum and abort - [static\_assert](https://manual.cs50.io/3/static_assert) - fail compilation if assertion is false # [complex.h](https://manual.cs50.io/#complex.h) - [cabs](https://manual.cs50.io/3/cabs) - absolute value of a complex number - [cabsf](https://manual.cs50.io/3/cabsf) - absolute value of a complex number - [cabsl](https://manual.cs50.io/3/cabsl) - absolute value of a complex number - [cacos](https://manual.cs50.io/3/cacos) - complex arc cosine - [cacosf](https://manual.cs50.io/3/cacosf) - complex arc cosine - [cacosh](https://manual.cs50.io/3/cacosh) - complex arc hyperbolic cosine - [cacoshf](https://manual.cs50.io/3/cacoshf) - complex arc hyperbolic cosine - [cacoshl](https://manual.cs50.io/3/cacoshl) - complex arc hyperbolic cosine - [cacosl](https://manual.cs50.io/3/cacosl) - complex arc cosine - [carg](https://manual.cs50.io/3/carg) - calculate the complex argument - [cargf](https://manual.cs50.io/3/cargf) - calculate the complex argument - [cargl](https://manual.cs50.io/3/cargl) - calculate the complex argument - [casin](https://manual.cs50.io/3/casin) - complex arc sine - [casinf](https://manual.cs50.io/3/casinf) - complex arc sine - [casinh](https://manual.cs50.io/3/casinh) - complex arc sine hyperbolic - [casinhf](https://manual.cs50.io/3/casinhf) - complex arc sine hyperbolic - [casinhl](https://manual.cs50.io/3/casinhl) - complex arc sine hyperbolic - [casinl](https://manual.cs50.io/3/casinl) - complex arc sine - [catan](https://manual.cs50.io/3/catan) - complex arc tangents - [catanf](https://manual.cs50.io/3/catanf) - complex arc tangents - [catanh](https://manual.cs50.io/3/catanh) - complex arc tangents hyperbolic - [catanhf](https://manual.cs50.io/3/catanhf) - complex arc tangents hyperbolic - [catanhl](https://manual.cs50.io/3/catanhl) - complex arc tangents hyperbolic - [catanl](https://manual.cs50.io/3/catanl) - complex arc tangents - [ccos](https://manual.cs50.io/3/ccos) - complex cosine function - [ccosf](https://manual.cs50.io/3/ccosf) - complex cosine function - [ccosh](https://manual.cs50.io/3/ccosh) - complex hyperbolic cosine - [ccoshf](https://manual.cs50.io/3/ccoshf) - complex hyperbolic cosine - [ccoshl](https://manual.cs50.io/3/ccoshl) - complex hyperbolic cosine - [ccosl](https://manual.cs50.io/3/ccosl) - complex cosine function - [cexp](https://manual.cs50.io/3/cexp) - complex exponential function - [cexp2](https://manual.cs50.io/3/cexp2) - base-2 exponent of a complex number - [cexp2f](https://manual.cs50.io/3/cexp2f) - base-2 exponent of a complex number - [cexp2l](https://manual.cs50.io/3/cexp2l) - base-2 exponent of a complex number - [cexpf](https://manual.cs50.io/3/cexpf) - complex exponential function - [cexpl](https://manual.cs50.io/3/cexpl) - complex exponential function - [cimag](https://manual.cs50.io/3/cimag) - get imaginary part of a complex number - [cimagf](https://manual.cs50.io/3/cimagf) - get imaginary part of a complex number - [cimagl](https://manual.cs50.io/3/cimagl) - get imaginary part of a complex number - [clog](https://manual.cs50.io/3/clog) - natural logarithm of a complex number - [clog10](https://manual.cs50.io/3/clog10) - base-10 logarithm of a complex number - [clog10f](https://manual.cs50.io/3/clog10f) - base-10 logarithm of a complex number - [clog10l](https://manual.cs50.io/3/clog10l) - base-10 logarithm of a complex number - [clog2](https://manual.cs50.io/3/clog2) - base-2 logarithm of a complex number - [clog2f](https://manual.cs50.io/3/clog2f) - base-2 logarithm of a complex number - [clog2l](https://manual.cs50.io/3/clog2l) - base-2 logarithm of a complex number - [clogf](https://manual.cs50.io/3/clogf) - natural logarithm of a complex number - [clogl](https://manual.cs50.io/3/clogl) - natural logarithm of a complex number - [complex](https://manual.cs50.io/7/complex) - basics of complex mathematics - [conj](https://manual.cs50.io/3/conj) - calculate the complex conjugate - [conjf](https://manual.cs50.io/3/conjf) - calculate the complex conjugate - [conjl](https://manual.cs50.io/3/conjl) - calculate the complex conjugate - [cpow](https://manual.cs50.io/3/cpow) - complex power function - [cpowf](https://manual.cs50.io/3/cpowf) - complex power function - [cpowl](https://manual.cs50.io/3/cpowl) - complex power function - [cproj](https://manual.cs50.io/3/cproj) - project into Riemann Sphere - [cprojf](https://manual.cs50.io/3/cprojf) - project into Riemann Sphere - [cprojl](https://manual.cs50.io/3/cprojl) - project into Riemann Sphere - [creal](https://manual.cs50.io/3/creal) - get real part of a complex number - [crealf](https://manual.cs50.io/3/crealf) - get real part of a complex number - [creall](https://manual.cs50.io/3/creall) - get real part of a complex number - [csin](https://manual.cs50.io/3/csin) - complex sine function - [csinf](https://manual.cs50.io/3/csinf) - complex sine function - [csinh](https://manual.cs50.io/3/csinh) - complex hyperbolic sine - [csinhf](https://manual.cs50.io/3/csinhf) - complex hyperbolic sine - [csinhl](https://manual.cs50.io/3/csinhl) - complex hyperbolic sine - [csinl](https://manual.cs50.io/3/csinl) - complex sine function - [csqrt](https://manual.cs50.io/3/csqrt) - complex square root - [csqrtf](https://manual.cs50.io/3/csqrtf) - complex square root - [csqrtl](https://manual.cs50.io/3/csqrtl) - complex square root - [ctan](https://manual.cs50.io/3/ctan) - complex tangent function - [ctanf](https://manual.cs50.io/3/ctanf) - complex tangent function - [ctanh](https://manual.cs50.io/3/ctanh) - complex hyperbolic tangent - [ctanhf](https://manual.cs50.io/3/ctanhf) - complex hyperbolic tangent - [ctanhl](https://manual.cs50.io/3/ctanhl) - complex hyperbolic tangent - [ctanl](https://manual.cs50.io/3/ctanl) - complex tangent function # [cs50.h](https://manual.cs50.io/#cs50.h) - [get\_char](https://manual.cs50.io/3/get_char) - prompts user for a line of text from stdin and returns... prompt a user for a `char` - [get\_double](https://manual.cs50.io/3/get_double) - prompts user for a line of text from stdin and returns... prompt a user for a `double` - [get\_float](https://manual.cs50.io/3/get_float) - prompts user for a line of text from stdin and returns... prompt a user for a `float` - [get\_int](https://manual.cs50.io/3/get_int) - prompts user for a line of text from stdin and returns... prompt a user for an `int` - [get\_long](https://manual.cs50.io/3/get_long) - prompts user for a line of text from stdin and returns... prompt a user for an `long` - [get\_long\_long](https://manual.cs50.io/3/get_long_long) - prompts user for a line of text from stdin and returns... - [get\_string](https://manual.cs50.io/3/get_string) - prompts user for a line of text from stdin and returns... prompt a user for a `string` # [ctype.h](https://manual.cs50.io/#ctype.h) - [isalnum](https://manual.cs50.io/3/isalnum) - character classification functions check whether a character is alphanumeric - [isalnum\_l](https://manual.cs50.io/3/isalnum_l) - character classification functions - [isalpha](https://manual.cs50.io/3/isalpha) - character classification functions check whether a character is alphabetical - [isalpha\_l](https://manual.cs50.io/3/isalpha_l) - character classification functions - [isascii](https://manual.cs50.io/3/isascii) - character classification functions - [isascii\_l](https://manual.cs50.io/3/isascii_l) - character classification functions - [isblank](https://manual.cs50.io/3/isblank) - character classification functions check whether a character is blank (i.e., a space or tab) - [isblank\_l](https://manual.cs50.io/3/isblank_l) - character classification functions - [iscntrl](https://manual.cs50.io/3/iscntrl) - character classification functions - [iscntrl\_l](https://manual.cs50.io/3/iscntrl_l) - character classification functions - [isdigit](https://manual.cs50.io/3/isdigit) - character classification functions check whether a character is a digit - [isdigit\_l](https://manual.cs50.io/3/isdigit_l) - character classification functions - [isgraph](https://manual.cs50.io/3/isgraph) - character classification functions - [isgraph\_l](https://manual.cs50.io/3/isgraph_l) - character classification functions - [islower](https://manual.cs50.io/3/islower) - character classification functions check whether a character is lowercase - [islower\_l](https://manual.cs50.io/3/islower_l) - character classification functions - [isprint](https://manual.cs50.io/3/isprint) - character classification functions - [isprint\_l](https://manual.cs50.io/3/isprint_l) - character classification functions - [ispunct](https://manual.cs50.io/3/ispunct) - character classification functions check whether a character is punctuation - [ispunct\_l](https://manual.cs50.io/3/ispunct_l) - character classification functions - [isspace](https://manual.cs50.io/3/isspace) - character classification functions check whether a character is whitespace (e.g., a newline, space, or tab) - [isspace\_l](https://manual.cs50.io/3/isspace_l) - character classification functions - [isupper](https://manual.cs50.io/3/isupper) - character classification functions check whether a character is uppercase - [isupper\_l](https://manual.cs50.io/3/isupper_l) - character classification functions - [isxdigit](https://manual.cs50.io/3/isxdigit) - character classification functions - [isxdigit\_l](https://manual.cs50.io/3/isxdigit_l) - character classification functions - [toascii](https://manual.cs50.io/3/toascii) - convert character to ASCII - [tolower](https://manual.cs50.io/3/tolower) - convert uppercase or lowercase convert a `char` to lowercase - [tolower\_l](https://manual.cs50.io/3/tolower_l) - convert uppercase or lowercase - [toupper](https://manual.cs50.io/3/toupper) - convert uppercase or lowercase convert a `char` to uppercase - [toupper\_l](https://manual.cs50.io/3/toupper_l) - convert uppercase or lowercase # [dirent.h](https://manual.cs50.io/#dirent.h) - [alphasort](https://manual.cs50.io/3/alphasort) - scan a directory for matching entries - [getdirentries](https://manual.cs50.io/3/getdirentries) - get directory entries in a filesystem-independent format - [readdir](https://manual.cs50.io/3/readdir) - read a directory - [readdir\_r](https://manual.cs50.io/3/readdir_r) - read a directory - [scandir](https://manual.cs50.io/3/scandir) - scan a directory for matching entries - [scandirat](https://manual.cs50.io/3/scandirat) - scan a directory for matching entries - [seekdir](https://manual.cs50.io/3/seekdir) - set the position of the next readdir() call in the dir... - [telldir](https://manual.cs50.io/3/telldir) - return current location in directory stream - [versionsort](https://manual.cs50.io/3/versionsort) - scan a directory for matching entries # [dlfcn.h](https://manual.cs50.io/#dlfcn.h) - [dladdr](https://manual.cs50.io/3/dladdr) - translate address to symbolic information - [dladdr1](https://manual.cs50.io/3/dladdr1) - translate address to symbolic information - [dlclose](https://manual.cs50.io/3/dlclose) - open and close a shared object - [dlerror](https://manual.cs50.io/3/dlerror) - obtain error diagnostic for functions in the dlopen API - [dlmopen](https://manual.cs50.io/3/dlmopen) - open and close a shared object - [dlopen](https://manual.cs50.io/3/dlopen) - open and close a shared object - [dlsym](https://manual.cs50.io/3/dlsym) - obtain address of a symbol in a shared object or execu... - [dlvsym](https://manual.cs50.io/3/dlvsym) - obtain address of a symbol in a shared object or execu... # [errno.h](https://manual.cs50.io/#errno.h) - [errno](https://manual.cs50.io/3/errno) - number of last error - [program\_invocation\_name](https://manual.cs50.io/3/program_invocation_name) - obtain name used to invoke calling program - [program\_invocation\_short\_name](https://manual.cs50.io/3/program_invocation_short_name) - obtain name used to invoke calling program # [fcntl.h](https://manual.cs50.io/#fcntl.h) - [arm\_fadvise](https://manual.cs50.io/2/arm_fadvise) - predeclare an access pattern for file data - [arm\_fadvise64\_64](https://manual.cs50.io/2/arm_fadvise64_64) - predeclare an access pattern for file data - [arm\_sync\_file\_range](https://manual.cs50.io/2/arm_sync_file_range) - sync a file segment with disk - [creat](https://manual.cs50.io/2/creat) - open and possibly create a file - [fadvise64](https://manual.cs50.io/2/fadvise64) - predeclare an access pattern for file data - [fadvise64\_64](https://manual.cs50.io/2/fadvise64_64) - predeclare an access pattern for file data - [fallocate](https://manual.cs50.io/2/fallocate) - manipulate file space - [fcntl](https://manual.cs50.io/2/fcntl) - manipulate file descriptor - [fcntl64](https://manual.cs50.io/2/fcntl64) - manipulate file descriptor - [name\_to\_handle\_at](https://manual.cs50.io/2/name_to_handle_at) - obtain handle for a pathname and open file via a handle - [open](https://manual.cs50.io/2/open) - open and possibly create a file - [open\_by\_handle\_at](https://manual.cs50.io/2/open_by_handle_at) - obtain handle for a pathname and open file via a handle - [openat](https://manual.cs50.io/2/openat) - open and possibly create a file - [posix\_fadvise](https://manual.cs50.io/2/posix_fadvise) - predeclare an access pattern for file data - [posix\_fallocate](https://manual.cs50.io/3/posix_fallocate) - allocate file space - [readahead](https://manual.cs50.io/2/readahead) - initiate file readahead into page cache - [splice](https://manual.cs50.io/2/splice) - splice data to/from a pipe - [sync\_file\_range](https://manual.cs50.io/2/sync_file_range) - sync a file segment with disk - [sync\_file\_range2](https://manual.cs50.io/2/sync_file_range2) - sync a file segment with disk - [tee](https://manual.cs50.io/2/tee) - duplicating pipe content - [vmsplice](https://manual.cs50.io/2/vmsplice) - splice user pages to/from a pipe # [fenv.h](https://manual.cs50.io/#fenv.h) - [feclearexcept](https://manual.cs50.io/3/feclearexcept) - floating-point rounding and exception handling - [fedisableexcept](https://manual.cs50.io/3/fedisableexcept) - floating-point rounding and exception handling - [feenableexcept](https://manual.cs50.io/3/feenableexcept) - floating-point rounding and exception handling - [fegetenv](https://manual.cs50.io/3/fegetenv) - floating-point rounding and exception handling - [fegetexcept](https://manual.cs50.io/3/fegetexcept) - floating-point rounding and exception handling - [fegetexceptflag](https://manual.cs50.io/3/fegetexceptflag) - floating-point rounding and exception handling - [fegetround](https://manual.cs50.io/3/fegetround) - floating-point rounding and exception handling - [feholdexcept](https://manual.cs50.io/3/feholdexcept) - floating-point rounding and exception handling - [fenv](https://manual.cs50.io/3/fenv) - floating-point rounding and exception handling - [feraiseexcept](https://manual.cs50.io/3/feraiseexcept) - floating-point rounding and exception handling - [fesetenv](https://manual.cs50.io/3/fesetenv) - floating-point rounding and exception handling - [fesetexceptflag](https://manual.cs50.io/3/fesetexceptflag) - floating-point rounding and exception handling - [fesetround](https://manual.cs50.io/3/fesetround) - floating-point rounding and exception handling - [fetestexcept](https://manual.cs50.io/3/fetestexcept) - floating-point rounding and exception handling - [feupdateenv](https://manual.cs50.io/3/feupdateenv) - floating-point rounding and exception handling # [fmtmsg.h](https://manual.cs50.io/#fmtmsg.h) - [addseverity](https://manual.cs50.io/3/addseverity) - introduce new severity classes - [fmtmsg](https://manual.cs50.io/3/fmtmsg) - print formatted error messages # [fnmatch.h](https://manual.cs50.io/#fnmatch.h) - [fnmatch](https://manual.cs50.io/3/fnmatch) - match filename or pathname # [ftw.h](https://manual.cs50.io/#ftw.h) - [ftw](https://manual.cs50.io/3/ftw) - file tree walk - [nftw](https://manual.cs50.io/3/nftw) - file tree walk # [glob.h](https://manual.cs50.io/#glob.h) - [glob](https://manual.cs50.io/3/glob) - find pathnames matching a pattern, free memory from gl... - [globfree](https://manual.cs50.io/3/globfree) - find pathnames matching a pattern, free memory from gl... # [grp.h](https://manual.cs50.io/#grp.h) - [fgetgrent\_r](https://manual.cs50.io/3/fgetgrent_r) - get group file entry reentrantly - [getgrent\_r](https://manual.cs50.io/3/getgrent_r) - get group file entry reentrantly - [getgrouplist](https://manual.cs50.io/3/getgrouplist) - get list of groups to which a user belongs - [putgrent](https://manual.cs50.io/3/putgrent) - write a group database entry to a file # [iconv.h](https://manual.cs50.io/#iconv.h) - [iconv](https://manual.cs50.io/3/iconv) - perform character set conversion - [iconv\_close](https://manual.cs50.io/3/iconv_close) - deallocate descriptor for character set conversion - [iconv\_open](https://manual.cs50.io/3/iconv_open) - allocate descriptor for character set conversion # [inttypes.h](https://manual.cs50.io/#inttypes.h) - [strtoimax](https://manual.cs50.io/3/strtoimax) - convert string to integer - [strtoumax](https://manual.cs50.io/3/strtoumax) - convert string to integer # [langinfo.h](https://manual.cs50.io/#langinfo.h) - [nl\_langinfo](https://manual.cs50.io/3/nl_langinfo) - query language and locale information - [nl\_langinfo\_l](https://manual.cs50.io/3/nl_langinfo_l) - query language and locale information # [libgen.h](https://manual.cs50.io/#libgen.h) - [basename](https://manual.cs50.io/3/basename) - parse pathname components - [dirname](https://manual.cs50.io/3/dirname) - parse pathname components # [limits.h](https://manual.cs50.io/#limits.h) - [MB\_LEN\_MAX](https://manual.cs50.io/3/MB_LEN_MAX) - maximum multibyte length of a character across all loc... - [realpath](https://manual.cs50.io/3/realpath) - return the canonicalized absolute pathname # [locale.h](https://manual.cs50.io/#locale.h) - [duplocale](https://manual.cs50.io/3/duplocale) - duplicate a locale object - [freelocale](https://manual.cs50.io/3/freelocale) - create, modify, and free a locale object - [locale](https://manual.cs50.io/7/locale) - description of multilanguage support - [localeconv](https://manual.cs50.io/3/localeconv) - get numeric formatting information - [newlocale](https://manual.cs50.io/3/newlocale) - create, modify, and free a locale object - [setlocale](https://manual.cs50.io/3/setlocale) - set the current locale - [uselocale](https://manual.cs50.io/3/uselocale) - set/get the locale for the calling thread # [math.h](https://manual.cs50.io/#math.h) - [acos](https://manual.cs50.io/3/acos) - arc cosine function - [acosf](https://manual.cs50.io/3/acosf) - arc cosine function - [acosh](https://manual.cs50.io/3/acosh) - inverse hyperbolic cosine function - [acoshf](https://manual.cs50.io/3/acoshf) - inverse hyperbolic cosine function - [acoshl](https://manual.cs50.io/3/acoshl) - inverse hyperbolic cosine function - [acosl](https://manual.cs50.io/3/acosl) - arc cosine function - [asin](https://manual.cs50.io/3/asin) - arc sine function - [asinf](https://manual.cs50.io/3/asinf) - arc sine function - [asinh](https://manual.cs50.io/3/asinh) - inverse hyperbolic sine function - [asinhf](https://manual.cs50.io/3/asinhf) - inverse hyperbolic sine function - [asinhl](https://manual.cs50.io/3/asinhl) - inverse hyperbolic sine function - [asinl](https://manual.cs50.io/3/asinl) - arc sine function - [atan](https://manual.cs50.io/3/atan) - arc tangent function - [atan2](https://manual.cs50.io/3/atan2) - arc tangent function of two variables - [atan2f](https://manual.cs50.io/3/atan2f) - arc tangent function of two variables - [atan2l](https://manual.cs50.io/3/atan2l) - arc tangent function of two variables - [atanf](https://manual.cs50.io/3/atanf) - arc tangent function - [atanh](https://manual.cs50.io/3/atanh) - inverse hyperbolic tangent function - [atanhf](https://manual.cs50.io/3/atanhf) - inverse hyperbolic tangent function - [atanhl](https://manual.cs50.io/3/atanhl) - inverse hyperbolic tangent function - [atanl](https://manual.cs50.io/3/atanl) - arc tangent function - [cbrt](https://manual.cs50.io/3/cbrt) - cube root function - [cbrtf](https://manual.cs50.io/3/cbrtf) - cube root function - [cbrtl](https://manual.cs50.io/3/cbrtl) - cube root function - [ceil](https://manual.cs50.io/3/ceil) - ceiling function: smallest integral value not less tha... calculate the ceiling of a number - [ceilf](https://manual.cs50.io/3/ceilf) - ceiling function: smallest integral value not less tha... - [ceill](https://manual.cs50.io/3/ceill) - ceiling function: smallest integral value not less tha... - [copysign](https://manual.cs50.io/3/copysign) - copy sign of a number - [copysignf](https://manual.cs50.io/3/copysignf) - copy sign of a number - [copysignl](https://manual.cs50.io/3/copysignl) - copy sign of a number - [cos](https://manual.cs50.io/3/cos) - cosine function - [cosf](https://manual.cs50.io/3/cosf) - cosine function - [cosh](https://manual.cs50.io/3/cosh) - hyperbolic cosine function - [coshf](https://manual.cs50.io/3/coshf) - hyperbolic cosine function - [coshl](https://manual.cs50.io/3/coshl) - hyperbolic cosine function - [cosl](https://manual.cs50.io/3/cosl) - cosine function - [drem](https://manual.cs50.io/3/drem) - floating-point remainder function - [dremf](https://manual.cs50.io/3/dremf) - floating-point remainder function - [dreml](https://manual.cs50.io/3/dreml) - floating-point remainder function - [erf](https://manual.cs50.io/3/erf) - error function - [erfc](https://manual.cs50.io/3/erfc) - complementary error function - [erfcf](https://manual.cs50.io/3/erfcf) - complementary error function - [erfcl](https://manual.cs50.io/3/erfcl) - complementary error function - [erff](https://manual.cs50.io/3/erff) - error function - [erfl](https://manual.cs50.io/3/erfl) - error function - [exp](https://manual.cs50.io/3/exp) - base-e exponential function - [exp10](https://manual.cs50.io/3/exp10) - base-10 exponential function - [exp10f](https://manual.cs50.io/3/exp10f) - base-10 exponential function - [exp10l](https://manual.cs50.io/3/exp10l) - base-10 exponential function - [exp2](https://manual.cs50.io/3/exp2) - base-2 exponential function - [exp2f](https://manual.cs50.io/3/exp2f) - base-2 exponential function - [exp2l](https://manual.cs50.io/3/exp2l) - base-2 exponential function - [expf](https://manual.cs50.io/3/expf) - base-e exponential function - [expl](https://manual.cs50.io/3/expl) - base-e exponential function - [expm1](https://manual.cs50.io/3/expm1) - exponential minus 1 - [expm1f](https://manual.cs50.io/3/expm1f) - exponential minus 1 - [expm1l](https://manual.cs50.io/3/expm1l) - exponential minus 1 - [fabs](https://manual.cs50.io/3/fabs) - absolute value of floating-point number - [fabsf](https://manual.cs50.io/3/fabsf) - absolute value of floating-point number - [fabsl](https://manual.cs50.io/3/fabsl) - absolute value of floating-point number - [fdim](https://manual.cs50.io/3/fdim) - positive difference - [fdimf](https://manual.cs50.io/3/fdimf) - positive difference - [fdiml](https://manual.cs50.io/3/fdiml) - positive difference - [finite](https://manual.cs50.io/3/finite) - BSD floating-point classification functions - [finitef](https://manual.cs50.io/3/finitef) - BSD floating-point classification functions - [finitel](https://manual.cs50.io/3/finitel) - BSD floating-point classification functions - [floor](https://manual.cs50.io/3/floor) - largest integral value not greater than argument calculate the floor of a number - [floorf](https://manual.cs50.io/3/floorf) - largest integral value not greater than argument - [floorl](https://manual.cs50.io/3/floorl) - largest integral value not greater than argument - [fma](https://manual.cs50.io/3/fma) - floating-point multiply and add - [fmaf](https://manual.cs50.io/3/fmaf) - floating-point multiply and add - [fmal](https://manual.cs50.io/3/fmal) - floating-point multiply and add - [fmax](https://manual.cs50.io/3/fmax) - determine maximum of two floating-point numbers - [fmaxf](https://manual.cs50.io/3/fmaxf) - determine maximum of two floating-point numbers - [fmaxl](https://manual.cs50.io/3/fmaxl) - determine maximum of two floating-point numbers - [fmin](https://manual.cs50.io/3/fmin) - determine minimum of two floating-point numbers - [fminf](https://manual.cs50.io/3/fminf) - determine minimum of two floating-point numbers - [fminl](https://manual.cs50.io/3/fminl) - determine minimum of two floating-point numbers - [fmod](https://manual.cs50.io/3/fmod) - floating-point remainder function - [fmodf](https://manual.cs50.io/3/fmodf) - floating-point remainder function - [fmodl](https://manual.cs50.io/3/fmodl) - floating-point remainder function - [fpclassify](https://manual.cs50.io/3/fpclassify) - floating-point classification macros - [frexp](https://manual.cs50.io/3/frexp) - convert floating-point number to fractional and integr... - [frexpf](https://manual.cs50.io/3/frexpf) - convert floating-point number to fractional and integr... - [frexpl](https://manual.cs50.io/3/frexpl) - convert floating-point number to fractional and integr... - [gamma](https://manual.cs50.io/3/gamma) - (logarithm of the) gamma function - [gammaf](https://manual.cs50.io/3/gammaf) - (logarithm of the) gamma function - [gammal](https://manual.cs50.io/3/gammal) - (logarithm of the) gamma function - [HUGE\_VAL](https://manual.cs50.io/3/HUGE_VAL) - floating-point constants - [HUGE\_VALF](https://manual.cs50.io/3/HUGE_VALF) - floating-point constants - [HUGE\_VALL](https://manual.cs50.io/3/HUGE_VALL) - floating-point constants - [hypot](https://manual.cs50.io/3/hypot) - Euclidean distance function - [hypotf](https://manual.cs50.io/3/hypotf) - Euclidean distance function - [hypotl](https://manual.cs50.io/3/hypotl) - Euclidean distance function - [ilogb](https://manual.cs50.io/3/ilogb) - get integer exponent of a floating-point value - [ilogbf](https://manual.cs50.io/3/ilogbf) - get integer exponent of a floating-point value - [ilogbl](https://manual.cs50.io/3/ilogbl) - get integer exponent of a floating-point value - [INFINITY](https://manual.cs50.io/3/INFINITY) - floating-point constants - [isfinite](https://manual.cs50.io/3/isfinite) - floating-point classification macros - [isgreater](https://manual.cs50.io/3/isgreater) - floating-point relational tests without exception for NaN - [isgreaterequal](https://manual.cs50.io/3/isgreaterequal) - floating-point relational tests without exception for NaN - [isinf](https://manual.cs50.io/3/isinf) - floating-point classification macros - [isinff](https://manual.cs50.io/3/isinff) - BSD floating-point classification functions - [isinfl](https://manual.cs50.io/3/isinfl) - BSD floating-point classification functions - [isless](https://manual.cs50.io/3/isless) - floating-point relational tests without exception for NaN - [islessequal](https://manual.cs50.io/3/islessequal) - floating-point relational tests without exception for NaN - [islessgreater](https://manual.cs50.io/3/islessgreater) - floating-point relational tests without exception for NaN - [isnan](https://manual.cs50.io/3/isnan) - floating-point classification macros - [isnanf](https://manual.cs50.io/3/isnanf) - BSD floating-point classification functions - [isnanl](https://manual.cs50.io/3/isnanl) - BSD floating-point classification functions - [isnormal](https://manual.cs50.io/3/isnormal) - floating-point classification macros - [isunordered](https://manual.cs50.io/3/isunordered) - floating-point relational tests without exception for NaN - [j0](https://manual.cs50.io/3/j0) - Bessel functions of the first kind - [j0f](https://manual.cs50.io/3/j0f) - Bessel functions of the first kind - [j0l](https://manual.cs50.io/3/j0l) - Bessel functions of the first kind - [j1](https://manual.cs50.io/3/j1) - Bessel functions of the first kind - [j1f](https://manual.cs50.io/3/j1f) - Bessel functions of the first kind - [j1l](https://manual.cs50.io/3/j1l) - Bessel functions of the first kind - [jn](https://manual.cs50.io/3/jn) - Bessel functions of the first kind - [jnf](https://manual.cs50.io/3/jnf) - Bessel functions of the first kind - [jnl](https://manual.cs50.io/3/jnl) - Bessel functions of the first kind - [ldexp](https://manual.cs50.io/3/ldexp) - multiply floating-point number by integral power of 2 - [ldexpf](https://manual.cs50.io/3/ldexpf) - multiply floating-point number by integral power of 2 - [ldexpl](https://manual.cs50.io/3/ldexpl) - multiply floating-point number by integral power of 2 - [lgamma](https://manual.cs50.io/3/lgamma) - log gamma function - [lgamma\_r](https://manual.cs50.io/3/lgamma_r) - log gamma function - [lgammaf](https://manual.cs50.io/3/lgammaf) - log gamma function - [lgammaf\_r](https://manual.cs50.io/3/lgammaf_r) - log gamma function - [lgammal](https://manual.cs50.io/3/lgammal) - log gamma function - [lgammal\_r](https://manual.cs50.io/3/lgammal_r) - log gamma function - [llrint](https://manual.cs50.io/3/llrint) - round to nearest integer - [llrintf](https://manual.cs50.io/3/llrintf) - round to nearest integer - [llrintl](https://manual.cs50.io/3/llrintl) - round to nearest integer - [llround](https://manual.cs50.io/3/llround) - round to nearest integer - [llroundf](https://manual.cs50.io/3/llroundf) - round to nearest integer - [llroundl](https://manual.cs50.io/3/llroundl) - round to nearest integer - [log](https://manual.cs50.io/3/log) - natural logarithmic function - [log10](https://manual.cs50.io/3/log10) - base-10 logarithmic function - [log10f](https://manual.cs50.io/3/log10f) - base-10 logarithmic function - [log10l](https://manual.cs50.io/3/log10l) - base-10 logarithmic function - [log1p](https://manual.cs50.io/3/log1p) - logarithm of 1 plus argument - [log1pf](https://manual.cs50.io/3/log1pf) - logarithm of 1 plus argument - [log1pl](https://manual.cs50.io/3/log1pl) - logarithm of 1 plus argument - [log2](https://manual.cs50.io/3/log2) - base-2 logarithmic function calculate the base-2 logarithm of a number - [log2f](https://manual.cs50.io/3/log2f) - base-2 logarithmic function - [log2l](https://manual.cs50.io/3/log2l) - base-2 logarithmic function - [logb](https://manual.cs50.io/3/logb) - get exponent of a floating-point value - [logbf](https://manual.cs50.io/3/logbf) - get exponent of a floating-point value - [logbl](https://manual.cs50.io/3/logbl) - get exponent of a floating-point value - [logf](https://manual.cs50.io/3/logf) - natural logarithmic function - [logl](https://manual.cs50.io/3/logl) - natural logarithmic function - [lrint](https://manual.cs50.io/3/lrint) - round to nearest integer - [lrintf](https://manual.cs50.io/3/lrintf) - round to nearest integer - [lrintl](https://manual.cs50.io/3/lrintl) - round to nearest integer - [lround](https://manual.cs50.io/3/lround) - round to nearest integer - [lroundf](https://manual.cs50.io/3/lroundf) - round to nearest integer - [lroundl](https://manual.cs50.io/3/lroundl) - round to nearest integer - [math\_error](https://manual.cs50.io/7/math_error) - detecting errors from mathematical functions - [matherr](https://manual.cs50.io/3/matherr) - SVID math library exception handling - [modf](https://manual.cs50.io/3/modf) - extract signed integral and fractional values from flo... - [modff](https://manual.cs50.io/3/modff) - extract signed integral and fractional values from flo... - [modfl](https://manual.cs50.io/3/modfl) - extract signed integral and fractional values from flo... - [NAN](https://manual.cs50.io/3/NAN) - floating-point constants - [nan](https://manual.cs50.io/3/nan) - return 'Not a Number' - [nanf](https://manual.cs50.io/3/nanf) - return 'Not a Number' - [nanl](https://manual.cs50.io/3/nanl) - return 'Not a Number' - [nearbyint](https://manual.cs50.io/3/nearbyint) - round to nearest integer - [nearbyintf](https://manual.cs50.io/3/nearbyintf) - round to nearest integer - [nearbyintl](https://manual.cs50.io/3/nearbyintl) - round to nearest integer - [nextafter](https://manual.cs50.io/3/nextafter) - floating-point number manipulation - [nextafterf](https://manual.cs50.io/3/nextafterf) - floating-point number manipulation - [nextafterl](https://manual.cs50.io/3/nextafterl) - floating-point number manipulation - [nextdown](https://manual.cs50.io/3/nextdown) - return next floating-point number toward positive/nega... - [nextdownf](https://manual.cs50.io/3/nextdownf) - return next floating-point number toward positive/nega... - [nextdownl](https://manual.cs50.io/3/nextdownl) - return next floating-point number toward positive/nega... - [nexttoward](https://manual.cs50.io/3/nexttoward) - floating-point number manipulation - [nexttowardf](https://manual.cs50.io/3/nexttowardf) - floating-point number manipulation - [nexttowardl](https://manual.cs50.io/3/nexttowardl) - floating-point number manipulation - [nextup](https://manual.cs50.io/3/nextup) - return next floating-point number toward positive/nega... - [nextupf](https://manual.cs50.io/3/nextupf) - return next floating-point number toward positive/nega... - [nextupl](https://manual.cs50.io/3/nextupl) - return next floating-point number toward positive/nega... - [pow](https://manual.cs50.io/3/pow) - power functions raise a number to a power - [pow10](https://manual.cs50.io/3/pow10) - base-10 power functions - [pow10f](https://manual.cs50.io/3/pow10f) - base-10 power functions - [pow10l](https://manual.cs50.io/3/pow10l) - base-10 power functions - [powf](https://manual.cs50.io/3/powf) - power functions - [powl](https://manual.cs50.io/3/powl) - power functions - [remainder](https://manual.cs50.io/3/remainder) - floating-point remainder function - [remainderf](https://manual.cs50.io/3/remainderf) - floating-point remainder function - [remainderl](https://manual.cs50.io/3/remainderl) - floating-point remainder function - [remquo](https://manual.cs50.io/3/remquo) - remainder and part of quotient - [remquof](https://manual.cs50.io/3/remquof) - remainder and part of quotient - [remquol](https://manual.cs50.io/3/remquol) - remainder and part of quotient - [rint](https://manual.cs50.io/3/rint) - round to nearest integer - [rintf](https://manual.cs50.io/3/rintf) - round to nearest integer - [rintl](https://manual.cs50.io/3/rintl) - round to nearest integer - [round](https://manual.cs50.io/3/round) - round to nearest integer, away from zero round a number to the nearest integer - [roundf](https://manual.cs50.io/3/roundf) - round to nearest integer, away from zero - [roundl](https://manual.cs50.io/3/roundl) - round to nearest integer, away from zero - [scalb](https://manual.cs50.io/3/scalb) - multiply floating-point number by integral power of ra... - [scalbf](https://manual.cs50.io/3/scalbf) - multiply floating-point number by integral power of ra... - [scalbl](https://manual.cs50.io/3/scalbl) - multiply floating-point number by integral power of ra... - [scalbln](https://manual.cs50.io/3/scalbln) - multiply floating-point number by integral power of radix - [scalblnf](https://manual.cs50.io/3/scalblnf) - multiply floating-point number by integral power of radix - [scalblnl](https://manual.cs50.io/3/scalblnl) - multiply floating-point number by integral power of radix - [scalbn](https://manual.cs50.io/3/scalbn) - multiply floating-point number by integral power of radix - [scalbnf](https://manual.cs50.io/3/scalbnf) - multiply floating-point number by integral power of radix - [scalbnl](https://manual.cs50.io/3/scalbnl) - multiply floating-point number by integral power of radix - [signbit](https://manual.cs50.io/3/signbit) - test sign of a real floating-point number - [signgam](https://manual.cs50.io/3/signgam) - log gamma function - [significand](https://manual.cs50.io/3/significand) - get mantissa of floating-point number - [significandf](https://manual.cs50.io/3/significandf) - get mantissa of floating-point number - [significandl](https://manual.cs50.io/3/significandl) - get mantissa of floating-point number - [sin](https://manual.cs50.io/3/sin) - sine function - [sincos](https://manual.cs50.io/3/sincos) - calculate sin and cos simultaneously - [sincosf](https://manual.cs50.io/3/sincosf) - calculate sin and cos simultaneously - [sincosl](https://manual.cs50.io/3/sincosl) - calculate sin and cos simultaneously - [sinf](https://manual.cs50.io/3/sinf) - sine function - [sinh](https://manual.cs50.io/3/sinh) - hyperbolic sine function - [sinhf](https://manual.cs50.io/3/sinhf) - hyperbolic sine function - [sinhl](https://manual.cs50.io/3/sinhl) - hyperbolic sine function - [sinl](https://manual.cs50.io/3/sinl) - sine function - [sqrt](https://manual.cs50.io/3/sqrt) - square root function calculate the square root of a number - [sqrtf](https://manual.cs50.io/3/sqrtf) - square root function - [sqrtl](https://manual.cs50.io/3/sqrtl) - square root function - [tan](https://manual.cs50.io/3/tan) - tangent function - [tanf](https://manual.cs50.io/3/tanf) - tangent function - [tanh](https://manual.cs50.io/3/tanh) - hyperbolic tangent function - [tanhf](https://manual.cs50.io/3/tanhf) - hyperbolic tangent function - [tanhl](https://manual.cs50.io/3/tanhl) - hyperbolic tangent function - [tanl](https://manual.cs50.io/3/tanl) - tangent function - [tgamma](https://manual.cs50.io/3/tgamma) - true gamma function - [tgammaf](https://manual.cs50.io/3/tgammaf) - true gamma function - [tgammal](https://manual.cs50.io/3/tgammal) - true gamma function - [trunc](https://manual.cs50.io/3/trunc) - round to integer, toward zero - [truncf](https://manual.cs50.io/3/truncf) - round to integer, toward zero - [truncl](https://manual.cs50.io/3/truncl) - round to integer, toward zero - [y0](https://manual.cs50.io/3/y0) - Bessel functions of the second kind - [y0f](https://manual.cs50.io/3/y0f) - Bessel functions of the second kind - [y0l](https://manual.cs50.io/3/y0l) - Bessel functions of the second kind - [y1](https://manual.cs50.io/3/y1) - Bessel functions of the second kind - [y1f](https://manual.cs50.io/3/y1f) - Bessel functions of the second kind - [y1l](https://manual.cs50.io/3/y1l) - Bessel functions of the second kind - [yn](https://manual.cs50.io/3/yn) - Bessel functions of the second kind - [ynf](https://manual.cs50.io/3/ynf) - Bessel functions of the second kind - [ynl](https://manual.cs50.io/3/ynl) - Bessel functions of the second kind # [monetary.h](https://manual.cs50.io/#monetary.h) - [strfmon](https://manual.cs50.io/3/strfmon) - convert monetary value to a string - [strfmon\_l](https://manual.cs50.io/3/strfmon_l) - convert monetary value to a string # [mqueue.h](https://manual.cs50.io/#mqueue.h) - [mq\_close](https://manual.cs50.io/3/mq_close) - close a message queue descriptor - [mq\_getattr](https://manual.cs50.io/3/mq_getattr) - get/set message queue attributes - [mq\_notify](https://manual.cs50.io/2/mq_notify) - register for notification when a message is available - [mq\_notify](https://manual.cs50.io/3/mq_notify) - register for notification when a message is available - [mq\_open](https://manual.cs50.io/2/mq_open) - open a message queue - [mq\_open](https://manual.cs50.io/3/mq_open) - open a message queue - [mq\_receive](https://manual.cs50.io/3/mq_receive) - receive a message from a message queue - [mq\_send](https://manual.cs50.io/3/mq_send) - send a message to a message queue - [mq\_setattr](https://manual.cs50.io/3/mq_setattr) - get/set message queue attributes - [mq\_timedreceive](https://manual.cs50.io/2/mq_timedreceive) - receive a message from a message queue - [mq\_timedreceive](https://manual.cs50.io/3/mq_timedreceive) - receive a message from a message queue - [mq\_timedsend](https://manual.cs50.io/2/mq_timedsend) - send a message to a message queue - [mq\_timedsend](https://manual.cs50.io/3/mq_timedsend) - send a message to a message queue - [mq\_unlink](https://manual.cs50.io/2/mq_unlink) - remove a message queue - [mq\_unlink](https://manual.cs50.io/3/mq_unlink) - remove a message queue # [net/if.h](https://manual.cs50.io/#net/if.h) - [if\_freenameindex](https://manual.cs50.io/3/if_freenameindex) - get network interface names and indexes - [if\_indextoname](https://manual.cs50.io/3/if_indextoname) - mappings between network interface names and indexes - [if\_nameindex](https://manual.cs50.io/3/if_nameindex) - get network interface names and indexes - [if\_nametoindex](https://manual.cs50.io/3/if_nametoindex) - mappings between network interface names and indexes # [netdb.h](https://manual.cs50.io/#netdb.h) - [endhostent](https://manual.cs50.io/3/endhostent) - get network host entry - [endnetent](https://manual.cs50.io/3/endnetent) - get network entry - [endnetgrent](https://manual.cs50.io/3/endnetgrent) - handle network group entries - [endprotoent](https://manual.cs50.io/3/endprotoent) - get protocol entry - [endrpcent](https://manual.cs50.io/3/endrpcent) - get RPC entry - [endservent](https://manual.cs50.io/3/endservent) - get service entry - [gai\_cancel](https://manual.cs50.io/3/gai_cancel) - asynchronous network address and service translation - [gai\_error](https://manual.cs50.io/3/gai_error) - asynchronous network address and service translation - [gai\_suspend](https://manual.cs50.io/3/gai_suspend) - asynchronous network address and service translation - [getaddrinfo\_a](https://manual.cs50.io/3/getaddrinfo_a) - asynchronous network address and service translation - [gethostbyaddr](https://manual.cs50.io/3/gethostbyaddr) - get network host entry - [gethostbyaddr\_r](https://manual.cs50.io/3/gethostbyaddr_r) - get network host entry - [gethostbyname](https://manual.cs50.io/3/gethostbyname) - get network host entry - [gethostbyname2](https://manual.cs50.io/3/gethostbyname2) - get network host entry - [gethostbyname2\_r](https://manual.cs50.io/3/gethostbyname2_r) - get network host entry - [gethostbyname\_r](https://manual.cs50.io/3/gethostbyname_r) - get network host entry - [gethostent](https://manual.cs50.io/3/gethostent) - get network host entry - [gethostent\_r](https://manual.cs50.io/3/gethostent_r) - get network host entry - [getnetbyaddr](https://manual.cs50.io/3/getnetbyaddr) - get network entry - [getnetbyaddr\_r](https://manual.cs50.io/3/getnetbyaddr_r) - get network entry (reentrant) - [getnetbyname](https://manual.cs50.io/3/getnetbyname) - get network entry - [getnetbyname\_r](https://manual.cs50.io/3/getnetbyname_r) - get network entry (reentrant) - [getnetent](https://manual.cs50.io/3/getnetent) - get network entry - [getnetent\_r](https://manual.cs50.io/3/getnetent_r) - get network entry (reentrant) - [getnetgrent](https://manual.cs50.io/3/getnetgrent) - handle network group entries - [getnetgrent\_r](https://manual.cs50.io/3/getnetgrent_r) - handle network group entries - [getprotobyname](https://manual.cs50.io/3/getprotobyname) - get protocol entry - [getprotobyname\_r](https://manual.cs50.io/3/getprotobyname_r) - get protocol entry (reentrant) - [getprotobynumber](https://manual.cs50.io/3/getprotobynumber) - get protocol entry - [getprotobynumber\_r](https://manual.cs50.io/3/getprotobynumber_r) - get protocol entry (reentrant) - [getprotoent](https://manual.cs50.io/3/getprotoent) - get protocol entry - [getprotoent\_r](https://manual.cs50.io/3/getprotoent_r) - get protocol entry (reentrant) - [getrpcbyname](https://manual.cs50.io/3/getrpcbyname) - get RPC entry - [getrpcbyname\_r](https://manual.cs50.io/3/getrpcbyname_r) - get RPC entry (reentrant) - [getrpcbynumber](https://manual.cs50.io/3/getrpcbynumber) - get RPC entry - [getrpcbynumber\_r](https://manual.cs50.io/3/getrpcbynumber_r) - get RPC entry (reentrant) - [getrpcent](https://manual.cs50.io/3/getrpcent) - get RPC entry - [getrpcent\_r](https://manual.cs50.io/3/getrpcent_r) - get RPC entry (reentrant) - [getservbyname](https://manual.cs50.io/3/getservbyname) - get service entry - [getservbyname\_r](https://manual.cs50.io/3/getservbyname_r) - get service entry (reentrant) - [getservbyport](https://manual.cs50.io/3/getservbyport) - get service entry - [getservbyport\_r](https://manual.cs50.io/3/getservbyport_r) - get service entry (reentrant) - [getservent](https://manual.cs50.io/3/getservent) - get service entry - [getservent\_r](https://manual.cs50.io/3/getservent_r) - get service entry (reentrant) - [h\_errno](https://manual.cs50.io/3/h_errno) - get network host entry - [herror](https://manual.cs50.io/3/herror) - get network host entry - [hstrerror](https://manual.cs50.io/3/hstrerror) - get network host entry - [innetgr](https://manual.cs50.io/3/innetgr) - handle network group entries - [rexec](https://manual.cs50.io/3/rexec) - return stream to a remote command - [rexec\_af](https://manual.cs50.io/3/rexec_af) - return stream to a remote command - [sethostent](https://manual.cs50.io/3/sethostent) - get network host entry - [setnetent](https://manual.cs50.io/3/setnetent) - get network entry - [setnetgrent](https://manual.cs50.io/3/setnetgrent) - handle network group entries - [setprotoent](https://manual.cs50.io/3/setprotoent) - get protocol entry - [setrpcent](https://manual.cs50.io/3/setrpcent) - get RPC entry - [setservent](https://manual.cs50.io/3/setservent) - get service entry # [netinet/in.h](https://manual.cs50.io/#netinet/in.h) - [dn\_comp](https://manual.cs50.io/3/dn_comp) - resolver routines - [dn\_expand](https://manual.cs50.io/3/dn_expand) - resolver routines - [res\_init](https://manual.cs50.io/3/res_init) - resolver routines - [res\_mkquery](https://manual.cs50.io/3/res_mkquery) - resolver routines - [res\_nclose](https://manual.cs50.io/3/res_nclose) - resolver routines - [res\_ninit](https://manual.cs50.io/3/res_ninit) - resolver routines - [res\_nmkquery](https://manual.cs50.io/3/res_nmkquery) - resolver routines - [res\_nquery](https://manual.cs50.io/3/res_nquery) - resolver routines - [res\_nquerydomain](https://manual.cs50.io/3/res_nquerydomain) - resolver routines - [res\_nsearch](https://manual.cs50.io/3/res_nsearch) - resolver routines - [res\_nsend](https://manual.cs50.io/3/res_nsend) - resolver routines - [res\_query](https://manual.cs50.io/3/res_query) - resolver routines - [res\_querydomain](https://manual.cs50.io/3/res_querydomain) - resolver routines - [res\_search](https://manual.cs50.io/3/res_search) - resolver routines - [res\_send](https://manual.cs50.io/3/res_send) - resolver routines - [resolver](https://manual.cs50.io/3/resolver) - resolver routines # [nl\_types.h](https://manual.cs50.io/#nl_types.h) - [catclose](https://manual.cs50.io/3/catclose) - open/close a message catalog - [catgets](https://manual.cs50.io/3/catgets) - get message from a message catalog - [catopen](https://manual.cs50.io/3/catopen) - open/close a message catalog # [poll.h](https://manual.cs50.io/#poll.h) - [poll](https://manual.cs50.io/2/poll) - wait for some event on a file descriptor - [ppoll](https://manual.cs50.io/2/ppoll) - wait for some event on a file descriptor # [pthread.h](https://manual.cs50.io/#pthread.h) - [pthread\_attr\_destroy](https://manual.cs50.io/3/pthread_attr_destroy) - initialize and destroy thread attributes object - [pthread\_attr\_getaffinity\_np](https://manual.cs50.io/3/pthread_attr_getaffinity_np) - set/get CPU affinity attribute in thread at... - [pthread\_attr\_getdetachstate](https://manual.cs50.io/3/pthread_attr_getdetachstate) - set/get detach state attribute in thread at... - [pthread\_attr\_getguardsize](https://manual.cs50.io/3/pthread_attr_getguardsize) - set/get guard size attribute in thread attrib... - [pthread\_attr\_getinheritsched](https://manual.cs50.io/3/pthread_attr_getinheritsched) - set/get inherit-scheduler attribute in thr... - [pthread\_attr\_getschedparam](https://manual.cs50.io/3/pthread_attr_getschedparam) - set/get scheduling parameter attributes in t... - [pthread\_attr\_getschedpolicy](https://manual.cs50.io/3/pthread_attr_getschedpolicy) - set/get scheduling policy attribute in thre... - [pthread\_attr\_getscope](https://manual.cs50.io/3/pthread_attr_getscope) - set/get contention scope attribute in thread attr... - [pthread\_attr\_getsigmask\_np](https://manual.cs50.io/3/pthread_attr_getsigmask_np) - set/get signal mask attribute in thread attr... - [pthread\_attr\_getstack](https://manual.cs50.io/3/pthread_attr_getstack) - set/get stack attributes in thread attributes object - [pthread\_attr\_getstackaddr](https://manual.cs50.io/3/pthread_attr_getstackaddr) - set/get stack address attribute in thread att... - [pthread\_attr\_getstacksize](https://manual.cs50.io/3/pthread_attr_getstacksize) - set/get stack size attribute in thread attrib... - [pthread\_attr\_init](https://manual.cs50.io/3/pthread_attr_init) - initialize and destroy thread attributes object - [pthread\_attr\_setaffinity\_np](https://manual.cs50.io/3/pthread_attr_setaffinity_np) - set/get CPU affinity attribute in thread at... - [pthread\_attr\_setdetachstate](https://manual.cs50.io/3/pthread_attr_setdetachstate) - set/get detach state attribute in thread at... - [pthread\_attr\_setguardsize](https://manual.cs50.io/3/pthread_attr_setguardsize) - set/get guard size attribute in thread attrib... - [pthread\_attr\_setinheritsched](https://manual.cs50.io/3/pthread_attr_setinheritsched) - set/get inherit-scheduler attribute in thr... - [pthread\_attr\_setschedparam](https://manual.cs50.io/3/pthread_attr_setschedparam) - set/get scheduling parameter attributes in t... - [pthread\_attr\_setschedpolicy](https://manual.cs50.io/3/pthread_attr_setschedpolicy) - set/get scheduling policy attribute in thre... - [pthread\_attr\_setscope](https://manual.cs50.io/3/pthread_attr_setscope) - set/get contention scope attribute in thread attr... - [pthread\_attr\_setsigmask\_np](https://manual.cs50.io/3/pthread_attr_setsigmask_np) - set/get signal mask attribute in thread attr... - [pthread\_attr\_setstack](https://manual.cs50.io/3/pthread_attr_setstack) - set/get stack attributes in thread attributes object - [pthread\_attr\_setstackaddr](https://manual.cs50.io/3/pthread_attr_setstackaddr) - set/get stack address attribute in thread att... - [pthread\_attr\_setstacksize](https://manual.cs50.io/3/pthread_attr_setstacksize) - set/get stack size attribute in thread attrib... - [pthread\_cancel](https://manual.cs50.io/3/pthread_cancel) - send a cancelation request to a thread - [pthread\_cleanup\_pop](https://manual.cs50.io/3/pthread_cleanup_pop) - push and pop thread cancelation clean-up handlers - [pthread\_cleanup\_pop\_restore\_np](https://manual.cs50.io/3/pthread_cleanup_pop_restore_np) - push and pop thread cancelation clean-up... - [pthread\_cleanup\_push](https://manual.cs50.io/3/pthread_cleanup_push) - push and pop thread cancelation clean-up handlers - [pthread\_cleanup\_push\_defer\_np](https://manual.cs50.io/3/pthread_cleanup_push_defer_np) - push and pop thread cancelation clean-up ... - [pthread\_create](https://manual.cs50.io/3/pthread_create) - create a new thread - [pthread\_detach](https://manual.cs50.io/3/pthread_detach) - detach a thread - [pthread\_equal](https://manual.cs50.io/3/pthread_equal) - compare thread IDs - [pthread\_exit](https://manual.cs50.io/3/pthread_exit) - terminate calling thread - [pthread\_getaffinity\_np](https://manual.cs50.io/3/pthread_getaffinity_np) - set/get CPU affinity of a thread - [pthread\_getattr\_default\_np](https://manual.cs50.io/3/pthread_getattr_default_np) - get or set default thread-creation attributes - [pthread\_getattr\_np](https://manual.cs50.io/3/pthread_getattr_np) - get attributes of created thread - [pthread\_getconcurrency](https://manual.cs50.io/3/pthread_getconcurrency) - set/get the concurrency level - [pthread\_getcpuclockid](https://manual.cs50.io/3/pthread_getcpuclockid) - retrieve ID of a thread's CPU time clock - [pthread\_getname\_np](https://manual.cs50.io/3/pthread_getname_np) - set/get the name of a thread - [pthread\_getschedparam](https://manual.cs50.io/3/pthread_getschedparam) - set/get scheduling policy and parameters of a thread - [pthread\_join](https://manual.cs50.io/3/pthread_join) - join with a terminated thread - [pthread\_kill\_other\_threads\_np](https://manual.cs50.io/3/pthread_kill_other_threads_np) - terminate all other threads in process - [pthread\_mutex\_consistent](https://manual.cs50.io/3/pthread_mutex_consistent) - make a robust mutex consistent - [pthread\_mutex\_consistent\_np](https://manual.cs50.io/3/pthread_mutex_consistent_np) - make a robust mutex consistent - [pthread\_mutexattr\_getpshared](https://manual.cs50.io/3/pthread_mutexattr_getpshared) - get/set process-shared mutex attribute - [pthread\_mutexattr\_getrobust](https://manual.cs50.io/3/pthread_mutexattr_getrobust) - get and set the robustness attribute of a m... - [pthread\_mutexattr\_getrobust\_np](https://manual.cs50.io/3/pthread_mutexattr_getrobust_np) - get and set the robustness attribute of ... - [pthread\_mutexattr\_setpshared](https://manual.cs50.io/3/pthread_mutexattr_setpshared) - get/set process-shared mutex attribute - [pthread\_mutexattr\_setrobust](https://manual.cs50.io/3/pthread_mutexattr_setrobust) - get and set the robustness attribute of a m... - [pthread\_mutexattr\_setrobust\_np](https://manual.cs50.io/3/pthread_mutexattr_setrobust_np) - get and set the robustness attribute of ... - [pthread\_rwlockattr\_getkind\_np](https://manual.cs50.io/3/pthread_rwlockattr_getkind_np) - set/get the read-write lock kind of the t... - [pthread\_rwlockattr\_setkind\_np](https://manual.cs50.io/3/pthread_rwlockattr_setkind_np) - set/get the read-write lock kind of the t... - [pthread\_self](https://manual.cs50.io/3/pthread_self) - obtain ID of the calling thread - [pthread\_setaffinity\_np](https://manual.cs50.io/3/pthread_setaffinity_np) - set/get CPU affinity of a thread - [pthread\_setattr\_default\_np](https://manual.cs50.io/3/pthread_setattr_default_np) - get or set default thread-creation attributes - [pthread\_setcancelstate](https://manual.cs50.io/3/pthread_setcancelstate) - set cancelability state and type - [pthread\_setcanceltype](https://manual.cs50.io/3/pthread_setcanceltype) - set cancelability state and type - [pthread\_setconcurrency](https://manual.cs50.io/3/pthread_setconcurrency) - set/get the concurrency level - [pthread\_setname\_np](https://manual.cs50.io/3/pthread_setname_np) - set/get the name of a thread - [pthread\_setschedparam](https://manual.cs50.io/3/pthread_setschedparam) - set/get scheduling policy and parameters of a thread - [pthread\_setschedprio](https://manual.cs50.io/3/pthread_setschedprio) - set scheduling priority of a thread - [pthread\_spin\_destroy](https://manual.cs50.io/3/pthread_spin_destroy) - initialize or destroy a spin lock - [pthread\_spin\_init](https://manual.cs50.io/3/pthread_spin_init) - initialize or destroy a spin lock - [pthread\_spin\_lock](https://manual.cs50.io/3/pthread_spin_lock) - lock and unlock a spin lock - [pthread\_spin\_trylock](https://manual.cs50.io/3/pthread_spin_trylock) - lock and unlock a spin lock - [pthread\_spin\_unlock](https://manual.cs50.io/3/pthread_spin_unlock) - lock and unlock a spin lock - [pthread\_testcancel](https://manual.cs50.io/3/pthread_testcancel) - request delivery of any pending cancelation request - [pthread\_timedjoin\_np](https://manual.cs50.io/3/pthread_timedjoin_np) - try to join with a terminated thread - [pthread\_tryjoin\_np](https://manual.cs50.io/3/pthread_tryjoin_np) - try to join with a terminated thread - [pthread\_yield](https://manual.cs50.io/3/pthread_yield) - yield the processor # [pwd.h](https://manual.cs50.io/#pwd.h) - [fgetpwent\_r](https://manual.cs50.io/3/fgetpwent_r) - get passwd file entry reentrantly - [getpwent\_r](https://manual.cs50.io/3/getpwent_r) - get passwd file entry reentrantly # [regex.h](https://manual.cs50.io/#regex.h) - [regcomp](https://manual.cs50.io/3/regcomp) - POSIX regex functions - [regerror](https://manual.cs50.io/3/regerror) - POSIX regex functions - [regex](https://manual.cs50.io/3/regex) - POSIX regex functions - [regexec](https://manual.cs50.io/3/regexec) - POSIX regex functions - [regfree](https://manual.cs50.io/3/regfree) - POSIX regex functions # [sched.h](https://manual.cs50.io/#sched.h) - [\_\_clone2](https://manual.cs50.io/2/__clone2) - create a child process - [clone](https://manual.cs50.io/2/clone) - create a child process - [clone2](https://manual.cs50.io/2/clone2) - create a child process - [clone3](https://manual.cs50.io/2/clone3) - create a child process - [CPU\_ALLOC](https://manual.cs50.io/3/CPU_ALLOC) - macros for manipulating CPU sets - [CPU\_ALLOC\_SIZE](https://manual.cs50.io/3/CPU_ALLOC_SIZE) - macros for manipulating CPU sets - [CPU\_AND](https://manual.cs50.io/3/CPU_AND) - macros for manipulating CPU sets - [CPU\_AND\_S](https://manual.cs50.io/3/CPU_AND_S) - macros for manipulating CPU sets - [CPU\_CLR](https://manual.cs50.io/3/CPU_CLR) - macros for manipulating CPU sets - [CPU\_CLR\_S](https://manual.cs50.io/3/CPU_CLR_S) - macros for manipulating CPU sets - [CPU\_COUNT](https://manual.cs50.io/3/CPU_COUNT) - macros for manipulating CPU sets - [CPU\_COUNT\_S](https://manual.cs50.io/3/CPU_COUNT_S) - macros for manipulating CPU sets - [CPU\_EQUAL](https://manual.cs50.io/3/CPU_EQUAL) - macros for manipulating CPU sets - [CPU\_EQUAL\_S](https://manual.cs50.io/3/CPU_EQUAL_S) - macros for manipulating CPU sets - [CPU\_FREE](https://manual.cs50.io/3/CPU_FREE) - macros for manipulating CPU sets - [CPU\_ISSET](https://manual.cs50.io/3/CPU_ISSET) - macros for manipulating CPU sets - [CPU\_ISSET\_S](https://manual.cs50.io/3/CPU_ISSET_S) - macros for manipulating CPU sets - [CPU\_OR](https://manual.cs50.io/3/CPU_OR) - macros for manipulating CPU sets - [CPU\_OR\_S](https://manual.cs50.io/3/CPU_OR_S) - macros for manipulating CPU sets - [CPU\_SET](https://manual.cs50.io/3/CPU_SET) - macros for manipulating CPU sets - [CPU\_SET\_S](https://manual.cs50.io/3/CPU_SET_S) - macros for manipulating CPU sets - [CPU\_XOR](https://manual.cs50.io/3/CPU_XOR) - macros for manipulating CPU sets - [CPU\_XOR\_S](https://manual.cs50.io/3/CPU_XOR_S) - macros for manipulating CPU sets - [CPU\_ZERO](https://manual.cs50.io/3/CPU_ZERO) - macros for manipulating CPU sets - [CPU\_ZERO\_S](https://manual.cs50.io/3/CPU_ZERO_S) - macros for manipulating CPU sets - [getcpu](https://manual.cs50.io/2/getcpu) - determine CPU and NUMA node on which the calling threa... - [sched\_get\_priority\_max](https://manual.cs50.io/2/sched_get_priority_max) - get static priority range - [sched\_get\_priority\_min](https://manual.cs50.io/2/sched_get_priority_min) - get static priority range - [sched\_getaffinity](https://manual.cs50.io/2/sched_getaffinity) - set and get a thread's CPU affinity mask - [sched\_getcpu](https://manual.cs50.io/3/sched_getcpu) - determine CPU on which the calling thread is running - [sched\_getparam](https://manual.cs50.io/2/sched_getparam) - set and get scheduling parameters - [sched\_getscheduler](https://manual.cs50.io/2/sched_getscheduler) - set and get scheduling policy/parameters - [sched\_rr\_get\_interval](https://manual.cs50.io/2/sched_rr_get_interval) - get the SCHED\_RR interval for the named process - [sched\_setaffinity](https://manual.cs50.io/2/sched_setaffinity) - set and get a thread's CPU affinity mask - [sched\_setparam](https://manual.cs50.io/2/sched_setparam) - set and get scheduling parameters - [sched\_setscheduler](https://manual.cs50.io/2/sched_setscheduler) - set and get scheduling policy/parameters - [sched\_yield](https://manual.cs50.io/2/sched_yield) - yield the processor - [setns](https://manual.cs50.io/2/setns) - reassociate thread with a namespace - [unshare](https://manual.cs50.io/2/unshare) - disassociate parts of the process execution context # [search.h](https://manual.cs50.io/#search.h) - [hcreate](https://manual.cs50.io/3/hcreate) - hash table management - [hcreate\_r](https://manual.cs50.io/3/hcreate_r) - hash table management - [hdestroy](https://manual.cs50.io/3/hdestroy) - hash table management - [hdestroy\_r](https://manual.cs50.io/3/hdestroy_r) - hash table management - [hsearch](https://manual.cs50.io/3/hsearch) - hash table management - [hsearch\_r](https://manual.cs50.io/3/hsearch_r) - hash table management - [insque](https://manual.cs50.io/3/insque) - insert/remove an item from a queue - [lfind](https://manual.cs50.io/3/lfind) - linear search of an array - [lsearch](https://manual.cs50.io/3/lsearch) - linear search of an array - [remque](https://manual.cs50.io/3/remque) - insert/remove an item from a queue - [tdelete](https://manual.cs50.io/3/tdelete) - manage a binary search tree - [tdestroy](https://manual.cs50.io/3/tdestroy) - manage a binary search tree - [tfind](https://manual.cs50.io/3/tfind) - manage a binary search tree - [tsearch](https://manual.cs50.io/3/tsearch) - manage a binary search tree - [twalk](https://manual.cs50.io/3/twalk) - manage a binary search tree - [twalk\_r](https://manual.cs50.io/3/twalk_r) - manage a binary search tree # [semaphore.h](https://manual.cs50.io/#semaphore.h) - [sem\_close](https://manual.cs50.io/3/sem_close) - close a named semaphore - [sem\_destroy](https://manual.cs50.io/3/sem_destroy) - destroy an unnamed semaphore - [sem\_getvalue](https://manual.cs50.io/3/sem_getvalue) - get the value of a semaphore - [sem\_init](https://manual.cs50.io/3/sem_init) - initialize an unnamed semaphore - [sem\_open](https://manual.cs50.io/3/sem_open) - initialize and open a named semaphore - [sem\_post](https://manual.cs50.io/3/sem_post) - unlock a semaphore - [sem\_timedwait](https://manual.cs50.io/3/sem_timedwait) - lock a semaphore - [sem\_trywait](https://manual.cs50.io/3/sem_trywait) - lock a semaphore - [sem\_unlink](https://manual.cs50.io/3/sem_unlink) - remove a named semaphore - [sem\_wait](https://manual.cs50.io/3/sem_wait) - lock a semaphore # [setjmp.h](https://manual.cs50.io/#setjmp.h) - [longjmp](https://manual.cs50.io/3/longjmp) - performing a nonlocal goto - [setjmp](https://manual.cs50.io/3/setjmp) - performing a nonlocal goto - [siglongjmp](https://manual.cs50.io/3/siglongjmp) - performing a nonlocal goto - [sigsetjmp](https://manual.cs50.io/3/sigsetjmp) - performing a nonlocal goto # [signal.h](https://manual.cs50.io/#signal.h) - [bsd\_signal](https://manual.cs50.io/3/bsd_signal) - signal handling with BSD semantics - [gsignal](https://manual.cs50.io/3/gsignal) - software signal facility - [kill](https://manual.cs50.io/2/kill) - send signal to a process - [killpg](https://manual.cs50.io/3/killpg) - send signal to a process group - [psiginfo](https://manual.cs50.io/3/psiginfo) - print signal description - [psignal](https://manual.cs50.io/3/psignal) - print signal description - [pthread\_kill](https://manual.cs50.io/3/pthread_kill) - send a signal to a thread - [pthread\_sigmask](https://manual.cs50.io/3/pthread_sigmask) - examine and change mask of blocked signals - [pthread\_sigqueue](https://manual.cs50.io/3/pthread_sigqueue) - queue a signal and data to a thread - [raise](https://manual.cs50.io/3/raise) - send a signal to the caller - [rt\_sigaction](https://manual.cs50.io/2/rt_sigaction) - examine and change a signal action - [rt\_sigpending](https://manual.cs50.io/2/rt_sigpending) - examine pending signals - [rt\_sigprocmask](https://manual.cs50.io/2/rt_sigprocmask) - examine and change blocked signals - [rt\_sigsuspend](https://manual.cs50.io/2/rt_sigsuspend) - wait for a signal - [rt\_sigtimedwait](https://manual.cs50.io/2/rt_sigtimedwait) - synchronously wait for queued signals - [sigaction](https://manual.cs50.io/2/sigaction) - examine and change a signal action - [sigaddset](https://manual.cs50.io/3/sigaddset) - POSIX signal set operations - [sigaltstack](https://manual.cs50.io/2/sigaltstack) - set and/or get signal stack context - [sigandset](https://manual.cs50.io/3/sigandset) - POSIX signal set operations - [sigblock](https://manual.cs50.io/3/sigblock) - BSD signal API - [sigdelset](https://manual.cs50.io/3/sigdelset) - POSIX signal set operations - [sigemptyset](https://manual.cs50.io/3/sigemptyset) - POSIX signal set operations - [sigfillset](https://manual.cs50.io/3/sigfillset) - POSIX signal set operations - [siggetmask](https://manual.cs50.io/3/siggetmask) - BSD signal API - [sighold](https://manual.cs50.io/3/sighold) - System V signal API - [sigignore](https://manual.cs50.io/3/sigignore) - System V signal API - [siginterrupt](https://manual.cs50.io/3/siginterrupt) - allow signals to interrupt system calls - [sigisemptyset](https://manual.cs50.io/3/sigisemptyset) - POSIX signal set operations - [sigismember](https://manual.cs50.io/3/sigismember) - POSIX signal set operations - [sigmask](https://manual.cs50.io/3/sigmask) - BSD signal API - [signal](https://manual.cs50.io/2/signal) - ANSI C signal handling - [sigorset](https://manual.cs50.io/3/sigorset) - POSIX signal set operations - [sigpause](https://manual.cs50.io/3/sigpause) - atomically release blocked signals and wait for interrupt - [sigpending](https://manual.cs50.io/2/sigpending) - examine pending signals - [sigprocmask](https://manual.cs50.io/2/sigprocmask) - examine and change blocked signals - [sigqueue](https://manual.cs50.io/3/sigqueue) - queue a signal and data to a process - [sigrelse](https://manual.cs50.io/3/sigrelse) - System V signal API - [sigset](https://manual.cs50.io/3/sigset) - System V signal API - [sigsetmask](https://manual.cs50.io/3/sigsetmask) - BSD signal API - [sigsetops](https://manual.cs50.io/3/sigsetops) - POSIX signal set operations - [sigstack](https://manual.cs50.io/3/sigstack) - set and/or get signal stack context - [sigsuspend](https://manual.cs50.io/2/sigsuspend) - wait for a signal - [sigtimedwait](https://manual.cs50.io/2/sigtimedwait) - synchronously wait for queued signals - [sigvec](https://manual.cs50.io/3/sigvec) - BSD signal API - [sigwait](https://manual.cs50.io/3/sigwait) - wait for a signal - [sigwaitinfo](https://manual.cs50.io/2/sigwaitinfo) - synchronously wait for queued signals - [ssignal](https://manual.cs50.io/3/ssignal) - software signal facility - [sysv\_signal](https://manual.cs50.io/3/sysv_signal) - signal handling with System V semantics # [spawn.h](https://manual.cs50.io/#spawn.h) - [posix\_spawn](https://manual.cs50.io/3/posix_spawn) - spawn a process - [posix\_spawnp](https://manual.cs50.io/3/posix_spawnp) - spawn a process # [stdarg.h](https://manual.cs50.io/#stdarg.h) - [stdarg](https://manual.cs50.io/3/stdarg) - variable argument lists - [va\_arg](https://manual.cs50.io/3/va_arg) - variable argument lists - [va\_copy](https://manual.cs50.io/3/va_copy) - variable argument lists - [va\_end](https://manual.cs50.io/3/va_end) - variable argument lists - [va\_start](https://manual.cs50.io/3/va_start) - variable argument lists # [stddef.h](https://manual.cs50.io/#stddef.h) - [offsetof](https://manual.cs50.io/3/offsetof) - offset of a structure member - [wcstoimax](https://manual.cs50.io/3/wcstoimax) - convert wide-character string to integer - [wcstoumax](https://manual.cs50.io/3/wcstoumax) - convert wide-character string to integer # [stdio.h](https://manual.cs50.io/#stdio.h) - [\_\_fbufsize](https://manual.cs50.io/3/__fbufsize) - interfaces to stdio FILE structure - [\_\_flbf](https://manual.cs50.io/3/__flbf) - interfaces to stdio FILE structure - [\_\_fpending](https://manual.cs50.io/3/__fpending) - interfaces to stdio FILE structure - [\_\_fpurge](https://manual.cs50.io/3/__fpurge) - purge a stream - [\_\_freadable](https://manual.cs50.io/3/__freadable) - interfaces to stdio FILE structure - [\_\_freading](https://manual.cs50.io/3/__freading) - interfaces to stdio FILE structure - [\_\_fsetlocking](https://manual.cs50.io/3/__fsetlocking) - interfaces to stdio FILE structure - [\_\_fwritable](https://manual.cs50.io/3/__fwritable) - interfaces to stdio FILE structure - [\_\_fwriting](https://manual.cs50.io/3/__fwriting) - interfaces to stdio FILE structure - [\_flushlbf](https://manual.cs50.io/3/_flushlbf) - interfaces to stdio FILE structure - [addmntent](https://manual.cs50.io/3/addmntent) - get filesystem descriptor file entry - [asprintf](https://manual.cs50.io/3/asprintf) - print to allocated string - [clearerr](https://manual.cs50.io/3/clearerr) - check and reset stream status - [clearerr\_unlocked](https://manual.cs50.io/3/clearerr_unlocked) - nonlocking stdio functions - [ctermid](https://manual.cs50.io/3/ctermid) - get controlling terminal name - [dprintf](https://manual.cs50.io/3/dprintf) - formatted output conversion - [endmntent](https://manual.cs50.io/3/endmntent) - get filesystem descriptor file entry - [fclose](https://manual.cs50.io/3/fclose) - close a stream close a file - [fcloseall](https://manual.cs50.io/3/fcloseall) - close all open streams - [fdopen](https://manual.cs50.io/3/fdopen) - stream open functions - [feof](https://manual.cs50.io/3/feof) - check and reset stream status - [feof\_unlocked](https://manual.cs50.io/3/feof_unlocked) - nonlocking stdio functions - [ferror](https://manual.cs50.io/3/ferror) - check and reset stream status - [ferror\_unlocked](https://manual.cs50.io/3/ferror_unlocked) - nonlocking stdio functions - [fflush](https://manual.cs50.io/3/fflush) - flush a stream - [fflush\_unlocked](https://manual.cs50.io/3/fflush_unlocked) - nonlocking stdio functions - [fgetc](https://manual.cs50.io/3/fgetc) - input of characters and strings - [fgetc\_unlocked](https://manual.cs50.io/3/fgetc_unlocked) - nonlocking stdio functions - [fgetgrent](https://manual.cs50.io/3/fgetgrent) - get group file entry - [fgetpos](https://manual.cs50.io/3/fgetpos) - reposition a stream - [fgetpwent](https://manual.cs50.io/3/fgetpwent) - get password file entry - [fgets](https://manual.cs50.io/3/fgets) - input of characters and strings - [fgets\_unlocked](https://manual.cs50.io/3/fgets_unlocked) - nonlocking stdio functions - [fgetwc](https://manual.cs50.io/3/fgetwc) - read a wide character from a FILE stream - [fgetwc\_unlocked](https://manual.cs50.io/3/fgetwc_unlocked) - nonlocking stdio functions - [fgetws\_unlocked](https://manual.cs50.io/3/fgetws_unlocked) - nonlocking stdio functions - [fileno](https://manual.cs50.io/3/fileno) - obtain file descriptor of a stdio stream - [fileno\_unlocked](https://manual.cs50.io/3/fileno_unlocked) - nonlocking stdio functions - [flockfile](https://manual.cs50.io/3/flockfile) - lock FILE for stdio - [fmemopen](https://manual.cs50.io/3/fmemopen) - open memory as stream - [fopen](https://manual.cs50.io/3/fopen) - stream open functions open a file - [fopencookie](https://manual.cs50.io/3/fopencookie) - open a custom stream - [fprintf](https://manual.cs50.io/3/fprintf) - formatted output conversion print to a file - [fpurge](https://manual.cs50.io/3/fpurge) - purge a stream - [fputc](https://manual.cs50.io/3/fputc) - output of characters and strings - [fputc\_unlocked](https://manual.cs50.io/3/fputc_unlocked) - nonlocking stdio functions - [fputs](https://manual.cs50.io/3/fputs) - output of characters and strings - [fputs\_unlocked](https://manual.cs50.io/3/fputs_unlocked) - nonlocking stdio functions - [fputwc](https://manual.cs50.io/3/fputwc) - write a wide character to a FILE stream - [fputwc\_unlocked](https://manual.cs50.io/3/fputwc_unlocked) - nonlocking stdio functions - [fputws\_unlocked](https://manual.cs50.io/3/fputws_unlocked) - nonlocking stdio functions - [fread](https://manual.cs50.io/3/fread) - binary stream input/output read bytes from a file - [fread\_unlocked](https://manual.cs50.io/3/fread_unlocked) - nonlocking stdio functions - [freopen](https://manual.cs50.io/3/freopen) - stream open functions - [fscanf](https://manual.cs50.io/3/fscanf) - input FILE format conversion get input from a file - [fseek](https://manual.cs50.io/3/fseek) - reposition a stream - [fseeko](https://manual.cs50.io/3/fseeko) - seek to or report file position - [fsetpos](https://manual.cs50.io/3/fsetpos) - reposition a stream - [ftell](https://manual.cs50.io/3/ftell) - reposition a stream - [ftello](https://manual.cs50.io/3/ftello) - seek to or report file position - [ftrylockfile](https://manual.cs50.io/3/ftrylockfile) - lock FILE for stdio - [funlockfile](https://manual.cs50.io/3/funlockfile) - lock FILE for stdio - [fwprintf](https://manual.cs50.io/3/fwprintf) - formatted wide-character output conversion - [fwrite](https://manual.cs50.io/3/fwrite) - binary stream input/output write bytes to a file - [fwrite\_unlocked](https://manual.cs50.io/3/fwrite_unlocked) - nonlocking stdio functions - [getc](https://manual.cs50.io/3/getc) - input of characters and strings - [getc\_unlocked](https://manual.cs50.io/3/getc_unlocked) - nonlocking stdio functions - [getchar](https://manual.cs50.io/3/getchar) - input of characters and strings - [getchar\_unlocked](https://manual.cs50.io/3/getchar_unlocked) - nonlocking stdio functions - [getdelim](https://manual.cs50.io/3/getdelim) - delimited string input - [getline](https://manual.cs50.io/3/getline) - delimited string input - [getmntent](https://manual.cs50.io/3/getmntent) - get filesystem descriptor file entry - [getmntent\_r](https://manual.cs50.io/3/getmntent_r) - get filesystem descriptor file entry - [gets](https://manual.cs50.io/3/gets) - get a string from standard input (DEPRECATED) - [getw](https://manual.cs50.io/3/getw) - input and output of words (ints) - [getwc](https://manual.cs50.io/3/getwc) - read a wide character from a FILE stream - [getwc\_unlocked](https://manual.cs50.io/3/getwc_unlocked) - nonlocking stdio functions - [getwchar\_unlocked](https://manual.cs50.io/3/getwchar_unlocked) - nonlocking stdio functions - [hasmntopt](https://manual.cs50.io/3/hasmntopt) - get filesystem descriptor file entry - [open\_memstream](https://manual.cs50.io/3/open_memstream) - open a dynamic memory buffer stream - [open\_wmemstream](https://manual.cs50.io/3/open_wmemstream) - open a dynamic memory buffer stream - [pclose](https://manual.cs50.io/3/pclose) - pipe stream to or from a process - [perror](https://manual.cs50.io/3/perror) - print a system error message - [popen](https://manual.cs50.io/3/popen) - pipe stream to or from a process - [printf](https://manual.cs50.io/3/printf) - formatted output conversion print to the screen - [putc](https://manual.cs50.io/3/putc) - output of characters and strings - [putc\_unlocked](https://manual.cs50.io/3/putc_unlocked) - nonlocking stdio functions - [putchar](https://manual.cs50.io/3/putchar) - output of characters and strings - [putchar\_unlocked](https://manual.cs50.io/3/putchar_unlocked) - nonlocking stdio functions - [putpwent](https://manual.cs50.io/3/putpwent) - write a password file entry - [puts](https://manual.cs50.io/3/puts) - output of characters and strings - [putw](https://manual.cs50.io/3/putw) - input and output of words (ints) - [putwc](https://manual.cs50.io/3/putwc) - write a wide character to a FILE stream - [putwc\_unlocked](https://manual.cs50.io/3/putwc_unlocked) - nonlocking stdio functions - [putwchar\_unlocked](https://manual.cs50.io/3/putwchar_unlocked) - nonlocking stdio functions - [remove](https://manual.cs50.io/3/remove) - remove a file or directory - [rename](https://manual.cs50.io/2/rename) - change the name or location of a file - [renameat](https://manual.cs50.io/2/renameat) - change the name or location of a file - [renameat2](https://manual.cs50.io/2/renameat2) - change the name or location of a file - [rewind](https://manual.cs50.io/3/rewind) - reposition a stream - [scanf](https://manual.cs50.io/3/scanf) - input FILE format conversion get input from a user - [setbuf](https://manual.cs50.io/3/setbuf) - stream buffering operations - [setbuffer](https://manual.cs50.io/3/setbuffer) - stream buffering operations - [setlinebuf](https://manual.cs50.io/3/setlinebuf) - stream buffering operations - [setmntent](https://manual.cs50.io/3/setmntent) - get filesystem descriptor file entry - [setvbuf](https://manual.cs50.io/3/setvbuf) - stream buffering operations - [snprintf](https://manual.cs50.io/3/snprintf) - formatted output conversion - [sprintf](https://manual.cs50.io/3/sprintf) - formatted output conversion print to a string - [sscanf](https://manual.cs50.io/3/sscanf) - input string format conversion - [stderr](https://manual.cs50.io/3/stderr) - standard I/O streams - [stdin](https://manual.cs50.io/3/stdin) - standard I/O streams - [stdio](https://manual.cs50.io/3/stdio) - standard input/output library functions - [stdio\_ext](https://manual.cs50.io/3/stdio_ext) - interfaces to stdio FILE structure - [stdout](https://manual.cs50.io/3/stdout) - standard I/O streams - [swprintf](https://manual.cs50.io/3/swprintf) - formatted wide-character output conversion - [sys\_errlist](https://manual.cs50.io/3/sys_errlist) - print a system error message - [sys\_nerr](https://manual.cs50.io/3/sys_nerr) - print a system error message - [tempnam](https://manual.cs50.io/3/tempnam) - create a name for a temporary file - [tmpfile](https://manual.cs50.io/3/tmpfile) - create a temporary file - [tmpnam](https://manual.cs50.io/3/tmpnam) - create a name for a temporary file - [tmpnam\_r](https://manual.cs50.io/3/tmpnam_r) - create a name for a temporary file - [ungetc](https://manual.cs50.io/3/ungetc) - input of characters and strings - [unlocked\_stdio](https://manual.cs50.io/3/unlocked_stdio) - nonlocking stdio functions - [vasprintf](https://manual.cs50.io/3/vasprintf) - print to allocated string - [vdprintf](https://manual.cs50.io/3/vdprintf) - formatted output conversion - [vfprintf](https://manual.cs50.io/3/vfprintf) - formatted output conversion - [vfscanf](https://manual.cs50.io/3/vfscanf) - input FILE format conversion - [vfwprintf](https://manual.cs50.io/3/vfwprintf) - formatted wide-character output conversion - [vprintf](https://manual.cs50.io/3/vprintf) - formatted output conversion - [vscanf](https://manual.cs50.io/3/vscanf) - input FILE format conversion - [vsnprintf](https://manual.cs50.io/3/vsnprintf) - formatted output conversion - [vsprintf](https://manual.cs50.io/3/vsprintf) - formatted output conversion - [vsscanf](https://manual.cs50.io/3/vsscanf) - input string format conversion - [vswprintf](https://manual.cs50.io/3/vswprintf) - formatted wide-character output conversion - [vwprintf](https://manual.cs50.io/3/vwprintf) - formatted wide-character output conversion - [wprintf](https://manual.cs50.io/3/wprintf) - formatted wide-character output conversion # [stdlib.h](https://manual.cs50.io/#stdlib.h) - [a64l](https://manual.cs50.io/3/a64l) - convert between long and base-64 - [abort](https://manual.cs50.io/3/abort) - cause abnormal process termination - [abs](https://manual.cs50.io/3/abs) - compute the absolute value of an integer - [aligned\_alloc](https://manual.cs50.io/3/aligned_alloc) - allocate aligned memory - [arc4random](https://manual.cs50.io/3/arc4random) - cryptographically-secure pseudorandom number generator - [arc4random\_buf](https://manual.cs50.io/3/arc4random_buf) - cryptographically-secure pseudorandom number generator - [arc4random\_uniform](https://manual.cs50.io/3/arc4random_uniform) - cryptographically-secure pseudorandom number generator - [atexit](https://manual.cs50.io/3/atexit) - register a function to be called at normal process ter... - [atof](https://manual.cs50.io/3/atof) - convert a string to a double convert a `string` to a `float` - [atoi](https://manual.cs50.io/3/atoi) - convert a string to an integer convert a `string` to an `int` - [atol](https://manual.cs50.io/3/atol) - convert a string to an integer convert a `string` to a `long` - [atoll](https://manual.cs50.io/3/atoll) - convert a string to an integer - [atoq](https://manual.cs50.io/3/atoq) - convert a string to an integer - [bsearch](https://manual.cs50.io/3/bsearch) - binary search of a sorted array - [calloc](https://manual.cs50.io/3/calloc) - allocate and free dynamic memory - [canonicalize\_file\_name](https://manual.cs50.io/3/canonicalize_file_name) - return the canonicalized absolute pathname - [cfree](https://manual.cs50.io/3/cfree) - free allocated memory - [clearenv](https://manual.cs50.io/3/clearenv) - clear the environment - [div](https://manual.cs50.io/3/div) - compute quotient and remainder of an integer division - [drand48](https://manual.cs50.io/3/drand48) - generate uniformly distributed pseudo-random numbers - [drand48\_r](https://manual.cs50.io/3/drand48_r) - generate uniformly distributed pseudo-random numbers r... - [ecvt](https://manual.cs50.io/3/ecvt) - convert a floating-point number to a string - [ecvt\_r](https://manual.cs50.io/3/ecvt_r) - convert a floating-point number to a string - [erand48](https://manual.cs50.io/3/erand48) - generate uniformly distributed pseudo-random numbers - [erand48\_r](https://manual.cs50.io/3/erand48_r) - generate uniformly distributed pseudo-random numbers r... - [exit](https://manual.cs50.io/3/exit) - cause normal process termination - [fcvt](https://manual.cs50.io/3/fcvt) - convert a floating-point number to a string - [fcvt\_r](https://manual.cs50.io/3/fcvt_r) - convert a floating-point number to a string - [free](https://manual.cs50.io/3/free) - allocate and free dynamic memory free dynamically allocated memory - [gcvt](https://manual.cs50.io/3/gcvt) - convert a floating-point number to a string - [getenv](https://manual.cs50.io/3/getenv) - get an environment variable - [getloadavg](https://manual.cs50.io/3/getloadavg) - get system load averages - [getpt](https://manual.cs50.io/3/getpt) - open a new pseudoterminal master - [getsubopt](https://manual.cs50.io/3/getsubopt) - parse suboption arguments from a string - [grantpt](https://manual.cs50.io/3/grantpt) - grant access to the slave pseudoterminal - [imaxabs](https://manual.cs50.io/3/imaxabs) - compute the absolute value of an integer - [imaxdiv](https://manual.cs50.io/3/imaxdiv) - compute quotient and remainder of an integer division - [initstate](https://manual.cs50.io/3/initstate) - random number generator - [initstate\_r](https://manual.cs50.io/3/initstate_r) - reentrant random number generator - [jrand48](https://manual.cs50.io/3/jrand48) - generate uniformly distributed pseudo-random numbers - [jrand48\_r](https://manual.cs50.io/3/jrand48_r) - generate uniformly distributed pseudo-random numbers r... - [l64a](https://manual.cs50.io/3/l64a) - convert between long and base-64 - [labs](https://manual.cs50.io/3/labs) - compute the absolute value of an integer - [lcong48](https://manual.cs50.io/3/lcong48) - generate uniformly distributed pseudo-random numbers - [lcong48\_r](https://manual.cs50.io/3/lcong48_r) - generate uniformly distributed pseudo-random numbers r... - [ldiv](https://manual.cs50.io/3/ldiv) - compute quotient and remainder of an integer division - [llabs](https://manual.cs50.io/3/llabs) - compute the absolute value of an integer - [lldiv](https://manual.cs50.io/3/lldiv) - compute quotient and remainder of an integer division - [lrand48](https://manual.cs50.io/3/lrand48) - generate uniformly distributed pseudo-random numbers - [lrand48\_r](https://manual.cs50.io/3/lrand48_r) - generate uniformly distributed pseudo-random numbers r... - [malloc](https://manual.cs50.io/3/malloc) - allocate and free dynamic memory allocate memory dynamically - [MB\_CUR\_MAX](https://manual.cs50.io/3/MB_CUR_MAX) - maximum length of a multibyte character in the current... - [mblen](https://manual.cs50.io/3/mblen) - determine number of bytes in next multibyte character - [mbstowcs](https://manual.cs50.io/3/mbstowcs) - convert a multibyte string to a wide-character string - [mbtowc](https://manual.cs50.io/3/mbtowc) - convert a multibyte sequence to a wide character - [memalign](https://manual.cs50.io/3/memalign) - allocate aligned memory - [mkdtemp](https://manual.cs50.io/3/mkdtemp) - create a unique temporary directory - [mkostemp](https://manual.cs50.io/3/mkostemp) - create a unique temporary file - [mkostemps](https://manual.cs50.io/3/mkostemps) - create a unique temporary file - [mkstemp](https://manual.cs50.io/3/mkstemp) - create a unique temporary file - [mkstemps](https://manual.cs50.io/3/mkstemps) - create a unique temporary file - [mktemp](https://manual.cs50.io/3/mktemp) - make a unique temporary filename - [mrand48](https://manual.cs50.io/3/mrand48) - generate uniformly distributed pseudo-random numbers - [mrand48\_r](https://manual.cs50.io/3/mrand48_r) - generate uniformly distributed pseudo-random numbers r... - [nrand48](https://manual.cs50.io/3/nrand48) - generate uniformly distributed pseudo-random numbers - [nrand48\_r](https://manual.cs50.io/3/nrand48_r) - generate uniformly distributed pseudo-random numbers r... - [on\_exit](https://manual.cs50.io/3/on_exit) - register a function to be called at normal process ter... - [posix\_memalign](https://manual.cs50.io/3/posix_memalign) - allocate aligned memory - [posix\_openpt](https://manual.cs50.io/3/posix_openpt) - open a pseudoterminal device - [ptsname](https://manual.cs50.io/3/ptsname) - get the name of the slave pseudoterminal - [ptsname\_r](https://manual.cs50.io/3/ptsname_r) - get the name of the slave pseudoterminal - [putenv](https://manual.cs50.io/3/putenv) - change or add an environment variable - [pvalloc](https://manual.cs50.io/3/pvalloc) - allocate aligned memory - [qecvt](https://manual.cs50.io/3/qecvt) - convert a floating-point number to a string - [qecvt\_r](https://manual.cs50.io/3/qecvt_r) - convert a floating-point number to a string - [qfcvt](https://manual.cs50.io/3/qfcvt) - convert a floating-point number to a string - [qfcvt\_r](https://manual.cs50.io/3/qfcvt_r) - convert a floating-point number to a string - [qgcvt](https://manual.cs50.io/3/qgcvt) - convert a floating-point number to a string - [qsort](https://manual.cs50.io/3/qsort) - sort an array - [qsort\_r](https://manual.cs50.io/3/qsort_r) - sort an array - [rand](https://manual.cs50.io/3/rand) - pseudo-random number generator - [rand\_r](https://manual.cs50.io/3/rand_r) - pseudo-random number generator - [random](https://manual.cs50.io/3/random) - random number generator generate a pseudorandom number - [random\_r](https://manual.cs50.io/3/random_r) - reentrant random number generator - [realloc](https://manual.cs50.io/3/realloc) - allocate and free dynamic memory reallocate memory dynamically - [reallocarray](https://manual.cs50.io/3/reallocarray) - allocate and free dynamic memory - [rpmatch](https://manual.cs50.io/3/rpmatch) - determine if the answer to a question is affirmative o... - [secure\_getenv](https://manual.cs50.io/3/secure_getenv) - get an environment variable - [seed48](https://manual.cs50.io/3/seed48) - generate uniformly distributed pseudo-random numbers - [seed48\_r](https://manual.cs50.io/3/seed48_r) - generate uniformly distributed pseudo-random numbers r... - [setenv](https://manual.cs50.io/3/setenv) - change or add an environment variable - [setstate](https://manual.cs50.io/3/setstate) - random number generator - [setstate\_r](https://manual.cs50.io/3/setstate_r) - reentrant random number generator - [srand](https://manual.cs50.io/3/srand) - pseudo-random number generator - [srand48](https://manual.cs50.io/3/srand48) - generate uniformly distributed pseudo-random numbers - [srand48\_r](https://manual.cs50.io/3/srand48_r) - generate uniformly distributed pseudo-random numbers r... - [srandom](https://manual.cs50.io/3/srandom) - random number generator seed pseudorandom number generation - [srandom\_r](https://manual.cs50.io/3/srandom_r) - reentrant random number generator - [strfromd](https://manual.cs50.io/3/strfromd) - convert a floating-point value into a string - [strfromf](https://manual.cs50.io/3/strfromf) - convert a floating-point value into a string - [strfroml](https://manual.cs50.io/3/strfroml) - convert a floating-point value into a string - [strtod](https://manual.cs50.io/3/strtod) - convert ASCII string to floating-point number - [strtof](https://manual.cs50.io/3/strtof) - convert ASCII string to floating-point number - [strtol](https://manual.cs50.io/3/strtol) - convert a string to a long integer - [strtold](https://manual.cs50.io/3/strtold) - convert ASCII string to floating-point number - [strtoll](https://manual.cs50.io/3/strtoll) - convert a string to a long integer - [strtoq](https://manual.cs50.io/3/strtoq) - convert a string to a long integer - [strtoul](https://manual.cs50.io/3/strtoul) - convert a string to an unsigned long integer - [strtoull](https://manual.cs50.io/3/strtoull) - convert a string to an unsigned long integer - [strtouq](https://manual.cs50.io/3/strtouq) - convert a string to an unsigned long integer - [system](https://manual.cs50.io/3/system) - execute a shell command - [unlockpt](https://manual.cs50.io/3/unlockpt) - unlock a pseudoterminal master/slave pair - [unsetenv](https://manual.cs50.io/3/unsetenv) - change or add an environment variable - [valloc](https://manual.cs50.io/3/valloc) - allocate aligned memory - [wcstombs](https://manual.cs50.io/3/wcstombs) - convert a wide-character string to a multibyte string - [wctomb](https://manual.cs50.io/3/wctomb) - convert a wide character to a multibyte sequence # [string.h](https://manual.cs50.io/#string.h) - [bstring](https://manual.cs50.io/3/bstring) - byte string operations - [memccpy](https://manual.cs50.io/3/memccpy) - copy memory area - [memchr](https://manual.cs50.io/3/memchr) - scan memory for a character - [memcmp](https://manual.cs50.io/3/memcmp) - compare memory areas - [memcpy](https://manual.cs50.io/3/memcpy) - copy memory area - [memfrob](https://manual.cs50.io/3/memfrob) - frobnicate (obfuscate) a memory area - [memmem](https://manual.cs50.io/3/memmem) - locate a substring - [memmove](https://manual.cs50.io/3/memmove) - copy memory area - [mempcpy](https://manual.cs50.io/3/mempcpy) - copy memory area - [memrchr](https://manual.cs50.io/3/memrchr) - scan memory for a character - [memset](https://manual.cs50.io/3/memset) - fill memory with a constant byte - [rawmemchr](https://manual.cs50.io/3/rawmemchr) - scan memory for a character - [sigabbrev\_np](https://manual.cs50.io/3/sigabbrev_np) - return string describing signal - [sigdescr\_np](https://manual.cs50.io/3/sigdescr_np) - return string describing signal - [stpcpy](https://manual.cs50.io/3/stpcpy) - copy or catenate a string - [stpncpy](https://manual.cs50.io/3/stpncpy) - fill a fixed-size buffer with non-null bytes from a st... - [strcasestr](https://manual.cs50.io/3/strcasestr) - locate a substring locate a substring - [strcat](https://manual.cs50.io/3/strcat) - copy or catenate a string - [strchr](https://manual.cs50.io/3/strchr) - locate character in string - [strchrnul](https://manual.cs50.io/3/strchrnul) - locate character in string - [strcmp](https://manual.cs50.io/3/strcmp) - compare two strings compare two strings - [strcoll](https://manual.cs50.io/3/strcoll) - compare two strings using the current locale - [strcpy](https://manual.cs50.io/3/strcpy) - copy or catenate a string copy a string - [strcspn](https://manual.cs50.io/3/strcspn) - get length of a prefix substring - [strdup](https://manual.cs50.io/3/strdup) - duplicate a string - [strdupa](https://manual.cs50.io/3/strdupa) - duplicate a string - [strerror](https://manual.cs50.io/3/strerror) - return string describing error number - [strerror\_l](https://manual.cs50.io/3/strerror_l) - return string describing error number - [strerror\_r](https://manual.cs50.io/3/strerror_r) - return string describing error number - [strerrordesc\_np](https://manual.cs50.io/3/strerrordesc_np) - return string describing error number - [strerrorname\_np](https://manual.cs50.io/3/strerrorname_np) - return string describing error number - [strfry](https://manual.cs50.io/3/strfry) - randomize a string - [strlen](https://manual.cs50.io/3/strlen) - calculate the length of a string calculate the length of a string - [strncat](https://manual.cs50.io/3/strncat) - append non-null bytes from a source array to a string,... - [strncmp](https://manual.cs50.io/3/strncmp) - compare two strings - [strncpy](https://manual.cs50.io/3/strncpy) - fill a fixed-size buffer with non-null bytes from a st... - [strndup](https://manual.cs50.io/3/strndup) - duplicate a string - [strndupa](https://manual.cs50.io/3/strndupa) - duplicate a string - [strnlen](https://manual.cs50.io/3/strnlen) - determine the length of a fixed-size string - [strpbrk](https://manual.cs50.io/3/strpbrk) - search a string for any of a set of bytes - [strrchr](https://manual.cs50.io/3/strrchr) - locate character in string - [strsep](https://manual.cs50.io/3/strsep) - extract token from string - [strsignal](https://manual.cs50.io/3/strsignal) - return string describing signal - [strspn](https://manual.cs50.io/3/strspn) - get length of a prefix substring - [strstr](https://manual.cs50.io/3/strstr) - locate a substring locate a substring - [strtok](https://manual.cs50.io/3/strtok) - extract tokens from strings - [strtok\_r](https://manual.cs50.io/3/strtok_r) - extract tokens from strings - [strverscmp](https://manual.cs50.io/3/strverscmp) - compare two version strings - [strxfrm](https://manual.cs50.io/3/strxfrm) - string transformation - [sys\_siglist](https://manual.cs50.io/3/sys_siglist) - return string describing signal - [wmempcpy](https://manual.cs50.io/3/wmempcpy) - copy memory area # [strings.h](https://manual.cs50.io/#strings.h) - [bcmp](https://manual.cs50.io/3/bcmp) - compare byte sequences - [bcopy](https://manual.cs50.io/3/bcopy) - copy byte sequence - [bzero](https://manual.cs50.io/3/bzero) - zero a byte string - [explicit\_bzero](https://manual.cs50.io/3/explicit_bzero) - zero a byte string - [ffs](https://manual.cs50.io/3/ffs) - find first bit set in a word - [ffsl](https://manual.cs50.io/3/ffsl) - find first bit set in a word - [ffsll](https://manual.cs50.io/3/ffsll) - find first bit set in a word - [index](https://manual.cs50.io/3/index) - locate character in string - [rindex](https://manual.cs50.io/3/rindex) - locate character in string - [strcasecmp](https://manual.cs50.io/3/strcasecmp) - compare two strings ignoring case compare two strings ignoring case - [string](https://manual.cs50.io/3/string) - string operations - [strncasecmp](https://manual.cs50.io/3/strncasecmp) - compare two strings ignoring case # [sys/ipc.h](https://manual.cs50.io/#sys/ipc.h) - [ftok](https://manual.cs50.io/3/ftok) - convert a pathname and a project identifier to a Syste... # [sys/mman.h](https://manual.cs50.io/#sys/mman.h) - [madvise](https://manual.cs50.io/2/madvise) - give advice about use of memory - [memfd\_create](https://manual.cs50.io/2/memfd_create) - create an anonymous file - [mincore](https://manual.cs50.io/2/mincore) - determine whether pages are resident in memory - [mlock](https://manual.cs50.io/2/mlock) - lock and unlock memory - [mlock2](https://manual.cs50.io/2/mlock2) - lock and unlock memory - [mlockall](https://manual.cs50.io/2/mlockall) - lock and unlock memory - [mmap](https://manual.cs50.io/2/mmap) - map or unmap files or devices into memory - [mmap64](https://manual.cs50.io/3/mmap64) - map or unmap files or devices into memory - [mprotect](https://manual.cs50.io/2/mprotect) - set protection on a region of memory - [mremap](https://manual.cs50.io/2/mremap) - remap a virtual memory address - [msync](https://manual.cs50.io/2/msync) - synchronize a file with a memory map - [munlock](https://manual.cs50.io/2/munlock) - lock and unlock memory - [munlockall](https://manual.cs50.io/2/munlockall) - lock and unlock memory - [munmap](https://manual.cs50.io/2/munmap) - map or unmap files or devices into memory - [pkey\_alloc](https://manual.cs50.io/2/pkey_alloc) - allocate or free a protection key - [pkey\_free](https://manual.cs50.io/2/pkey_free) - allocate or free a protection key - [pkey\_mprotect](https://manual.cs50.io/2/pkey_mprotect) - set protection on a region of memory - [posix\_madvise](https://manual.cs50.io/3/posix_madvise) - give advice about patterns of memory usage - [process\_madvise](https://manual.cs50.io/2/process_madvise) - give advice about use of memory to a process - [remap\_file\_pages](https://manual.cs50.io/2/remap_file_pages) - create a nonlinear file mapping - [shm\_open](https://manual.cs50.io/3/shm_open) - create/open or unlink POSIX shared memory objects - [shm\_unlink](https://manual.cs50.io/3/shm_unlink) - create/open or unlink POSIX shared memory objects # [sys/msg.h](https://manual.cs50.io/#sys/msg.h) - [msgctl](https://manual.cs50.io/2/msgctl) - System V message control operations - [msgget](https://manual.cs50.io/2/msgget) - get a System V message queue identifier - [msgop](https://manual.cs50.io/2/msgop) - System V message queue operations - [msgrcv](https://manual.cs50.io/2/msgrcv) - System V message queue operations - [msgsnd](https://manual.cs50.io/2/msgsnd) - System V message queue operations # [sys/resource.h](https://manual.cs50.io/#sys/resource.h) - [getpriority](https://manual.cs50.io/2/getpriority) - get/set program scheduling priority - [getrlimit](https://manual.cs50.io/2/getrlimit) - get/set resource limits - [getrusage](https://manual.cs50.io/2/getrusage) - get resource usage - [prlimit](https://manual.cs50.io/2/prlimit) - get/set resource limits - [prlimit64](https://manual.cs50.io/2/prlimit64) - get/set resource limits - [setpriority](https://manual.cs50.io/2/setpriority) - get/set program scheduling priority - [setrlimit](https://manual.cs50.io/2/setrlimit) - get/set resource limits - [ugetrlimit](https://manual.cs50.io/2/ugetrlimit) - get/set resource limits - [vlimit](https://manual.cs50.io/3/vlimit) - get/set resource limits - [vtimes](https://manual.cs50.io/3/vtimes) - get resource usage # [sys/select.h](https://manual.cs50.io/#sys/select.h) - [\_newselect](https://manual.cs50.io/2/_newselect) - synchronous I/O multiplexing - [FD\_CLR](https://manual.cs50.io/3/FD_CLR) - synchronous I/O multiplexing - [FD\_ISSET](https://manual.cs50.io/3/FD_ISSET) - synchronous I/O multiplexing - [FD\_SET](https://manual.cs50.io/3/FD_SET) - synchronous I/O multiplexing - [FD\_ZERO](https://manual.cs50.io/3/FD_ZERO) - synchronous I/O multiplexing - [pselect](https://manual.cs50.io/2/pselect) - synchronous I/O multiplexing - [pselect6](https://manual.cs50.io/2/pselect6) - synchronous I/O multiplexing - [select](https://manual.cs50.io/2/select) - synchronous I/O multiplexing # [sys/sem.h](https://manual.cs50.io/#sys/sem.h) - [semctl](https://manual.cs50.io/2/semctl) - System V semaphore control operations - [semget](https://manual.cs50.io/2/semget) - get a System V semaphore set identifier - [semop](https://manual.cs50.io/2/semop) - System V semaphore operations - [semtimedop](https://manual.cs50.io/2/semtimedop) - System V semaphore operations # [sys/shm.h](https://manual.cs50.io/#sys/shm.h) - [shmat](https://manual.cs50.io/2/shmat) - System V shared memory operations - [shmctl](https://manual.cs50.io/2/shmctl) - System V shared memory control - [shmdt](https://manual.cs50.io/2/shmdt) - System V shared memory operations - [shmget](https://manual.cs50.io/2/shmget) - allocates a System V shared memory segment - [shmop](https://manual.cs50.io/2/shmop) - System V shared memory operations # [sys/socket.h](https://manual.cs50.io/#sys/socket.h) - [accept](https://manual.cs50.io/2/accept) - accept a connection on a socket - [accept4](https://manual.cs50.io/2/accept4) - accept a connection on a socket - [address\_families](https://manual.cs50.io/7/address_families) - socket address families (domains) - [bind](https://manual.cs50.io/2/bind) - bind a name to a socket - [cmsg](https://manual.cs50.io/3/cmsg) - access ancillary data - [CMSG\_ALIGN](https://manual.cs50.io/3/CMSG_ALIGN) - access ancillary data - [CMSG\_DATA](https://manual.cs50.io/3/CMSG_DATA) - access ancillary data - [CMSG\_FIRSTHDR](https://manual.cs50.io/3/CMSG_FIRSTHDR) - access ancillary data - [CMSG\_LEN](https://manual.cs50.io/3/CMSG_LEN) - access ancillary data - [CMSG\_NXTHDR](https://manual.cs50.io/3/CMSG_NXTHDR) - access ancillary data - [CMSG\_SPACE](https://manual.cs50.io/3/CMSG_SPACE) - access ancillary data - [connect](https://manual.cs50.io/2/connect) - initiate a connection on a socket - [ddp](https://manual.cs50.io/7/ddp) - Linux AppleTalk protocol implementation - [getnameinfo](https://manual.cs50.io/3/getnameinfo) - address-to-name translation in protocol-independent ma... - [getpeername](https://manual.cs50.io/2/getpeername) - get name of connected peer socket - [getsockname](https://manual.cs50.io/2/getsockname) - get socket name - [getsockopt](https://manual.cs50.io/2/getsockopt) - get and set options on sockets - [inet](https://manual.cs50.io/3/inet) - Internet address manipulation routines - [inet\_addr](https://manual.cs50.io/3/inet_addr) - Internet address manipulation routines - [inet\_aton](https://manual.cs50.io/3/inet_aton) - Internet address manipulation routines - [inet\_lnaof](https://manual.cs50.io/3/inet_lnaof) - Internet address manipulation routines - [inet\_makeaddr](https://manual.cs50.io/3/inet_makeaddr) - Internet address manipulation routines - [inet\_netof](https://manual.cs50.io/3/inet_netof) - Internet address manipulation routines - [inet\_network](https://manual.cs50.io/3/inet_network) - Internet address manipulation routines - [inet\_ntoa](https://manual.cs50.io/3/inet_ntoa) - Internet address manipulation routines - [ip](https://manual.cs50.io/7/ip) - Linux IPv4 protocol implementation - [ipv6](https://manual.cs50.io/7/ipv6) - Linux IPv6 protocol implementation - [listen](https://manual.cs50.io/2/listen) - listen for connections on a socket - [packet](https://manual.cs50.io/7/packet) - packet interface on device level - [raw](https://manual.cs50.io/7/raw) - Linux IPv4 raw sockets - [recv](https://manual.cs50.io/2/recv) - receive a message from a socket - [recvfrom](https://manual.cs50.io/2/recvfrom) - receive a message from a socket - [recvmmsg](https://manual.cs50.io/2/recvmmsg) - receive multiple messages on a socket - [recvmsg](https://manual.cs50.io/2/recvmsg) - receive a message from a socket - [send](https://manual.cs50.io/2/send) - send a message on a socket - [sendmmsg](https://manual.cs50.io/2/sendmmsg) - send multiple messages on a socket - [sendmsg](https://manual.cs50.io/2/sendmsg) - send a message on a socket - [sendto](https://manual.cs50.io/2/sendto) - send a message on a socket - [setsockopt](https://manual.cs50.io/2/setsockopt) - get and set options on sockets - [shutdown](https://manual.cs50.io/2/shutdown) - shut down part of a full-duplex connection - [sock\_diag](https://manual.cs50.io/7/sock_diag) - obtaining information about sockets - [sockatmark](https://manual.cs50.io/3/sockatmark) - determine whether socket is at out-of-band mark - [socket](https://manual.cs50.io/2/socket) - create an endpoint for communication - [socket](https://manual.cs50.io/7/socket) - Linux socket interface - [socketpair](https://manual.cs50.io/2/socketpair) - create a pair of connected sockets - [tcp](https://manual.cs50.io/7/tcp) - TCP protocol - [udp](https://manual.cs50.io/7/udp) - User Datagram Protocol for IPv4 - [udplite](https://manual.cs50.io/7/udplite) - Lightweight User Datagram Protocol - [unix](https://manual.cs50.io/7/unix) - sockets for local interprocess communication - [vsock](https://manual.cs50.io/7/vsock) - Linux VSOCK address family - [x25](https://manual.cs50.io/7/x25) - ITU-T X.25 / ISO/IEC 8208 protocol interface # [sys/stat.h](https://manual.cs50.io/#sys/stat.h) - [chmod](https://manual.cs50.io/2/chmod) - change permissions of a file - [fchmod](https://manual.cs50.io/2/fchmod) - change permissions of a file - [fchmodat](https://manual.cs50.io/2/fchmodat) - change permissions of a file - [fstat](https://manual.cs50.io/2/fstat) - get file status - [fstat64](https://manual.cs50.io/2/fstat64) - get file status - [fstatat](https://manual.cs50.io/2/fstatat) - get file status - [fstatat64](https://manual.cs50.io/2/fstatat64) - get file status - [futimens](https://manual.cs50.io/3/futimens) - change file timestamps with nanosecond precision - [isfdtype](https://manual.cs50.io/3/isfdtype) - test file type of a file descriptor - [lstat](https://manual.cs50.io/2/lstat) - get file status - [lstat64](https://manual.cs50.io/2/lstat64) - get file status - [mkdir](https://manual.cs50.io/2/mkdir) - create a directory - [mkdirat](https://manual.cs50.io/2/mkdirat) - create a directory - [mknod](https://manual.cs50.io/2/mknod) - create a special or ordinary file - [mknodat](https://manual.cs50.io/2/mknodat) - create a special or ordinary file - [newfstatat](https://manual.cs50.io/2/newfstatat) - get file status - [oldfstat](https://manual.cs50.io/2/oldfstat) - get file status - [oldlstat](https://manual.cs50.io/2/oldlstat) - get file status - [oldstat](https://manual.cs50.io/2/oldstat) - get file status - [stat](https://manual.cs50.io/2/stat) - get file status - [stat64](https://manual.cs50.io/2/stat64) - get file status - [statx](https://manual.cs50.io/2/statx) - get file status (extended) - [umask](https://manual.cs50.io/2/umask) - set file mode creation mask - [utimensat](https://manual.cs50.io/2/utimensat) - change file timestamps with nanosecond precision # [sys/statvfs.h](https://manual.cs50.io/#sys/statvfs.h) - [fstatvfs](https://manual.cs50.io/3/fstatvfs) - get filesystem statistics - [statvfs](https://manual.cs50.io/3/statvfs) - get filesystem statistics # [sys/time.h](https://manual.cs50.io/#sys/time.h) - [adjtime](https://manual.cs50.io/3/adjtime) - correct the time to synchronize the system clock - [futimes](https://manual.cs50.io/3/futimes) - change file timestamps - [futimesat](https://manual.cs50.io/2/futimesat) - change timestamps of a file relative to a directory fi... - [getitimer](https://manual.cs50.io/2/getitimer) - get or set value of an interval timer - [gettimeofday](https://manual.cs50.io/2/gettimeofday) - get / set time - [lutimes](https://manual.cs50.io/3/lutimes) - change file timestamps - [setitimer](https://manual.cs50.io/2/setitimer) - get or set value of an interval timer - [settimeofday](https://manual.cs50.io/2/settimeofday) - get / set time - [timeradd](https://manual.cs50.io/3/timeradd) - timeval operations - [timerclear](https://manual.cs50.io/3/timerclear) - timeval operations - [timercmp](https://manual.cs50.io/3/timercmp) - timeval operations - [timerisset](https://manual.cs50.io/3/timerisset) - timeval operations - [timersub](https://manual.cs50.io/3/timersub) - timeval operations - [TIMESPEC\_TO\_TIMEVAL](https://manual.cs50.io/3/TIMESPEC_TO_TIMEVAL) - convert between time structures - [TIMEVAL\_TO\_TIMESPEC](https://manual.cs50.io/3/TIMEVAL_TO_TIMESPEC) - convert between time structures # [sys/times.h](https://manual.cs50.io/#sys/times.h) - [times](https://manual.cs50.io/2/times) - get process times # [sys/types.h](https://manual.cs50.io/#sys/types.h) - [bindresvport](https://manual.cs50.io/3/bindresvport) - bind a socket to a privileged IP port - [closedir](https://manual.cs50.io/3/closedir) - close a directory - [db](https://manual.cs50.io/3/db) - database access methods - [dbopen](https://manual.cs50.io/3/dbopen) - database access methods - [dirfd](https://manual.cs50.io/3/dirfd) - get directory stream file descriptor - [endgrent](https://manual.cs50.io/3/endgrent) - get group file entry - [endpwent](https://manual.cs50.io/3/endpwent) - get password file entry - [fdopendir](https://manual.cs50.io/3/fdopendir) - open a directory - [freeaddrinfo](https://manual.cs50.io/3/freeaddrinfo) - network address and service translation - [freehostent](https://manual.cs50.io/3/freehostent) - get network hostnames and addresses - [freeifaddrs](https://manual.cs50.io/3/freeifaddrs) - get interface addresses - [fts](https://manual.cs50.io/3/fts) - traverse a file hierarchy - [fts\_children](https://manual.cs50.io/3/fts_children) - traverse a file hierarchy - [fts\_close](https://manual.cs50.io/3/fts_close) - traverse a file hierarchy - [fts\_open](https://manual.cs50.io/3/fts_open) - traverse a file hierarchy - [fts\_read](https://manual.cs50.io/3/fts_read) - traverse a file hierarchy - [fts\_set](https://manual.cs50.io/3/fts_set) - traverse a file hierarchy - [gai\_strerror](https://manual.cs50.io/3/gai_strerror) - network address and service translation - [getaddrinfo](https://manual.cs50.io/3/getaddrinfo) - network address and service translation - [getgrent](https://manual.cs50.io/3/getgrent) - get group file entry - [getgrgid](https://manual.cs50.io/3/getgrgid) - get group file entry - [getgrgid\_r](https://manual.cs50.io/3/getgrgid_r) - get group file entry - [getgrnam](https://manual.cs50.io/3/getgrnam) - get group file entry - [getgrnam\_r](https://manual.cs50.io/3/getgrnam_r) - get group file entry - [getifaddrs](https://manual.cs50.io/3/getifaddrs) - get interface addresses - [getipnodebyaddr](https://manual.cs50.io/3/getipnodebyaddr) - get network hostnames and addresses - [getipnodebyname](https://manual.cs50.io/3/getipnodebyname) - get network hostnames and addresses - [getpw](https://manual.cs50.io/3/getpw) - reconstruct password line entry - [getpwent](https://manual.cs50.io/3/getpwent) - get password file entry - [getpwnam](https://manual.cs50.io/3/getpwnam) - get password file entry - [getpwnam\_r](https://manual.cs50.io/3/getpwnam_r) - get password file entry - [getpwuid](https://manual.cs50.io/3/getpwuid) - get password file entry - [getpwuid\_r](https://manual.cs50.io/3/getpwuid_r) - get password file entry - [initgroups](https://manual.cs50.io/3/initgroups) - initialize the supplementary group access list - [lseek64](https://manual.cs50.io/3/lseek64) - reposition 64-bit read/write file offset - [mkfifo](https://manual.cs50.io/3/mkfifo) - make a FIFO special file (a named pipe) - [mkfifoat](https://manual.cs50.io/3/mkfifoat) - make a FIFO special file (a named pipe) - [opendir](https://manual.cs50.io/3/opendir) - open a directory - [re\_comp](https://manual.cs50.io/3/re_comp) - BSD regex functions - [re\_exec](https://manual.cs50.io/3/re_exec) - BSD regex functions - [rewinddir](https://manual.cs50.io/3/rewinddir) - reset directory stream - [setgrent](https://manual.cs50.io/3/setgrent) - get group file entry - [setpwent](https://manual.cs50.io/3/setpwent) - get password file entry - [ustat](https://manual.cs50.io/2/ustat) - get filesystem statistics # [sys/uio.h](https://manual.cs50.io/#sys/uio.h) - [preadv](https://manual.cs50.io/2/preadv) - read or write data into multiple buffers - [preadv2](https://manual.cs50.io/2/preadv2) - read or write data into multiple buffers - [process\_vm\_readv](https://manual.cs50.io/2/process_vm_readv) - transfer data between process address spaces - [process\_vm\_writev](https://manual.cs50.io/2/process_vm_writev) - transfer data between process address spaces - [pwritev](https://manual.cs50.io/2/pwritev) - read or write data into multiple buffers - [pwritev2](https://manual.cs50.io/2/pwritev2) - read or write data into multiple buffers - [readv](https://manual.cs50.io/2/readv) - read or write data into multiple buffers - [writev](https://manual.cs50.io/2/writev) - read or write data into multiple buffers # [sys/utsname.h](https://manual.cs50.io/#sys/utsname.h) - [oldolduname](https://manual.cs50.io/2/oldolduname) - get name and information about current kernel - [olduname](https://manual.cs50.io/2/olduname) - get name and information about current kernel - [uname](https://manual.cs50.io/2/uname) - get name and information about current kernel # [sys/wait.h](https://manual.cs50.io/#sys/wait.h) - [wait](https://manual.cs50.io/2/wait) - wait for process to change state - [wait3](https://manual.cs50.io/2/wait3) - wait for process to change state, BSD style - [wait4](https://manual.cs50.io/2/wait4) - wait for process to change state, BSD style - [waitid](https://manual.cs50.io/2/waitid) - wait for process to change state - [waitpid](https://manual.cs50.io/2/waitpid) - wait for process to change state # [syslog.h](https://manual.cs50.io/#syslog.h) - [closelog](https://manual.cs50.io/3/closelog) - send messages to the system logger - [openlog](https://manual.cs50.io/3/openlog) - send messages to the system logger - [setlogmask](https://manual.cs50.io/3/setlogmask) - set log priority mask - [syslog](https://manual.cs50.io/3/syslog) - send messages to the system logger - [vsyslog](https://manual.cs50.io/3/vsyslog) - send messages to the system logger # [termios.h](https://manual.cs50.io/#termios.h) - [cfgetispeed](https://manual.cs50.io/3/cfgetispeed) - get and set terminal attributes, line control, get and... - [cfgetospeed](https://manual.cs50.io/3/cfgetospeed) - get and set terminal attributes, line control, get and... - [cfmakeraw](https://manual.cs50.io/3/cfmakeraw) - get and set terminal attributes, line control, get and... - [cfsetispeed](https://manual.cs50.io/3/cfsetispeed) - get and set terminal attributes, line control, get and... - [cfsetospeed](https://manual.cs50.io/3/cfsetospeed) - get and set terminal attributes, line control, get and... - [cfsetspeed](https://manual.cs50.io/3/cfsetspeed) - get and set terminal attributes, line control, get and... - [tcdrain](https://manual.cs50.io/3/tcdrain) - get and set terminal attributes, line control, get and... - [tcflow](https://manual.cs50.io/3/tcflow) - get and set terminal attributes, line control, get and... - [tcflush](https://manual.cs50.io/3/tcflush) - get and set terminal attributes, line control, get and... - [tcgetattr](https://manual.cs50.io/3/tcgetattr) - get and set terminal attributes, line control, get and... - [tcgetsid](https://manual.cs50.io/3/tcgetsid) - get session ID - [tcsendbreak](https://manual.cs50.io/3/tcsendbreak) - get and set terminal attributes, line control, get and... - [tcsetattr](https://manual.cs50.io/3/tcsetattr) - get and set terminal attributes, line control, get and... - [termios](https://manual.cs50.io/3/termios) - get and set terminal attributes, line control, get and... # [time.h](https://manual.cs50.io/#time.h) - [asctime](https://manual.cs50.io/3/asctime) - transform date and time to broken-down time or ASCII - [asctime\_r](https://manual.cs50.io/3/asctime_r) - transform date and time to broken-down time or ASCII - [clock](https://manual.cs50.io/3/clock) - determine processor time - [clock\_getcpuclockid](https://manual.cs50.io/3/clock_getcpuclockid) - obtain ID of a process CPU-time clock - [clock\_getres](https://manual.cs50.io/2/clock_getres) - clock and time functions - [clock\_gettime](https://manual.cs50.io/2/clock_gettime) - clock and time functions - [clock\_nanosleep](https://manual.cs50.io/2/clock_nanosleep) - high-resolution sleep with specifiable clock - [clock\_settime](https://manual.cs50.io/2/clock_settime) - clock and time functions - [ctime](https://manual.cs50.io/3/ctime) - transform date and time to broken-down time or ASCII - [ctime\_r](https://manual.cs50.io/3/ctime_r) - transform date and time to broken-down time or ASCII - [daylight](https://manual.cs50.io/3/daylight) - initialize time conversion information - [difftime](https://manual.cs50.io/3/difftime) - calculate time difference - [dysize](https://manual.cs50.io/3/dysize) - get number of days for a given year - [getdate](https://manual.cs50.io/3/getdate) - convert a date-plus-time string to broken-down time - [getdate\_err](https://manual.cs50.io/3/getdate_err) - convert a date-plus-time string to broken-down time - [getdate\_r](https://manual.cs50.io/3/getdate_r) - convert a date-plus-time string to broken-down time - [gmtime](https://manual.cs50.io/3/gmtime) - transform date and time to broken-down time or ASCII - [gmtime\_r](https://manual.cs50.io/3/gmtime_r) - transform date and time to broken-down time or ASCII - [localtime](https://manual.cs50.io/3/localtime) - transform date and time to broken-down time or ASCII - [localtime\_r](https://manual.cs50.io/3/localtime_r) - transform date and time to broken-down time or ASCII - [mktime](https://manual.cs50.io/3/mktime) - transform date and time to broken-down time or ASCII - [nanosleep](https://manual.cs50.io/2/nanosleep) - high-resolution sleep - [stime](https://manual.cs50.io/2/stime) - set time - [strftime](https://manual.cs50.io/3/strftime) - format date and time - [strftime\_l](https://manual.cs50.io/3/strftime_l) - format date and time - [strptime](https://manual.cs50.io/3/strptime) - convert a string representation of time to a time tm s... - [time](https://manual.cs50.io/2/time) - get time in seconds get time in seconds - [timegm](https://manual.cs50.io/3/timegm) - inverses of gmtime and localtime - [timelocal](https://manual.cs50.io/3/timelocal) - inverses of gmtime and localtime - [timer\_create](https://manual.cs50.io/2/timer_create) - create a POSIX per-process timer - [timer\_delete](https://manual.cs50.io/2/timer_delete) - delete a POSIX per-process timer - [timer\_getoverrun](https://manual.cs50.io/2/timer_getoverrun) - get overrun count for a POSIX per-process timer - [timer\_gettime](https://manual.cs50.io/2/timer_gettime) - arm/disarm and fetch state of POSIX per-process timer - [timer\_settime](https://manual.cs50.io/2/timer_settime) - arm/disarm and fetch state of POSIX per-process timer - [timezone](https://manual.cs50.io/3/timezone) - initialize time conversion information - [tzname](https://manual.cs50.io/3/tzname) - initialize time conversion information - [tzset](https://manual.cs50.io/3/tzset) - initialize time conversion information # [ulimit.h](https://manual.cs50.io/#ulimit.h) - [ulimit](https://manual.cs50.io/3/ulimit) - get and set user limits # [unistd.h](https://manual.cs50.io/#unistd.h) - [\_Exit](https://manual.cs50.io/2/_Exit) - terminate the calling process - [\_exit](https://manual.cs50.io/2/_exit) - terminate the calling process - [\_llseek](https://manual.cs50.io/2/_llseek) - reposition read/write file offset - [\_sysctl](https://manual.cs50.io/2/_sysctl) - read/write system parameters - [access](https://manual.cs50.io/2/access) - check user's permissions for a file - [acct](https://manual.cs50.io/2/acct) - switch process accounting on or off - [alarm](https://manual.cs50.io/2/alarm) - set an alarm clock for delivery of a signal - [arch\_prctl](https://manual.cs50.io/2/arch_prctl) - set architecture-specific thread state - [brk](https://manual.cs50.io/2/brk) - change data segment size - [capget](https://manual.cs50.io/2/capget) - set/get capabilities of thread(s) - [capset](https://manual.cs50.io/2/capset) - set/get capabilities of thread(s) - [chdir](https://manual.cs50.io/2/chdir) - change working directory - [chown](https://manual.cs50.io/2/chown) - change ownership of a file - [chown32](https://manual.cs50.io/2/chown32) - change ownership of a file - [chroot](https://manual.cs50.io/2/chroot) - change root directory - [close](https://manual.cs50.io/2/close) - close a file descriptor - [close\_range](https://manual.cs50.io/2/close_range) - close all file descriptors in a given range - [confstr](https://manual.cs50.io/3/confstr) - get configuration dependent string variables - [copy\_file\_range](https://manual.cs50.io/2/copy_file_range) - Copy a range of data from one file to another - [cuserid](https://manual.cs50.io/3/cuserid) - get username - [daemon](https://manual.cs50.io/3/daemon) - run in the background - [delete\_module](https://manual.cs50.io/2/delete_module) - unload a kernel module - [dup](https://manual.cs50.io/2/dup) - duplicate a file descriptor - [dup2](https://manual.cs50.io/2/dup2) - duplicate a file descriptor - [dup3](https://manual.cs50.io/2/dup3) - duplicate a file descriptor - [eaccess](https://manual.cs50.io/3/eaccess) - check effective user's permissions for a file - [encrypt](https://manual.cs50.io/3/encrypt) - encrypt 64-bit messages - [encrypt\_r](https://manual.cs50.io/3/encrypt_r) - encrypt 64-bit messages - [endusershell](https://manual.cs50.io/3/endusershell) - get permitted user shells - [euidaccess](https://manual.cs50.io/3/euidaccess) - check effective user's permissions for a file - [exec](https://manual.cs50.io/3/exec) - execute a file - [execl](https://manual.cs50.io/3/execl) - execute a file - [execle](https://manual.cs50.io/3/execle) - execute a file - [execlp](https://manual.cs50.io/3/execlp) - execute a file - [execv](https://manual.cs50.io/3/execv) - execute a file - [execve](https://manual.cs50.io/2/execve) - execute program - [execveat](https://manual.cs50.io/2/execveat) - execute program relative to a directory file descriptor - [execvp](https://manual.cs50.io/3/execvp) - execute a file - [execvpe](https://manual.cs50.io/3/execvpe) - execute a file - [exit](https://manual.cs50.io/2/exit) - terminate the calling process - [exit\_group](https://manual.cs50.io/2/exit_group) - exit all threads in a process - [faccessat](https://manual.cs50.io/2/faccessat) - check user's permissions for a file - [faccessat2](https://manual.cs50.io/2/faccessat2) - check user's permissions for a file - [fchdir](https://manual.cs50.io/2/fchdir) - change working directory - [fchown](https://manual.cs50.io/2/fchown) - change ownership of a file - [fchown32](https://manual.cs50.io/2/fchown32) - change ownership of a file - [fchownat](https://manual.cs50.io/2/fchownat) - change ownership of a file - [fdatasync](https://manual.cs50.io/2/fdatasync) - synchronize a file's in-core state with storage device - [fexecve](https://manual.cs50.io/3/fexecve) - execute program specified via file descriptor - [finit\_module](https://manual.cs50.io/2/finit_module) - load a kernel module - [fork](https://manual.cs50.io/2/fork) - create a child process - [fpathconf](https://manual.cs50.io/3/fpathconf) - get configuration values for files - [fsync](https://manual.cs50.io/2/fsync) - synchronize a file's in-core state with storage device - [ftruncate](https://manual.cs50.io/2/ftruncate) - truncate a file to a specified length - [ftruncate64](https://manual.cs50.io/2/ftruncate64) - truncate a file to a specified length - [futex](https://manual.cs50.io/2/futex) - fast user-space locking - [get\_current\_dir\_name](https://manual.cs50.io/3/get_current_dir_name) - get current working directory - [get\_robust\_list](https://manual.cs50.io/2/get_robust_list) - get/set list of robust futexes - [get\_thread\_area](https://manual.cs50.io/2/get_thread_area) - manipulate thread-local storage information - [getcwd](https://manual.cs50.io/2/getcwd) - get current working directory - [getcwd](https://manual.cs50.io/3/getcwd) - get current working directory - [getdents](https://manual.cs50.io/2/getdents) - get directory entries - [getdents64](https://manual.cs50.io/2/getdents64) - get directory entries - [getdomainname](https://manual.cs50.io/2/getdomainname) - get/set NIS domain name - [getdtablesize](https://manual.cs50.io/3/getdtablesize) - get file descriptor table size - [getegid](https://manual.cs50.io/2/getegid) - get group identity - [getegid32](https://manual.cs50.io/2/getegid32) - get group identity - [getentropy](https://manual.cs50.io/3/getentropy) - fill a buffer with random bytes - [geteuid](https://manual.cs50.io/2/geteuid) - get user identity - [geteuid32](https://manual.cs50.io/2/geteuid32) - get user identity - [getgid](https://manual.cs50.io/2/getgid) - get group identity - [getgid32](https://manual.cs50.io/2/getgid32) - get group identity - [getgroups](https://manual.cs50.io/2/getgroups) - get/set list of supplementary group IDs - [getgroups32](https://manual.cs50.io/2/getgroups32) - get/set list of supplementary group IDs - [gethostid](https://manual.cs50.io/3/gethostid) - get or set the unique identifier of the current host - [gethostname](https://manual.cs50.io/2/gethostname) - get/set hostname - [getlogin](https://manual.cs50.io/3/getlogin) - get username - [getlogin\_r](https://manual.cs50.io/3/getlogin_r) - get username - [getopt](https://manual.cs50.io/3/getopt) - Parse command-line options - [getopt\_long](https://manual.cs50.io/3/getopt_long) - Parse command-line options - [getopt\_long\_only](https://manual.cs50.io/3/getopt_long_only) - Parse command-line options - [getpagesize](https://manual.cs50.io/2/getpagesize) - get memory page size - [getpass](https://manual.cs50.io/3/getpass) - get a password - [getpgid](https://manual.cs50.io/2/getpgid) - set/get process group - [getpgrp](https://manual.cs50.io/2/getpgrp) - set/get process group - [getpid](https://manual.cs50.io/2/getpid) - get process identification - [getppid](https://manual.cs50.io/2/getppid) - get process identification - [getresgid](https://manual.cs50.io/2/getresgid) - get real, effective, and saved user/group IDs - [getresgid32](https://manual.cs50.io/2/getresgid32) - get real, effective, and saved user/group IDs - [getresuid](https://manual.cs50.io/2/getresuid) - get real, effective, and saved user/group IDs - [getresuid32](https://manual.cs50.io/2/getresuid32) - get real, effective, and saved user/group IDs - [getsid](https://manual.cs50.io/2/getsid) - get session ID - [gettid](https://manual.cs50.io/2/gettid) - get thread identification - [getuid](https://manual.cs50.io/2/getuid) - get user identity - [getuid32](https://manual.cs50.io/2/getuid32) - get user identity - [getusershell](https://manual.cs50.io/3/getusershell) - get permitted user shells - [getwd](https://manual.cs50.io/3/getwd) - get current working directory - [group\_member](https://manual.cs50.io/3/group_member) - test whether a process is in a group - [idle](https://manual.cs50.io/2/idle) - make process 0 idle - [init\_module](https://manual.cs50.io/2/init_module) - load a kernel module - [io\_cancel](https://manual.cs50.io/2/io_cancel) - cancel an outstanding asynchronous I/O operation - [io\_destroy](https://manual.cs50.io/2/io_destroy) - destroy an asynchronous I/O context - [io\_getevents](https://manual.cs50.io/2/io_getevents) - read asynchronous I/O events from the completion queue - [ioprio\_get](https://manual.cs50.io/2/ioprio_get) - get/set I/O scheduling class and priority - [ioprio\_set](https://manual.cs50.io/2/ioprio_set) - get/set I/O scheduling class and priority - [ipc](https://manual.cs50.io/2/ipc) - System V IPC system calls - [isatty](https://manual.cs50.io/3/isatty) - test whether a file descriptor refers to a terminal - [kcmp](https://manual.cs50.io/2/kcmp) - compare two processes to determine if they share a ker... - [kexec\_file\_load](https://manual.cs50.io/2/kexec_file_load) - load a new kernel for later execution - [kexec\_load](https://manual.cs50.io/2/kexec_load) - load a new kernel for later execution - [keyctl](https://manual.cs50.io/2/keyctl) - manipulate the kernel's key management facility - [klogctl](https://manual.cs50.io/3/klogctl) - read and/or clear kernel message ring buffer; set cons... - [lchown](https://manual.cs50.io/2/lchown) - change ownership of a file - [lchown32](https://manual.cs50.io/2/lchown32) - change ownership of a file - [link](https://manual.cs50.io/2/link) - make a new name for a file - [linkat](https://manual.cs50.io/2/linkat) - make a new name for a file - [llseek](https://manual.cs50.io/2/llseek) - reposition read/write file offset - [lockf](https://manual.cs50.io/3/lockf) - apply, test or remove a POSIX lock on an open file - [lookup\_dcookie](https://manual.cs50.io/2/lookup_dcookie) - return a directory entry's path - [lseek](https://manual.cs50.io/2/lseek) - reposition read/write file offset - [membarrier](https://manual.cs50.io/2/membarrier) - issue memory barriers on a set of threads - [memfd\_secret](https://manual.cs50.io/2/memfd_secret) - create an anonymous RAM-based file to access secret me... - [mmap2](https://manual.cs50.io/2/mmap2) - map files or devices into memory - [modify\_ldt](https://manual.cs50.io/2/modify_ldt) - get or set a per-process LDT entry - [mount\_setattr](https://manual.cs50.io/2/mount_setattr) - change properties of a mount or mount tree - [mq\_getsetattr](https://manual.cs50.io/2/mq_getsetattr) - get/set message queue attributes - [nice](https://manual.cs50.io/2/nice) - change process priority - [openat2](https://manual.cs50.io/2/openat2) - open and possibly create a file (extended) - [optarg](https://manual.cs50.io/3/optarg) - Parse command-line options - [opterr](https://manual.cs50.io/3/opterr) - Parse command-line options - [optind](https://manual.cs50.io/3/optind) - Parse command-line options - [optopt](https://manual.cs50.io/3/optopt) - Parse command-line options - [pathconf](https://manual.cs50.io/3/pathconf) - get configuration values for files - [pause](https://manual.cs50.io/2/pause) - wait for signal - [perf\_event\_open](https://manual.cs50.io/2/perf_event_open) - set up performance monitoring - [pidfd\_getfd](https://manual.cs50.io/2/pidfd_getfd) - obtain a duplicate of another process's file descriptor - [pidfd\_open](https://manual.cs50.io/2/pidfd_open) - obtain a file descriptor that refers to a process - [pidfd\_send\_signal](https://manual.cs50.io/2/pidfd_send_signal) - send a signal to a process specified by a file descri... - [pipe](https://manual.cs50.io/2/pipe) - create pipe - [pipe2](https://manual.cs50.io/2/pipe2) - create pipe - [pivot\_root](https://manual.cs50.io/2/pivot_root) - change the root mount - [pread](https://manual.cs50.io/2/pread) - read from or write to a file descriptor at a given offset - [pread64](https://manual.cs50.io/2/pread64) - read from or write to a file descriptor at a given offset - [profil](https://manual.cs50.io/3/profil) - execution time profile - [pwrite](https://manual.cs50.io/2/pwrite) - read from or write to a file descriptor at a given offset - [pwrite64](https://manual.cs50.io/2/pwrite64) - read from or write to a file descriptor at a given offset - [read](https://manual.cs50.io/2/read) - read from a file descriptor - [readdir](https://manual.cs50.io/2/readdir) - read directory entry - [readlink](https://manual.cs50.io/2/readlink) - read value of a symbolic link - [readlinkat](https://manual.cs50.io/2/readlinkat) - read value of a symbolic link - [reboot](https://manual.cs50.io/2/reboot) - reboot or enable/disable Ctrl-Alt-Del - [rmdir](https://manual.cs50.io/2/rmdir) - delete a directory - [rt\_sigqueueinfo](https://manual.cs50.io/2/rt_sigqueueinfo) - queue a signal and data - [rt\_tgsigqueueinfo](https://manual.cs50.io/2/rt_tgsigqueueinfo) - queue a signal and data - [s390\_guarded\_storage](https://manual.cs50.io/2/s390_guarded_storage) - operations with z/Architecture guarded storage fac... - [s390\_pci\_mmio\_read](https://manual.cs50.io/2/s390_pci_mmio_read) - transfer data to/from PCI MMIO memory page - [s390\_pci\_mmio\_write](https://manual.cs50.io/2/s390_pci_mmio_write) - transfer data to/from PCI MMIO memory page - [s390\_runtime\_instr](https://manual.cs50.io/2/s390_runtime_instr) - enable/disable s390 CPU run-time instrumentation - [s390\_sthyi](https://manual.cs50.io/2/s390_sthyi) - emulate STHYI instruction - [sbrk](https://manual.cs50.io/2/sbrk) - change data segment size - [sched\_getattr](https://manual.cs50.io/2/sched_getattr) - set and get scheduling policy and attributes - [sched\_setattr](https://manual.cs50.io/2/sched_setattr) - set and get scheduling policy and attributes - [seccomp](https://manual.cs50.io/2/seccomp) - operate on Secure Computing state of the process - [set\_robust\_list](https://manual.cs50.io/2/set_robust_list) - get/set list of robust futexes - [set\_thread\_area](https://manual.cs50.io/2/set_thread_area) - manipulate thread-local storage information - [set\_tid\_address](https://manual.cs50.io/2/set_tid_address) - set pointer to thread ID - [setdomainname](https://manual.cs50.io/2/setdomainname) - get/set NIS domain name - [setegid](https://manual.cs50.io/2/setegid) - set effective user or group ID - [seteuid](https://manual.cs50.io/2/seteuid) - set effective user or group ID - [setgid](https://manual.cs50.io/2/setgid) - set group identity - [setgid32](https://manual.cs50.io/2/setgid32) - set group identity - [setgroups](https://manual.cs50.io/2/setgroups) - get/set list of supplementary group IDs - [setgroups32](https://manual.cs50.io/2/setgroups32) - get/set list of supplementary group IDs - [sethostid](https://manual.cs50.io/3/sethostid) - get or set the unique identifier of the current host - [sethostname](https://manual.cs50.io/2/sethostname) - get/set hostname - [setkey](https://manual.cs50.io/3/setkey) - encrypt 64-bit messages - [setkey\_r](https://manual.cs50.io/3/setkey_r) - encrypt 64-bit messages - [setpgid](https://manual.cs50.io/2/setpgid) - set/get process group - [setpgrp](https://manual.cs50.io/2/setpgrp) - set/get process group - [setregid](https://manual.cs50.io/2/setregid) - set real and/or effective user or group ID - [setregid32](https://manual.cs50.io/2/setregid32) - set real and/or effective user or group ID - [setresgid](https://manual.cs50.io/2/setresgid) - set real, effective, and saved user or group ID - [setresgid32](https://manual.cs50.io/2/setresgid32) - set real, effective, and saved user or group ID - [setresuid](https://manual.cs50.io/2/setresuid) - set real, effective, and saved user or group ID - [setresuid32](https://manual.cs50.io/2/setresuid32) - set real, effective, and saved user or group ID - [setreuid](https://manual.cs50.io/2/setreuid) - set real and/or effective user or group ID - [setreuid32](https://manual.cs50.io/2/setreuid32) - set real and/or effective user or group ID - [setsid](https://manual.cs50.io/2/setsid) - creates a session and sets the process group ID - [setuid](https://manual.cs50.io/2/setuid) - set user identity - [setuid32](https://manual.cs50.io/2/setuid32) - set user identity - [setup](https://manual.cs50.io/2/setup) - setup devices and filesystems, mount root filesystem - [setusershell](https://manual.cs50.io/3/setusershell) - get permitted user shells - [sgetmask](https://manual.cs50.io/2/sgetmask) - manipulation of signal mask (obsolete) - [sleep](https://manual.cs50.io/3/sleep) - sleep for a specified number of seconds - [socketcall](https://manual.cs50.io/2/socketcall) - socket system calls - [spu\_create](https://manual.cs50.io/2/spu_create) - create a new spu context - [spu\_run](https://manual.cs50.io/2/spu_run) - execute an SPU context - [ssetmask](https://manual.cs50.io/2/ssetmask) - manipulation of signal mask (obsolete) - [subpage\_prot](https://manual.cs50.io/2/subpage_prot) - define a subpage protection for an address range - [swab](https://manual.cs50.io/3/swab) - swap adjacent bytes - [symlink](https://manual.cs50.io/2/symlink) - make a new name for a file - [symlinkat](https://manual.cs50.io/2/symlinkat) - make a new name for a file - [sync](https://manual.cs50.io/2/sync) - commit filesystem caches to disk - [syncfs](https://manual.cs50.io/2/syncfs) - commit filesystem caches to disk - [syscall](https://manual.cs50.io/2/syscall) - indirect system call - [sysconf](https://manual.cs50.io/3/sysconf) - get configuration information at run time - [sysctl](https://manual.cs50.io/2/sysctl) - read/write system parameters - [syslog](https://manual.cs50.io/2/syslog) - read and/or clear kernel message ring buffer; set cons... - [tcgetpgrp](https://manual.cs50.io/3/tcgetpgrp) - get and set terminal foreground process group - [tcsetpgrp](https://manual.cs50.io/3/tcsetpgrp) - get and set terminal foreground process group - [tgkill](https://manual.cs50.io/2/tgkill) - send a signal to a thread - [tkill](https://manual.cs50.io/2/tkill) - send a signal to a thread - [truncate](https://manual.cs50.io/2/truncate) - truncate a file to a specified length - [truncate64](https://manual.cs50.io/2/truncate64) - truncate a file to a specified length - [ttyname](https://manual.cs50.io/3/ttyname) - return name of a terminal - [ttyname\_r](https://manual.cs50.io/3/ttyname_r) - return name of a terminal - [ualarm](https://manual.cs50.io/3/ualarm) - schedule signal after given number of microseconds - [unlink](https://manual.cs50.io/2/unlink) - delete a name and possibly the file it refers to - [unlinkat](https://manual.cs50.io/2/unlinkat) - delete a name and possibly the file it refers to - [uselib](https://manual.cs50.io/2/uselib) - load shared library - [userfaultfd](https://manual.cs50.io/2/userfaultfd) - create a file descriptor for handling page faults in u... - [usleep](https://manual.cs50.io/3/usleep) - suspend execution for microsecond intervals - [vfork](https://manual.cs50.io/2/vfork) - create a child process and block parent - [vhangup](https://manual.cs50.io/2/vhangup) - virtually hangup the current terminal - [write](https://manual.cs50.io/2/write) - write to a file descriptor # [utime.h](https://manual.cs50.io/#utime.h) - [utime](https://manual.cs50.io/2/utime) - change file last access and modification times - [utimes](https://manual.cs50.io/2/utimes) - change file last access and modification times # [utmpx.h](https://manual.cs50.io/#utmpx.h) - [getutmp](https://manual.cs50.io/3/getutmp) - copy utmp structure to utmpx, and vice versa - [getutmpx](https://manual.cs50.io/3/getutmpx) - copy utmp structure to utmpx, and vice versa # [wchar.h](https://manual.cs50.io/#wchar.h) - [btowc](https://manual.cs50.io/3/btowc) - convert single byte to wide character - [fgetws](https://manual.cs50.io/3/fgetws) - read a wide-character string from a FILE stream - [fputws](https://manual.cs50.io/3/fputws) - write a wide-character string to a FILE stream - [fwide](https://manual.cs50.io/3/fwide) - set and determine the orientation of a FILE stream - [getwchar](https://manual.cs50.io/3/getwchar) - read a wide character from standard input - [mbrlen](https://manual.cs50.io/3/mbrlen) - determine number of bytes in next multibyte character - [mbrtowc](https://manual.cs50.io/3/mbrtowc) - convert a multibyte sequence to a wide character - [mbsinit](https://manual.cs50.io/3/mbsinit) - test for initial shift state - [mbsnrtowcs](https://manual.cs50.io/3/mbsnrtowcs) - convert a multibyte string to a wide-character string - [mbsrtowcs](https://manual.cs50.io/3/mbsrtowcs) - convert a multibyte string to a wide-character string ... - [putwchar](https://manual.cs50.io/3/putwchar) - write a wide character to standard output - [ungetwc](https://manual.cs50.io/3/ungetwc) - push back a wide character onto a FILE stream - [wcpcpy](https://manual.cs50.io/3/wcpcpy) - copy a wide-character string, returning a pointer to i... - [wcpncpy](https://manual.cs50.io/3/wcpncpy) - copy a fixed-size string of wide characters, returning... - [wcrtomb](https://manual.cs50.io/3/wcrtomb) - convert a wide character to a multibyte sequence - [wcscasecmp](https://manual.cs50.io/3/wcscasecmp) - compare two wide-character strings, ignoring case - [wcscat](https://manual.cs50.io/3/wcscat) - concatenate two wide-character strings - [wcschr](https://manual.cs50.io/3/wcschr) - search a wide character in a wide-character string - [wcscmp](https://manual.cs50.io/3/wcscmp) - compare two wide-character strings - [wcscpy](https://manual.cs50.io/3/wcscpy) - copy a wide-character string - [wcscspn](https://manual.cs50.io/3/wcscspn) - search a wide-character string for any of a set of wid... - [wcsdup](https://manual.cs50.io/3/wcsdup) - duplicate a wide-character string - [wcslen](https://manual.cs50.io/3/wcslen) - determine the length of a wide-character string - [wcsncasecmp](https://manual.cs50.io/3/wcsncasecmp) - compare two fixed-size wide-character strings, ignorin... - [wcsncat](https://manual.cs50.io/3/wcsncat) - concatenate two wide-character strings - [wcsncmp](https://manual.cs50.io/3/wcsncmp) - compare two fixed-size wide-character strings - [wcsncpy](https://manual.cs50.io/3/wcsncpy) - copy a fixed-size string of wide characters - [wcsnlen](https://manual.cs50.io/3/wcsnlen) - determine the length of a fixed-size wide-character st... - [wcsnrtombs](https://manual.cs50.io/3/wcsnrtombs) - convert a wide-character string to a multibyte string - [wcspbrk](https://manual.cs50.io/3/wcspbrk) - search a wide-character string for any of a set of wid... - [wcsrchr](https://manual.cs50.io/3/wcsrchr) - search a wide character in a wide-character string - [wcsrtombs](https://manual.cs50.io/3/wcsrtombs) - convert a wide-character string to a multibyte string - [wcsspn](https://manual.cs50.io/3/wcsspn) - get length of a prefix wide-character substring - [wcsstr](https://manual.cs50.io/3/wcsstr) - locate a substring in a wide-character string - [wcstok](https://manual.cs50.io/3/wcstok) - split wide-character string into tokens - [wcswidth](https://manual.cs50.io/3/wcswidth) - determine columns needed for a fixed-size wide-charact... - [wctob](https://manual.cs50.io/3/wctob) - try to represent a wide character as a single byte - [wcwidth](https://manual.cs50.io/3/wcwidth) - determine columns needed for a wide character - [wmemchr](https://manual.cs50.io/3/wmemchr) - search a wide character in a wide-character array - [wmemcmp](https://manual.cs50.io/3/wmemcmp) - compare two arrays of wide-characters - [wmemcpy](https://manual.cs50.io/3/wmemcpy) - copy an array of wide-characters - [wmemmove](https://manual.cs50.io/3/wmemmove) - copy an array of wide-characters - [wmemset](https://manual.cs50.io/3/wmemset) - fill an array of wide-characters with a constant wide ... # [wctype.h](https://manual.cs50.io/#wctype.h) - [iswalnum](https://manual.cs50.io/3/iswalnum) - test for alphanumeric wide character - [iswalpha](https://manual.cs50.io/3/iswalpha) - test for alphabetic wide character - [iswblank](https://manual.cs50.io/3/iswblank) - test for whitespace wide character - [iswcntrl](https://manual.cs50.io/3/iswcntrl) - test for control wide character - [iswctype](https://manual.cs50.io/3/iswctype) - wide-character classification - [iswdigit](https://manual.cs50.io/3/iswdigit) - test for decimal digit wide character - [iswgraph](https://manual.cs50.io/3/iswgraph) - test for graphic wide character - [iswlower](https://manual.cs50.io/3/iswlower) - test for lowercase wide character - [iswprint](https://manual.cs50.io/3/iswprint) - test for printing wide character - [iswpunct](https://manual.cs50.io/3/iswpunct) - test for punctuation or symbolic wide character - [iswspace](https://manual.cs50.io/3/iswspace) - test for whitespace wide character - [iswupper](https://manual.cs50.io/3/iswupper) - test for uppercase wide character - [iswxdigit](https://manual.cs50.io/3/iswxdigit) - test for hexadecimal digit wide character - [towctrans](https://manual.cs50.io/3/towctrans) - wide-character transliteration - [towlower](https://manual.cs50.io/3/towlower) - convert a wide character to lowercase - [towlower\_l](https://manual.cs50.io/3/towlower_l) - convert a wide character to lowercase - [towupper](https://manual.cs50.io/3/towupper) - convert a wide character to uppercase - [towupper\_l](https://manual.cs50.io/3/towupper_l) - convert a wide character to uppercase - [wctrans](https://manual.cs50.io/3/wctrans) - wide-character translation mapping - [wctype](https://manual.cs50.io/3/wctype) - wide-character classification # [wordexp.h](https://manual.cs50.io/#wordexp.h) - [wordexp](https://manual.cs50.io/3/wordexp) - perform word expansion like a posix-shell - [wordfree](https://manual.cs50.io/3/wordfree) - perform word expansion like a posix-shell
Readable Markdown
Manual pages for the C standard library, the C POSIX library, and the CS50 Library for [those less comfortable](). ## [aio.h](https://manual.cs50.io/#aio.h) - [aio\_cancel](https://manual.cs50.io/3/aio_cancel) - cancel an outstanding asynchronous I/O request - [aio\_error](https://manual.cs50.io/3/aio_error) - get error status of asynchronous I/O operation - [aio\_fsync](https://manual.cs50.io/3/aio_fsync) - asynchronous file synchronization - [aio\_init](https://manual.cs50.io/3/aio_init) - asynchronous I/O initialization - [aio\_read](https://manual.cs50.io/3/aio_read) - asynchronous read - [aio\_return](https://manual.cs50.io/3/aio_return) - get return status of asynchronous I/O operation - [aio\_suspend](https://manual.cs50.io/3/aio_suspend) - wait for asynchronous I/O operation or timeout - [aio\_write](https://manual.cs50.io/3/aio_write) - asynchronous write - [lio\_listio](https://manual.cs50.io/3/lio_listio) - initiate a list of I/O requests ## [arpa/inet.h](https://manual.cs50.io/#arpa/inet.h) - [byteorder](https://manual.cs50.io/3/byteorder) - convert values between host and network byte order - [htonl](https://manual.cs50.io/3/htonl) - convert values between host and network byte order - [htons](https://manual.cs50.io/3/htons) - convert values between host and network byte order - [inet\_net\_ntop](https://manual.cs50.io/3/inet_net_ntop) - Internet network number conversion - [inet\_net\_pton](https://manual.cs50.io/3/inet_net_pton) - Internet network number conversion - [inet\_ntop](https://manual.cs50.io/3/inet_ntop) - convert IPv4 and IPv6 addresses from binary to text form - [inet\_pton](https://manual.cs50.io/3/inet_pton) - convert IPv4 and IPv6 addresses from text to binary form - [ntohl](https://manual.cs50.io/3/ntohl) - convert values between host and network byte order - [ntohs](https://manual.cs50.io/3/ntohs) - convert values between host and network byte order ## [assert.h](https://manual.cs50.io/#assert.h) - [\_Static\_assert](https://manual.cs50.io/3/_Static_assert) - fail compilation if assertion is false - [assert](https://manual.cs50.io/3/assert) - abort the program if assertion is false - [assert\_perror](https://manual.cs50.io/3/assert_perror) - test errnum and abort - [static\_assert](https://manual.cs50.io/3/static_assert) - fail compilation if assertion is false ## [complex.h](https://manual.cs50.io/#complex.h) - [cabs](https://manual.cs50.io/3/cabs) - absolute value of a complex number - [cabsf](https://manual.cs50.io/3/cabsf) - absolute value of a complex number - [cabsl](https://manual.cs50.io/3/cabsl) - absolute value of a complex number - [cacos](https://manual.cs50.io/3/cacos) - complex arc cosine - [cacosf](https://manual.cs50.io/3/cacosf) - complex arc cosine - [cacosh](https://manual.cs50.io/3/cacosh) - complex arc hyperbolic cosine - [cacoshf](https://manual.cs50.io/3/cacoshf) - complex arc hyperbolic cosine - [cacoshl](https://manual.cs50.io/3/cacoshl) - complex arc hyperbolic cosine - [cacosl](https://manual.cs50.io/3/cacosl) - complex arc cosine - [carg](https://manual.cs50.io/3/carg) - calculate the complex argument - [cargf](https://manual.cs50.io/3/cargf) - calculate the complex argument - [cargl](https://manual.cs50.io/3/cargl) - calculate the complex argument - [casin](https://manual.cs50.io/3/casin) - complex arc sine - [casinf](https://manual.cs50.io/3/casinf) - complex arc sine - [casinh](https://manual.cs50.io/3/casinh) - complex arc sine hyperbolic - [casinhf](https://manual.cs50.io/3/casinhf) - complex arc sine hyperbolic - [casinhl](https://manual.cs50.io/3/casinhl) - complex arc sine hyperbolic - [casinl](https://manual.cs50.io/3/casinl) - complex arc sine - [catan](https://manual.cs50.io/3/catan) - complex arc tangents - [catanf](https://manual.cs50.io/3/catanf) - complex arc tangents - [catanh](https://manual.cs50.io/3/catanh) - complex arc tangents hyperbolic - [catanhf](https://manual.cs50.io/3/catanhf) - complex arc tangents hyperbolic - [catanhl](https://manual.cs50.io/3/catanhl) - complex arc tangents hyperbolic - [catanl](https://manual.cs50.io/3/catanl) - complex arc tangents - [ccos](https://manual.cs50.io/3/ccos) - complex cosine function - [ccosf](https://manual.cs50.io/3/ccosf) - complex cosine function - [ccosh](https://manual.cs50.io/3/ccosh) - complex hyperbolic cosine - [ccoshf](https://manual.cs50.io/3/ccoshf) - complex hyperbolic cosine - [ccoshl](https://manual.cs50.io/3/ccoshl) - complex hyperbolic cosine - [ccosl](https://manual.cs50.io/3/ccosl) - complex cosine function - [cexp](https://manual.cs50.io/3/cexp) - complex exponential function - [cexp2](https://manual.cs50.io/3/cexp2) - base-2 exponent of a complex number - [cexp2f](https://manual.cs50.io/3/cexp2f) - base-2 exponent of a complex number - [cexp2l](https://manual.cs50.io/3/cexp2l) - base-2 exponent of a complex number - [cexpf](https://manual.cs50.io/3/cexpf) - complex exponential function - [cexpl](https://manual.cs50.io/3/cexpl) - complex exponential function - [cimag](https://manual.cs50.io/3/cimag) - get imaginary part of a complex number - [cimagf](https://manual.cs50.io/3/cimagf) - get imaginary part of a complex number - [cimagl](https://manual.cs50.io/3/cimagl) - get imaginary part of a complex number - [clog](https://manual.cs50.io/3/clog) - natural logarithm of a complex number - [clog10](https://manual.cs50.io/3/clog10) - base-10 logarithm of a complex number - [clog10f](https://manual.cs50.io/3/clog10f) - base-10 logarithm of a complex number - [clog10l](https://manual.cs50.io/3/clog10l) - base-10 logarithm of a complex number - [clog2](https://manual.cs50.io/3/clog2) - base-2 logarithm of a complex number - [clog2f](https://manual.cs50.io/3/clog2f) - base-2 logarithm of a complex number - [clog2l](https://manual.cs50.io/3/clog2l) - base-2 logarithm of a complex number - [clogf](https://manual.cs50.io/3/clogf) - natural logarithm of a complex number - [clogl](https://manual.cs50.io/3/clogl) - natural logarithm of a complex number - [complex](https://manual.cs50.io/7/complex) - basics of complex mathematics - [conj](https://manual.cs50.io/3/conj) - calculate the complex conjugate - [conjf](https://manual.cs50.io/3/conjf) - calculate the complex conjugate - [conjl](https://manual.cs50.io/3/conjl) - calculate the complex conjugate - [cpow](https://manual.cs50.io/3/cpow) - complex power function - [cpowf](https://manual.cs50.io/3/cpowf) - complex power function - [cpowl](https://manual.cs50.io/3/cpowl) - complex power function - [cproj](https://manual.cs50.io/3/cproj) - project into Riemann Sphere - [cprojf](https://manual.cs50.io/3/cprojf) - project into Riemann Sphere - [cprojl](https://manual.cs50.io/3/cprojl) - project into Riemann Sphere - [creal](https://manual.cs50.io/3/creal) - get real part of a complex number - [crealf](https://manual.cs50.io/3/crealf) - get real part of a complex number - [creall](https://manual.cs50.io/3/creall) - get real part of a complex number - [csin](https://manual.cs50.io/3/csin) - complex sine function - [csinf](https://manual.cs50.io/3/csinf) - complex sine function - [csinh](https://manual.cs50.io/3/csinh) - complex hyperbolic sine - [csinhf](https://manual.cs50.io/3/csinhf) - complex hyperbolic sine - [csinhl](https://manual.cs50.io/3/csinhl) - complex hyperbolic sine - [csinl](https://manual.cs50.io/3/csinl) - complex sine function - [csqrt](https://manual.cs50.io/3/csqrt) - complex square root - [csqrtf](https://manual.cs50.io/3/csqrtf) - complex square root - [csqrtl](https://manual.cs50.io/3/csqrtl) - complex square root - [ctan](https://manual.cs50.io/3/ctan) - complex tangent function - [ctanf](https://manual.cs50.io/3/ctanf) - complex tangent function - [ctanh](https://manual.cs50.io/3/ctanh) - complex hyperbolic tangent - [ctanhf](https://manual.cs50.io/3/ctanhf) - complex hyperbolic tangent - [ctanhl](https://manual.cs50.io/3/ctanhl) - complex hyperbolic tangent - [ctanl](https://manual.cs50.io/3/ctanl) - complex tangent function - [get\_char](https://manual.cs50.io/3/get_char) - prompts user for a line of text from stdin and returns... prompt a user for a `char` - [get\_double](https://manual.cs50.io/3/get_double) - prompts user for a line of text from stdin and returns... prompt a user for a `double` - [get\_float](https://manual.cs50.io/3/get_float) - prompts user for a line of text from stdin and returns... prompt a user for a `float` - [get\_int](https://manual.cs50.io/3/get_int) - prompts user for a line of text from stdin and returns... prompt a user for an `int` - [get\_long](https://manual.cs50.io/3/get_long) - prompts user for a line of text from stdin and returns... prompt a user for an `long` - [get\_long\_long](https://manual.cs50.io/3/get_long_long) - prompts user for a line of text from stdin and returns... - [get\_string](https://manual.cs50.io/3/get_string) - prompts user for a line of text from stdin and returns... prompt a user for a `string` ## [ctype.h](https://manual.cs50.io/#ctype.h) - [isalnum](https://manual.cs50.io/3/isalnum) - character classification functions check whether a character is alphanumeric - [isalnum\_l](https://manual.cs50.io/3/isalnum_l) - character classification functions - [isalpha](https://manual.cs50.io/3/isalpha) - character classification functions check whether a character is alphabetical - [isalpha\_l](https://manual.cs50.io/3/isalpha_l) - character classification functions - [isascii](https://manual.cs50.io/3/isascii) - character classification functions - [isascii\_l](https://manual.cs50.io/3/isascii_l) - character classification functions - [isblank](https://manual.cs50.io/3/isblank) - character classification functions check whether a character is blank (i.e., a space or tab) - [isblank\_l](https://manual.cs50.io/3/isblank_l) - character classification functions - [iscntrl](https://manual.cs50.io/3/iscntrl) - character classification functions - [iscntrl\_l](https://manual.cs50.io/3/iscntrl_l) - character classification functions - [isdigit](https://manual.cs50.io/3/isdigit) - character classification functions check whether a character is a digit - [isdigit\_l](https://manual.cs50.io/3/isdigit_l) - character classification functions - [isgraph](https://manual.cs50.io/3/isgraph) - character classification functions - [isgraph\_l](https://manual.cs50.io/3/isgraph_l) - character classification functions - [islower](https://manual.cs50.io/3/islower) - character classification functions check whether a character is lowercase - [islower\_l](https://manual.cs50.io/3/islower_l) - character classification functions - [isprint](https://manual.cs50.io/3/isprint) - character classification functions - [isprint\_l](https://manual.cs50.io/3/isprint_l) - character classification functions - [ispunct](https://manual.cs50.io/3/ispunct) - character classification functions check whether a character is punctuation - [ispunct\_l](https://manual.cs50.io/3/ispunct_l) - character classification functions - [isspace](https://manual.cs50.io/3/isspace) - character classification functions check whether a character is whitespace (e.g., a newline, space, or tab) - [isspace\_l](https://manual.cs50.io/3/isspace_l) - character classification functions - [isupper](https://manual.cs50.io/3/isupper) - character classification functions check whether a character is uppercase - [isupper\_l](https://manual.cs50.io/3/isupper_l) - character classification functions - [isxdigit](https://manual.cs50.io/3/isxdigit) - character classification functions - [isxdigit\_l](https://manual.cs50.io/3/isxdigit_l) - character classification functions - [toascii](https://manual.cs50.io/3/toascii) - convert character to ASCII - [tolower](https://manual.cs50.io/3/tolower) - convert uppercase or lowercase convert a `char` to lowercase - [tolower\_l](https://manual.cs50.io/3/tolower_l) - convert uppercase or lowercase - [toupper](https://manual.cs50.io/3/toupper) - convert uppercase or lowercase convert a `char` to uppercase - [toupper\_l](https://manual.cs50.io/3/toupper_l) - convert uppercase or lowercase ## [dirent.h](https://manual.cs50.io/#dirent.h) - [alphasort](https://manual.cs50.io/3/alphasort) - scan a directory for matching entries - [getdirentries](https://manual.cs50.io/3/getdirentries) - get directory entries in a filesystem-independent format - [readdir](https://manual.cs50.io/3/readdir) - read a directory - [readdir\_r](https://manual.cs50.io/3/readdir_r) - read a directory - [scandir](https://manual.cs50.io/3/scandir) - scan a directory for matching entries - [scandirat](https://manual.cs50.io/3/scandirat) - scan a directory for matching entries - [seekdir](https://manual.cs50.io/3/seekdir) - set the position of the next readdir() call in the dir... - [telldir](https://manual.cs50.io/3/telldir) - return current location in directory stream - [versionsort](https://manual.cs50.io/3/versionsort) - scan a directory for matching entries ## [dlfcn.h](https://manual.cs50.io/#dlfcn.h) - [dladdr](https://manual.cs50.io/3/dladdr) - translate address to symbolic information - [dladdr1](https://manual.cs50.io/3/dladdr1) - translate address to symbolic information - [dlclose](https://manual.cs50.io/3/dlclose) - open and close a shared object - [dlerror](https://manual.cs50.io/3/dlerror) - obtain error diagnostic for functions in the dlopen API - [dlmopen](https://manual.cs50.io/3/dlmopen) - open and close a shared object - [dlopen](https://manual.cs50.io/3/dlopen) - open and close a shared object - [dlsym](https://manual.cs50.io/3/dlsym) - obtain address of a symbol in a shared object or execu... - [dlvsym](https://manual.cs50.io/3/dlvsym) - obtain address of a symbol in a shared object or execu... ## [errno.h](https://manual.cs50.io/#errno.h) - [errno](https://manual.cs50.io/3/errno) - number of last error - [program\_invocation\_name](https://manual.cs50.io/3/program_invocation_name) - obtain name used to invoke calling program - [program\_invocation\_short\_name](https://manual.cs50.io/3/program_invocation_short_name) - obtain name used to invoke calling program ## [fcntl.h](https://manual.cs50.io/#fcntl.h) - [arm\_fadvise](https://manual.cs50.io/2/arm_fadvise) - predeclare an access pattern for file data - [arm\_fadvise64\_64](https://manual.cs50.io/2/arm_fadvise64_64) - predeclare an access pattern for file data - [arm\_sync\_file\_range](https://manual.cs50.io/2/arm_sync_file_range) - sync a file segment with disk - [creat](https://manual.cs50.io/2/creat) - open and possibly create a file - [fadvise64](https://manual.cs50.io/2/fadvise64) - predeclare an access pattern for file data - [fadvise64\_64](https://manual.cs50.io/2/fadvise64_64) - predeclare an access pattern for file data - [fallocate](https://manual.cs50.io/2/fallocate) - manipulate file space - [fcntl](https://manual.cs50.io/2/fcntl) - manipulate file descriptor - [fcntl64](https://manual.cs50.io/2/fcntl64) - manipulate file descriptor - [name\_to\_handle\_at](https://manual.cs50.io/2/name_to_handle_at) - obtain handle for a pathname and open file via a handle - [open](https://manual.cs50.io/2/open) - open and possibly create a file - [open\_by\_handle\_at](https://manual.cs50.io/2/open_by_handle_at) - obtain handle for a pathname and open file via a handle - [openat](https://manual.cs50.io/2/openat) - open and possibly create a file - [posix\_fadvise](https://manual.cs50.io/2/posix_fadvise) - predeclare an access pattern for file data - [posix\_fallocate](https://manual.cs50.io/3/posix_fallocate) - allocate file space - [readahead](https://manual.cs50.io/2/readahead) - initiate file readahead into page cache - [splice](https://manual.cs50.io/2/splice) - splice data to/from a pipe - [sync\_file\_range](https://manual.cs50.io/2/sync_file_range) - sync a file segment with disk - [sync\_file\_range2](https://manual.cs50.io/2/sync_file_range2) - sync a file segment with disk - [tee](https://manual.cs50.io/2/tee) - duplicating pipe content - [vmsplice](https://manual.cs50.io/2/vmsplice) - splice user pages to/from a pipe ## [fenv.h](https://manual.cs50.io/#fenv.h) - [feclearexcept](https://manual.cs50.io/3/feclearexcept) - floating-point rounding and exception handling - [fedisableexcept](https://manual.cs50.io/3/fedisableexcept) - floating-point rounding and exception handling - [feenableexcept](https://manual.cs50.io/3/feenableexcept) - floating-point rounding and exception handling - [fegetenv](https://manual.cs50.io/3/fegetenv) - floating-point rounding and exception handling - [fegetexcept](https://manual.cs50.io/3/fegetexcept) - floating-point rounding and exception handling - [fegetexceptflag](https://manual.cs50.io/3/fegetexceptflag) - floating-point rounding and exception handling - [fegetround](https://manual.cs50.io/3/fegetround) - floating-point rounding and exception handling - [feholdexcept](https://manual.cs50.io/3/feholdexcept) - floating-point rounding and exception handling - [fenv](https://manual.cs50.io/3/fenv) - floating-point rounding and exception handling - [feraiseexcept](https://manual.cs50.io/3/feraiseexcept) - floating-point rounding and exception handling - [fesetenv](https://manual.cs50.io/3/fesetenv) - floating-point rounding and exception handling - [fesetexceptflag](https://manual.cs50.io/3/fesetexceptflag) - floating-point rounding and exception handling - [fesetround](https://manual.cs50.io/3/fesetround) - floating-point rounding and exception handling - [fetestexcept](https://manual.cs50.io/3/fetestexcept) - floating-point rounding and exception handling - [feupdateenv](https://manual.cs50.io/3/feupdateenv) - floating-point rounding and exception handling ## [fmtmsg.h](https://manual.cs50.io/#fmtmsg.h) - [addseverity](https://manual.cs50.io/3/addseverity) - introduce new severity classes - [fmtmsg](https://manual.cs50.io/3/fmtmsg) - print formatted error messages ## [fnmatch.h](https://manual.cs50.io/#fnmatch.h) - [fnmatch](https://manual.cs50.io/3/fnmatch) - match filename or pathname ## [ftw.h](https://manual.cs50.io/#ftw.h) - [ftw](https://manual.cs50.io/3/ftw) - file tree walk - [nftw](https://manual.cs50.io/3/nftw) - file tree walk ## [glob.h](https://manual.cs50.io/#glob.h) - [glob](https://manual.cs50.io/3/glob) - find pathnames matching a pattern, free memory from gl... - [globfree](https://manual.cs50.io/3/globfree) - find pathnames matching a pattern, free memory from gl... ## [grp.h](https://manual.cs50.io/#grp.h) - [fgetgrent\_r](https://manual.cs50.io/3/fgetgrent_r) - get group file entry reentrantly - [getgrent\_r](https://manual.cs50.io/3/getgrent_r) - get group file entry reentrantly - [getgrouplist](https://manual.cs50.io/3/getgrouplist) - get list of groups to which a user belongs - [putgrent](https://manual.cs50.io/3/putgrent) - write a group database entry to a file ## [iconv.h](https://manual.cs50.io/#iconv.h) - [iconv](https://manual.cs50.io/3/iconv) - perform character set conversion - [iconv\_close](https://manual.cs50.io/3/iconv_close) - deallocate descriptor for character set conversion - [iconv\_open](https://manual.cs50.io/3/iconv_open) - allocate descriptor for character set conversion ## [inttypes.h](https://manual.cs50.io/#inttypes.h) - [strtoimax](https://manual.cs50.io/3/strtoimax) - convert string to integer - [strtoumax](https://manual.cs50.io/3/strtoumax) - convert string to integer ## [langinfo.h](https://manual.cs50.io/#langinfo.h) - [nl\_langinfo](https://manual.cs50.io/3/nl_langinfo) - query language and locale information - [nl\_langinfo\_l](https://manual.cs50.io/3/nl_langinfo_l) - query language and locale information ## [libgen.h](https://manual.cs50.io/#libgen.h) - [basename](https://manual.cs50.io/3/basename) - parse pathname components - [dirname](https://manual.cs50.io/3/dirname) - parse pathname components ## [limits.h](https://manual.cs50.io/#limits.h) - [MB\_LEN\_MAX](https://manual.cs50.io/3/MB_LEN_MAX) - maximum multibyte length of a character across all loc... - [realpath](https://manual.cs50.io/3/realpath) - return the canonicalized absolute pathname ## [locale.h](https://manual.cs50.io/#locale.h) - [duplocale](https://manual.cs50.io/3/duplocale) - duplicate a locale object - [freelocale](https://manual.cs50.io/3/freelocale) - create, modify, and free a locale object - [locale](https://manual.cs50.io/7/locale) - description of multilanguage support - [localeconv](https://manual.cs50.io/3/localeconv) - get numeric formatting information - [newlocale](https://manual.cs50.io/3/newlocale) - create, modify, and free a locale object - [setlocale](https://manual.cs50.io/3/setlocale) - set the current locale - [uselocale](https://manual.cs50.io/3/uselocale) - set/get the locale for the calling thread ## [math.h](https://manual.cs50.io/#math.h) - [acos](https://manual.cs50.io/3/acos) - arc cosine function - [acosf](https://manual.cs50.io/3/acosf) - arc cosine function - [acosh](https://manual.cs50.io/3/acosh) - inverse hyperbolic cosine function - [acoshf](https://manual.cs50.io/3/acoshf) - inverse hyperbolic cosine function - [acoshl](https://manual.cs50.io/3/acoshl) - inverse hyperbolic cosine function - [acosl](https://manual.cs50.io/3/acosl) - arc cosine function - [asin](https://manual.cs50.io/3/asin) - arc sine function - [asinf](https://manual.cs50.io/3/asinf) - arc sine function - [asinh](https://manual.cs50.io/3/asinh) - inverse hyperbolic sine function - [asinhf](https://manual.cs50.io/3/asinhf) - inverse hyperbolic sine function - [asinhl](https://manual.cs50.io/3/asinhl) - inverse hyperbolic sine function - [asinl](https://manual.cs50.io/3/asinl) - arc sine function - [atan](https://manual.cs50.io/3/atan) - arc tangent function - [atan2](https://manual.cs50.io/3/atan2) - arc tangent function of two variables - [atan2f](https://manual.cs50.io/3/atan2f) - arc tangent function of two variables - [atan2l](https://manual.cs50.io/3/atan2l) - arc tangent function of two variables - [atanf](https://manual.cs50.io/3/atanf) - arc tangent function - [atanh](https://manual.cs50.io/3/atanh) - inverse hyperbolic tangent function - [atanhf](https://manual.cs50.io/3/atanhf) - inverse hyperbolic tangent function - [atanhl](https://manual.cs50.io/3/atanhl) - inverse hyperbolic tangent function - [atanl](https://manual.cs50.io/3/atanl) - arc tangent function - [cbrt](https://manual.cs50.io/3/cbrt) - cube root function - [cbrtf](https://manual.cs50.io/3/cbrtf) - cube root function - [cbrtl](https://manual.cs50.io/3/cbrtl) - cube root function - [ceil](https://manual.cs50.io/3/ceil) - ceiling function: smallest integral value not less tha... calculate the ceiling of a number - [ceilf](https://manual.cs50.io/3/ceilf) - ceiling function: smallest integral value not less tha... - [ceill](https://manual.cs50.io/3/ceill) - ceiling function: smallest integral value not less tha... - [copysign](https://manual.cs50.io/3/copysign) - copy sign of a number - [copysignf](https://manual.cs50.io/3/copysignf) - copy sign of a number - [copysignl](https://manual.cs50.io/3/copysignl) - copy sign of a number - [cos](https://manual.cs50.io/3/cos) - cosine function - [cosf](https://manual.cs50.io/3/cosf) - cosine function - [cosh](https://manual.cs50.io/3/cosh) - hyperbolic cosine function - [coshf](https://manual.cs50.io/3/coshf) - hyperbolic cosine function - [coshl](https://manual.cs50.io/3/coshl) - hyperbolic cosine function - [cosl](https://manual.cs50.io/3/cosl) - cosine function - [drem](https://manual.cs50.io/3/drem) - floating-point remainder function - [dremf](https://manual.cs50.io/3/dremf) - floating-point remainder function - [dreml](https://manual.cs50.io/3/dreml) - floating-point remainder function - [erf](https://manual.cs50.io/3/erf) - error function - [erfc](https://manual.cs50.io/3/erfc) - complementary error function - [erfcf](https://manual.cs50.io/3/erfcf) - complementary error function - [erfcl](https://manual.cs50.io/3/erfcl) - complementary error function - [erff](https://manual.cs50.io/3/erff) - error function - [erfl](https://manual.cs50.io/3/erfl) - error function - [exp](https://manual.cs50.io/3/exp) - base-e exponential function - [exp10](https://manual.cs50.io/3/exp10) - base-10 exponential function - [exp10f](https://manual.cs50.io/3/exp10f) - base-10 exponential function - [exp10l](https://manual.cs50.io/3/exp10l) - base-10 exponential function - [exp2](https://manual.cs50.io/3/exp2) - base-2 exponential function - [exp2f](https://manual.cs50.io/3/exp2f) - base-2 exponential function - [exp2l](https://manual.cs50.io/3/exp2l) - base-2 exponential function - [expf](https://manual.cs50.io/3/expf) - base-e exponential function - [expl](https://manual.cs50.io/3/expl) - base-e exponential function - [expm1](https://manual.cs50.io/3/expm1) - exponential minus 1 - [expm1f](https://manual.cs50.io/3/expm1f) - exponential minus 1 - [expm1l](https://manual.cs50.io/3/expm1l) - exponential minus 1 - [fabs](https://manual.cs50.io/3/fabs) - absolute value of floating-point number - [fabsf](https://manual.cs50.io/3/fabsf) - absolute value of floating-point number - [fabsl](https://manual.cs50.io/3/fabsl) - absolute value of floating-point number - [fdim](https://manual.cs50.io/3/fdim) - positive difference - [fdimf](https://manual.cs50.io/3/fdimf) - positive difference - [fdiml](https://manual.cs50.io/3/fdiml) - positive difference - [finite](https://manual.cs50.io/3/finite) - BSD floating-point classification functions - [finitef](https://manual.cs50.io/3/finitef) - BSD floating-point classification functions - [finitel](https://manual.cs50.io/3/finitel) - BSD floating-point classification functions - [floor](https://manual.cs50.io/3/floor) - largest integral value not greater than argument calculate the floor of a number - [floorf](https://manual.cs50.io/3/floorf) - largest integral value not greater than argument - [floorl](https://manual.cs50.io/3/floorl) - largest integral value not greater than argument - [fma](https://manual.cs50.io/3/fma) - floating-point multiply and add - [fmaf](https://manual.cs50.io/3/fmaf) - floating-point multiply and add - [fmal](https://manual.cs50.io/3/fmal) - floating-point multiply and add - [fmax](https://manual.cs50.io/3/fmax) - determine maximum of two floating-point numbers - [fmaxf](https://manual.cs50.io/3/fmaxf) - determine maximum of two floating-point numbers - [fmaxl](https://manual.cs50.io/3/fmaxl) - determine maximum of two floating-point numbers - [fmin](https://manual.cs50.io/3/fmin) - determine minimum of two floating-point numbers - [fminf](https://manual.cs50.io/3/fminf) - determine minimum of two floating-point numbers - [fminl](https://manual.cs50.io/3/fminl) - determine minimum of two floating-point numbers - [fmod](https://manual.cs50.io/3/fmod) - floating-point remainder function - [fmodf](https://manual.cs50.io/3/fmodf) - floating-point remainder function - [fmodl](https://manual.cs50.io/3/fmodl) - floating-point remainder function - [fpclassify](https://manual.cs50.io/3/fpclassify) - floating-point classification macros - [frexp](https://manual.cs50.io/3/frexp) - convert floating-point number to fractional and integr... - [frexpf](https://manual.cs50.io/3/frexpf) - convert floating-point number to fractional and integr... - [frexpl](https://manual.cs50.io/3/frexpl) - convert floating-point number to fractional and integr... - [gamma](https://manual.cs50.io/3/gamma) - (logarithm of the) gamma function - [gammaf](https://manual.cs50.io/3/gammaf) - (logarithm of the) gamma function - [gammal](https://manual.cs50.io/3/gammal) - (logarithm of the) gamma function - [HUGE\_VAL](https://manual.cs50.io/3/HUGE_VAL) - floating-point constants - [HUGE\_VALF](https://manual.cs50.io/3/HUGE_VALF) - floating-point constants - [HUGE\_VALL](https://manual.cs50.io/3/HUGE_VALL) - floating-point constants - [hypot](https://manual.cs50.io/3/hypot) - Euclidean distance function - [hypotf](https://manual.cs50.io/3/hypotf) - Euclidean distance function - [hypotl](https://manual.cs50.io/3/hypotl) - Euclidean distance function - [ilogb](https://manual.cs50.io/3/ilogb) - get integer exponent of a floating-point value - [ilogbf](https://manual.cs50.io/3/ilogbf) - get integer exponent of a floating-point value - [ilogbl](https://manual.cs50.io/3/ilogbl) - get integer exponent of a floating-point value - [INFINITY](https://manual.cs50.io/3/INFINITY) - floating-point constants - [isfinite](https://manual.cs50.io/3/isfinite) - floating-point classification macros - [isgreater](https://manual.cs50.io/3/isgreater) - floating-point relational tests without exception for NaN - [isgreaterequal](https://manual.cs50.io/3/isgreaterequal) - floating-point relational tests without exception for NaN - [isinf](https://manual.cs50.io/3/isinf) - floating-point classification macros - [isinff](https://manual.cs50.io/3/isinff) - BSD floating-point classification functions - [isinfl](https://manual.cs50.io/3/isinfl) - BSD floating-point classification functions - [isless](https://manual.cs50.io/3/isless) - floating-point relational tests without exception for NaN - [islessequal](https://manual.cs50.io/3/islessequal) - floating-point relational tests without exception for NaN - [islessgreater](https://manual.cs50.io/3/islessgreater) - floating-point relational tests without exception for NaN - [isnan](https://manual.cs50.io/3/isnan) - floating-point classification macros - [isnanf](https://manual.cs50.io/3/isnanf) - BSD floating-point classification functions - [isnanl](https://manual.cs50.io/3/isnanl) - BSD floating-point classification functions - [isnormal](https://manual.cs50.io/3/isnormal) - floating-point classification macros - [isunordered](https://manual.cs50.io/3/isunordered) - floating-point relational tests without exception for NaN - [j0](https://manual.cs50.io/3/j0) - Bessel functions of the first kind - [j0f](https://manual.cs50.io/3/j0f) - Bessel functions of the first kind - [j0l](https://manual.cs50.io/3/j0l) - Bessel functions of the first kind - [j1](https://manual.cs50.io/3/j1) - Bessel functions of the first kind - [j1f](https://manual.cs50.io/3/j1f) - Bessel functions of the first kind - [j1l](https://manual.cs50.io/3/j1l) - Bessel functions of the first kind - [jn](https://manual.cs50.io/3/jn) - Bessel functions of the first kind - [jnf](https://manual.cs50.io/3/jnf) - Bessel functions of the first kind - [jnl](https://manual.cs50.io/3/jnl) - Bessel functions of the first kind - [ldexp](https://manual.cs50.io/3/ldexp) - multiply floating-point number by integral power of 2 - [ldexpf](https://manual.cs50.io/3/ldexpf) - multiply floating-point number by integral power of 2 - [ldexpl](https://manual.cs50.io/3/ldexpl) - multiply floating-point number by integral power of 2 - [lgamma](https://manual.cs50.io/3/lgamma) - log gamma function - [lgamma\_r](https://manual.cs50.io/3/lgamma_r) - log gamma function - [lgammaf](https://manual.cs50.io/3/lgammaf) - log gamma function - [lgammaf\_r](https://manual.cs50.io/3/lgammaf_r) - log gamma function - [lgammal](https://manual.cs50.io/3/lgammal) - log gamma function - [lgammal\_r](https://manual.cs50.io/3/lgammal_r) - log gamma function - [llrint](https://manual.cs50.io/3/llrint) - round to nearest integer - [llrintf](https://manual.cs50.io/3/llrintf) - round to nearest integer - [llrintl](https://manual.cs50.io/3/llrintl) - round to nearest integer - [llround](https://manual.cs50.io/3/llround) - round to nearest integer - [llroundf](https://manual.cs50.io/3/llroundf) - round to nearest integer - [llroundl](https://manual.cs50.io/3/llroundl) - round to nearest integer - [log](https://manual.cs50.io/3/log) - natural logarithmic function - [log10](https://manual.cs50.io/3/log10) - base-10 logarithmic function - [log10f](https://manual.cs50.io/3/log10f) - base-10 logarithmic function - [log10l](https://manual.cs50.io/3/log10l) - base-10 logarithmic function - [log1p](https://manual.cs50.io/3/log1p) - logarithm of 1 plus argument - [log1pf](https://manual.cs50.io/3/log1pf) - logarithm of 1 plus argument - [log1pl](https://manual.cs50.io/3/log1pl) - logarithm of 1 plus argument - [log2](https://manual.cs50.io/3/log2) - base-2 logarithmic function calculate the base-2 logarithm of a number - [log2f](https://manual.cs50.io/3/log2f) - base-2 logarithmic function - [log2l](https://manual.cs50.io/3/log2l) - base-2 logarithmic function - [logb](https://manual.cs50.io/3/logb) - get exponent of a floating-point value - [logbf](https://manual.cs50.io/3/logbf) - get exponent of a floating-point value - [logbl](https://manual.cs50.io/3/logbl) - get exponent of a floating-point value - [logf](https://manual.cs50.io/3/logf) - natural logarithmic function - [logl](https://manual.cs50.io/3/logl) - natural logarithmic function - [lrint](https://manual.cs50.io/3/lrint) - round to nearest integer - [lrintf](https://manual.cs50.io/3/lrintf) - round to nearest integer - [lrintl](https://manual.cs50.io/3/lrintl) - round to nearest integer - [lround](https://manual.cs50.io/3/lround) - round to nearest integer - [lroundf](https://manual.cs50.io/3/lroundf) - round to nearest integer - [lroundl](https://manual.cs50.io/3/lroundl) - round to nearest integer - [math\_error](https://manual.cs50.io/7/math_error) - detecting errors from mathematical functions - [matherr](https://manual.cs50.io/3/matherr) - SVID math library exception handling - [modf](https://manual.cs50.io/3/modf) - extract signed integral and fractional values from flo... - [modff](https://manual.cs50.io/3/modff) - extract signed integral and fractional values from flo... - [modfl](https://manual.cs50.io/3/modfl) - extract signed integral and fractional values from flo... - [NAN](https://manual.cs50.io/3/NAN) - floating-point constants - [nan](https://manual.cs50.io/3/nan) - return 'Not a Number' - [nanf](https://manual.cs50.io/3/nanf) - return 'Not a Number' - [nanl](https://manual.cs50.io/3/nanl) - return 'Not a Number' - [nearbyint](https://manual.cs50.io/3/nearbyint) - round to nearest integer - [nearbyintf](https://manual.cs50.io/3/nearbyintf) - round to nearest integer - [nearbyintl](https://manual.cs50.io/3/nearbyintl) - round to nearest integer - [nextafter](https://manual.cs50.io/3/nextafter) - floating-point number manipulation - [nextafterf](https://manual.cs50.io/3/nextafterf) - floating-point number manipulation - [nextafterl](https://manual.cs50.io/3/nextafterl) - floating-point number manipulation - [nextdown](https://manual.cs50.io/3/nextdown) - return next floating-point number toward positive/nega... - [nextdownf](https://manual.cs50.io/3/nextdownf) - return next floating-point number toward positive/nega... - [nextdownl](https://manual.cs50.io/3/nextdownl) - return next floating-point number toward positive/nega... - [nexttoward](https://manual.cs50.io/3/nexttoward) - floating-point number manipulation - [nexttowardf](https://manual.cs50.io/3/nexttowardf) - floating-point number manipulation - [nexttowardl](https://manual.cs50.io/3/nexttowardl) - floating-point number manipulation - [nextup](https://manual.cs50.io/3/nextup) - return next floating-point number toward positive/nega... - [nextupf](https://manual.cs50.io/3/nextupf) - return next floating-point number toward positive/nega... - [nextupl](https://manual.cs50.io/3/nextupl) - return next floating-point number toward positive/nega... - [pow](https://manual.cs50.io/3/pow) - power functions raise a number to a power - [pow10](https://manual.cs50.io/3/pow10) - base-10 power functions - [pow10f](https://manual.cs50.io/3/pow10f) - base-10 power functions - [pow10l](https://manual.cs50.io/3/pow10l) - base-10 power functions - [powf](https://manual.cs50.io/3/powf) - power functions - [powl](https://manual.cs50.io/3/powl) - power functions - [remainder](https://manual.cs50.io/3/remainder) - floating-point remainder function - [remainderf](https://manual.cs50.io/3/remainderf) - floating-point remainder function - [remainderl](https://manual.cs50.io/3/remainderl) - floating-point remainder function - [remquo](https://manual.cs50.io/3/remquo) - remainder and part of quotient - [remquof](https://manual.cs50.io/3/remquof) - remainder and part of quotient - [remquol](https://manual.cs50.io/3/remquol) - remainder and part of quotient - [rint](https://manual.cs50.io/3/rint) - round to nearest integer - [rintf](https://manual.cs50.io/3/rintf) - round to nearest integer - [rintl](https://manual.cs50.io/3/rintl) - round to nearest integer - [round](https://manual.cs50.io/3/round) - round to nearest integer, away from zero round a number to the nearest integer - [roundf](https://manual.cs50.io/3/roundf) - round to nearest integer, away from zero - [roundl](https://manual.cs50.io/3/roundl) - round to nearest integer, away from zero - [scalb](https://manual.cs50.io/3/scalb) - multiply floating-point number by integral power of ra... - [scalbf](https://manual.cs50.io/3/scalbf) - multiply floating-point number by integral power of ra... - [scalbl](https://manual.cs50.io/3/scalbl) - multiply floating-point number by integral power of ra... - [scalbln](https://manual.cs50.io/3/scalbln) - multiply floating-point number by integral power of radix - [scalblnf](https://manual.cs50.io/3/scalblnf) - multiply floating-point number by integral power of radix - [scalblnl](https://manual.cs50.io/3/scalblnl) - multiply floating-point number by integral power of radix - [scalbn](https://manual.cs50.io/3/scalbn) - multiply floating-point number by integral power of radix - [scalbnf](https://manual.cs50.io/3/scalbnf) - multiply floating-point number by integral power of radix - [scalbnl](https://manual.cs50.io/3/scalbnl) - multiply floating-point number by integral power of radix - [signbit](https://manual.cs50.io/3/signbit) - test sign of a real floating-point number - [signgam](https://manual.cs50.io/3/signgam) - log gamma function - [significand](https://manual.cs50.io/3/significand) - get mantissa of floating-point number - [significandf](https://manual.cs50.io/3/significandf) - get mantissa of floating-point number - [significandl](https://manual.cs50.io/3/significandl) - get mantissa of floating-point number - [sin](https://manual.cs50.io/3/sin) - sine function - [sincos](https://manual.cs50.io/3/sincos) - calculate sin and cos simultaneously - [sincosf](https://manual.cs50.io/3/sincosf) - calculate sin and cos simultaneously - [sincosl](https://manual.cs50.io/3/sincosl) - calculate sin and cos simultaneously - [sinf](https://manual.cs50.io/3/sinf) - sine function - [sinh](https://manual.cs50.io/3/sinh) - hyperbolic sine function - [sinhf](https://manual.cs50.io/3/sinhf) - hyperbolic sine function - [sinhl](https://manual.cs50.io/3/sinhl) - hyperbolic sine function - [sinl](https://manual.cs50.io/3/sinl) - sine function - [sqrt](https://manual.cs50.io/3/sqrt) - square root function calculate the square root of a number - [sqrtf](https://manual.cs50.io/3/sqrtf) - square root function - [sqrtl](https://manual.cs50.io/3/sqrtl) - square root function - [tan](https://manual.cs50.io/3/tan) - tangent function - [tanf](https://manual.cs50.io/3/tanf) - tangent function - [tanh](https://manual.cs50.io/3/tanh) - hyperbolic tangent function - [tanhf](https://manual.cs50.io/3/tanhf) - hyperbolic tangent function - [tanhl](https://manual.cs50.io/3/tanhl) - hyperbolic tangent function - [tanl](https://manual.cs50.io/3/tanl) - tangent function - [tgamma](https://manual.cs50.io/3/tgamma) - true gamma function - [tgammaf](https://manual.cs50.io/3/tgammaf) - true gamma function - [tgammal](https://manual.cs50.io/3/tgammal) - true gamma function - [trunc](https://manual.cs50.io/3/trunc) - round to integer, toward zero - [truncf](https://manual.cs50.io/3/truncf) - round to integer, toward zero - [truncl](https://manual.cs50.io/3/truncl) - round to integer, toward zero - [y0](https://manual.cs50.io/3/y0) - Bessel functions of the second kind - [y0f](https://manual.cs50.io/3/y0f) - Bessel functions of the second kind - [y0l](https://manual.cs50.io/3/y0l) - Bessel functions of the second kind - [y1](https://manual.cs50.io/3/y1) - Bessel functions of the second kind - [y1f](https://manual.cs50.io/3/y1f) - Bessel functions of the second kind - [y1l](https://manual.cs50.io/3/y1l) - Bessel functions of the second kind - [yn](https://manual.cs50.io/3/yn) - Bessel functions of the second kind - [ynf](https://manual.cs50.io/3/ynf) - Bessel functions of the second kind - [ynl](https://manual.cs50.io/3/ynl) - Bessel functions of the second kind ## [monetary.h](https://manual.cs50.io/#monetary.h) - [strfmon](https://manual.cs50.io/3/strfmon) - convert monetary value to a string - [strfmon\_l](https://manual.cs50.io/3/strfmon_l) - convert monetary value to a string ## [mqueue.h](https://manual.cs50.io/#mqueue.h) - [mq\_close](https://manual.cs50.io/3/mq_close) - close a message queue descriptor - [mq\_getattr](https://manual.cs50.io/3/mq_getattr) - get/set message queue attributes - [mq\_notify](https://manual.cs50.io/2/mq_notify) - register for notification when a message is available - [mq\_notify](https://manual.cs50.io/3/mq_notify) - register for notification when a message is available - [mq\_open](https://manual.cs50.io/2/mq_open) - open a message queue - [mq\_open](https://manual.cs50.io/3/mq_open) - open a message queue - [mq\_receive](https://manual.cs50.io/3/mq_receive) - receive a message from a message queue - [mq\_send](https://manual.cs50.io/3/mq_send) - send a message to a message queue - [mq\_setattr](https://manual.cs50.io/3/mq_setattr) - get/set message queue attributes - [mq\_timedreceive](https://manual.cs50.io/2/mq_timedreceive) - receive a message from a message queue - [mq\_timedreceive](https://manual.cs50.io/3/mq_timedreceive) - receive a message from a message queue - [mq\_timedsend](https://manual.cs50.io/2/mq_timedsend) - send a message to a message queue - [mq\_timedsend](https://manual.cs50.io/3/mq_timedsend) - send a message to a message queue - [mq\_unlink](https://manual.cs50.io/2/mq_unlink) - remove a message queue - [mq\_unlink](https://manual.cs50.io/3/mq_unlink) - remove a message queue ## [net/if.h](https://manual.cs50.io/#net/if.h) - [if\_freenameindex](https://manual.cs50.io/3/if_freenameindex) - get network interface names and indexes - [if\_indextoname](https://manual.cs50.io/3/if_indextoname) - mappings between network interface names and indexes - [if\_nameindex](https://manual.cs50.io/3/if_nameindex) - get network interface names and indexes - [if\_nametoindex](https://manual.cs50.io/3/if_nametoindex) - mappings between network interface names and indexes ## [netdb.h](https://manual.cs50.io/#netdb.h) - [endhostent](https://manual.cs50.io/3/endhostent) - get network host entry - [endnetent](https://manual.cs50.io/3/endnetent) - get network entry - [endnetgrent](https://manual.cs50.io/3/endnetgrent) - handle network group entries - [endprotoent](https://manual.cs50.io/3/endprotoent) - get protocol entry - [endrpcent](https://manual.cs50.io/3/endrpcent) - get RPC entry - [endservent](https://manual.cs50.io/3/endservent) - get service entry - [gai\_cancel](https://manual.cs50.io/3/gai_cancel) - asynchronous network address and service translation - [gai\_error](https://manual.cs50.io/3/gai_error) - asynchronous network address and service translation - [gai\_suspend](https://manual.cs50.io/3/gai_suspend) - asynchronous network address and service translation - [getaddrinfo\_a](https://manual.cs50.io/3/getaddrinfo_a) - asynchronous network address and service translation - [gethostbyaddr](https://manual.cs50.io/3/gethostbyaddr) - get network host entry - [gethostbyaddr\_r](https://manual.cs50.io/3/gethostbyaddr_r) - get network host entry - [gethostbyname](https://manual.cs50.io/3/gethostbyname) - get network host entry - [gethostbyname2](https://manual.cs50.io/3/gethostbyname2) - get network host entry - [gethostbyname2\_r](https://manual.cs50.io/3/gethostbyname2_r) - get network host entry - [gethostbyname\_r](https://manual.cs50.io/3/gethostbyname_r) - get network host entry - [gethostent](https://manual.cs50.io/3/gethostent) - get network host entry - [gethostent\_r](https://manual.cs50.io/3/gethostent_r) - get network host entry - [getnetbyaddr](https://manual.cs50.io/3/getnetbyaddr) - get network entry - [getnetbyaddr\_r](https://manual.cs50.io/3/getnetbyaddr_r) - get network entry (reentrant) - [getnetbyname](https://manual.cs50.io/3/getnetbyname) - get network entry - [getnetbyname\_r](https://manual.cs50.io/3/getnetbyname_r) - get network entry (reentrant) - [getnetent](https://manual.cs50.io/3/getnetent) - get network entry - [getnetent\_r](https://manual.cs50.io/3/getnetent_r) - get network entry (reentrant) - [getnetgrent](https://manual.cs50.io/3/getnetgrent) - handle network group entries - [getnetgrent\_r](https://manual.cs50.io/3/getnetgrent_r) - handle network group entries - [getprotobyname](https://manual.cs50.io/3/getprotobyname) - get protocol entry - [getprotobyname\_r](https://manual.cs50.io/3/getprotobyname_r) - get protocol entry (reentrant) - [getprotobynumber](https://manual.cs50.io/3/getprotobynumber) - get protocol entry - [getprotobynumber\_r](https://manual.cs50.io/3/getprotobynumber_r) - get protocol entry (reentrant) - [getprotoent](https://manual.cs50.io/3/getprotoent) - get protocol entry - [getprotoent\_r](https://manual.cs50.io/3/getprotoent_r) - get protocol entry (reentrant) - [getrpcbyname](https://manual.cs50.io/3/getrpcbyname) - get RPC entry - [getrpcbyname\_r](https://manual.cs50.io/3/getrpcbyname_r) - get RPC entry (reentrant) - [getrpcbynumber](https://manual.cs50.io/3/getrpcbynumber) - get RPC entry - [getrpcbynumber\_r](https://manual.cs50.io/3/getrpcbynumber_r) - get RPC entry (reentrant) - [getrpcent](https://manual.cs50.io/3/getrpcent) - get RPC entry - [getrpcent\_r](https://manual.cs50.io/3/getrpcent_r) - get RPC entry (reentrant) - [getservbyname](https://manual.cs50.io/3/getservbyname) - get service entry - [getservbyname\_r](https://manual.cs50.io/3/getservbyname_r) - get service entry (reentrant) - [getservbyport](https://manual.cs50.io/3/getservbyport) - get service entry - [getservbyport\_r](https://manual.cs50.io/3/getservbyport_r) - get service entry (reentrant) - [getservent](https://manual.cs50.io/3/getservent) - get service entry - [getservent\_r](https://manual.cs50.io/3/getservent_r) - get service entry (reentrant) - [h\_errno](https://manual.cs50.io/3/h_errno) - get network host entry - [herror](https://manual.cs50.io/3/herror) - get network host entry - [hstrerror](https://manual.cs50.io/3/hstrerror) - get network host entry - [innetgr](https://manual.cs50.io/3/innetgr) - handle network group entries - [rexec](https://manual.cs50.io/3/rexec) - return stream to a remote command - [rexec\_af](https://manual.cs50.io/3/rexec_af) - return stream to a remote command - [sethostent](https://manual.cs50.io/3/sethostent) - get network host entry - [setnetent](https://manual.cs50.io/3/setnetent) - get network entry - [setnetgrent](https://manual.cs50.io/3/setnetgrent) - handle network group entries - [setprotoent](https://manual.cs50.io/3/setprotoent) - get protocol entry - [setrpcent](https://manual.cs50.io/3/setrpcent) - get RPC entry - [setservent](https://manual.cs50.io/3/setservent) - get service entry ## [netinet/in.h](https://manual.cs50.io/#netinet/in.h) - [dn\_comp](https://manual.cs50.io/3/dn_comp) - resolver routines - [dn\_expand](https://manual.cs50.io/3/dn_expand) - resolver routines - [res\_init](https://manual.cs50.io/3/res_init) - resolver routines - [res\_mkquery](https://manual.cs50.io/3/res_mkquery) - resolver routines - [res\_nclose](https://manual.cs50.io/3/res_nclose) - resolver routines - [res\_ninit](https://manual.cs50.io/3/res_ninit) - resolver routines - [res\_nmkquery](https://manual.cs50.io/3/res_nmkquery) - resolver routines - [res\_nquery](https://manual.cs50.io/3/res_nquery) - resolver routines - [res\_nquerydomain](https://manual.cs50.io/3/res_nquerydomain) - resolver routines - [res\_nsearch](https://manual.cs50.io/3/res_nsearch) - resolver routines - [res\_nsend](https://manual.cs50.io/3/res_nsend) - resolver routines - [res\_query](https://manual.cs50.io/3/res_query) - resolver routines - [res\_querydomain](https://manual.cs50.io/3/res_querydomain) - resolver routines - [res\_search](https://manual.cs50.io/3/res_search) - resolver routines - [res\_send](https://manual.cs50.io/3/res_send) - resolver routines - [resolver](https://manual.cs50.io/3/resolver) - resolver routines ## [nl\_types.h](https://manual.cs50.io/#nl_types.h) - [catclose](https://manual.cs50.io/3/catclose) - open/close a message catalog - [catgets](https://manual.cs50.io/3/catgets) - get message from a message catalog - [catopen](https://manual.cs50.io/3/catopen) - open/close a message catalog ## [poll.h](https://manual.cs50.io/#poll.h) - [poll](https://manual.cs50.io/2/poll) - wait for some event on a file descriptor - [ppoll](https://manual.cs50.io/2/ppoll) - wait for some event on a file descriptor ## [pthread.h](https://manual.cs50.io/#pthread.h) - [pthread\_attr\_destroy](https://manual.cs50.io/3/pthread_attr_destroy) - initialize and destroy thread attributes object - [pthread\_attr\_getaffinity\_np](https://manual.cs50.io/3/pthread_attr_getaffinity_np) - set/get CPU affinity attribute in thread at... - [pthread\_attr\_getdetachstate](https://manual.cs50.io/3/pthread_attr_getdetachstate) - set/get detach state attribute in thread at... - [pthread\_attr\_getguardsize](https://manual.cs50.io/3/pthread_attr_getguardsize) - set/get guard size attribute in thread attrib... - [pthread\_attr\_getinheritsched](https://manual.cs50.io/3/pthread_attr_getinheritsched) - set/get inherit-scheduler attribute in thr... - [pthread\_attr\_getschedparam](https://manual.cs50.io/3/pthread_attr_getschedparam) - set/get scheduling parameter attributes in t... - [pthread\_attr\_getschedpolicy](https://manual.cs50.io/3/pthread_attr_getschedpolicy) - set/get scheduling policy attribute in thre... - [pthread\_attr\_getscope](https://manual.cs50.io/3/pthread_attr_getscope) - set/get contention scope attribute in thread attr... - [pthread\_attr\_getsigmask\_np](https://manual.cs50.io/3/pthread_attr_getsigmask_np) - set/get signal mask attribute in thread attr... - [pthread\_attr\_getstack](https://manual.cs50.io/3/pthread_attr_getstack) - set/get stack attributes in thread attributes object - [pthread\_attr\_getstackaddr](https://manual.cs50.io/3/pthread_attr_getstackaddr) - set/get stack address attribute in thread att... - [pthread\_attr\_getstacksize](https://manual.cs50.io/3/pthread_attr_getstacksize) - set/get stack size attribute in thread attrib... - [pthread\_attr\_init](https://manual.cs50.io/3/pthread_attr_init) - initialize and destroy thread attributes object - [pthread\_attr\_setaffinity\_np](https://manual.cs50.io/3/pthread_attr_setaffinity_np) - set/get CPU affinity attribute in thread at... - [pthread\_attr\_setdetachstate](https://manual.cs50.io/3/pthread_attr_setdetachstate) - set/get detach state attribute in thread at... - [pthread\_attr\_setguardsize](https://manual.cs50.io/3/pthread_attr_setguardsize) - set/get guard size attribute in thread attrib... - [pthread\_attr\_setinheritsched](https://manual.cs50.io/3/pthread_attr_setinheritsched) - set/get inherit-scheduler attribute in thr... - [pthread\_attr\_setschedparam](https://manual.cs50.io/3/pthread_attr_setschedparam) - set/get scheduling parameter attributes in t... - [pthread\_attr\_setschedpolicy](https://manual.cs50.io/3/pthread_attr_setschedpolicy) - set/get scheduling policy attribute in thre... - [pthread\_attr\_setscope](https://manual.cs50.io/3/pthread_attr_setscope) - set/get contention scope attribute in thread attr... - [pthread\_attr\_setsigmask\_np](https://manual.cs50.io/3/pthread_attr_setsigmask_np) - set/get signal mask attribute in thread attr... - [pthread\_attr\_setstack](https://manual.cs50.io/3/pthread_attr_setstack) - set/get stack attributes in thread attributes object - [pthread\_attr\_setstackaddr](https://manual.cs50.io/3/pthread_attr_setstackaddr) - set/get stack address attribute in thread att... - [pthread\_attr\_setstacksize](https://manual.cs50.io/3/pthread_attr_setstacksize) - set/get stack size attribute in thread attrib... - [pthread\_cancel](https://manual.cs50.io/3/pthread_cancel) - send a cancelation request to a thread - [pthread\_cleanup\_pop](https://manual.cs50.io/3/pthread_cleanup_pop) - push and pop thread cancelation clean-up handlers - [pthread\_cleanup\_pop\_restore\_np](https://manual.cs50.io/3/pthread_cleanup_pop_restore_np) - push and pop thread cancelation clean-up... - [pthread\_cleanup\_push](https://manual.cs50.io/3/pthread_cleanup_push) - push and pop thread cancelation clean-up handlers - [pthread\_cleanup\_push\_defer\_np](https://manual.cs50.io/3/pthread_cleanup_push_defer_np) - push and pop thread cancelation clean-up ... - [pthread\_create](https://manual.cs50.io/3/pthread_create) - create a new thread - [pthread\_detach](https://manual.cs50.io/3/pthread_detach) - detach a thread - [pthread\_equal](https://manual.cs50.io/3/pthread_equal) - compare thread IDs - [pthread\_exit](https://manual.cs50.io/3/pthread_exit) - terminate calling thread - [pthread\_getaffinity\_np](https://manual.cs50.io/3/pthread_getaffinity_np) - set/get CPU affinity of a thread - [pthread\_getattr\_default\_np](https://manual.cs50.io/3/pthread_getattr_default_np) - get or set default thread-creation attributes - [pthread\_getattr\_np](https://manual.cs50.io/3/pthread_getattr_np) - get attributes of created thread - [pthread\_getconcurrency](https://manual.cs50.io/3/pthread_getconcurrency) - set/get the concurrency level - [pthread\_getcpuclockid](https://manual.cs50.io/3/pthread_getcpuclockid) - retrieve ID of a thread's CPU time clock - [pthread\_getname\_np](https://manual.cs50.io/3/pthread_getname_np) - set/get the name of a thread - [pthread\_getschedparam](https://manual.cs50.io/3/pthread_getschedparam) - set/get scheduling policy and parameters of a thread - [pthread\_join](https://manual.cs50.io/3/pthread_join) - join with a terminated thread - [pthread\_kill\_other\_threads\_np](https://manual.cs50.io/3/pthread_kill_other_threads_np) - terminate all other threads in process - [pthread\_mutex\_consistent](https://manual.cs50.io/3/pthread_mutex_consistent) - make a robust mutex consistent - [pthread\_mutex\_consistent\_np](https://manual.cs50.io/3/pthread_mutex_consistent_np) - make a robust mutex consistent - [pthread\_mutexattr\_getpshared](https://manual.cs50.io/3/pthread_mutexattr_getpshared) - get/set process-shared mutex attribute - [pthread\_mutexattr\_getrobust](https://manual.cs50.io/3/pthread_mutexattr_getrobust) - get and set the robustness attribute of a m... - [pthread\_mutexattr\_getrobust\_np](https://manual.cs50.io/3/pthread_mutexattr_getrobust_np) - get and set the robustness attribute of ... - [pthread\_mutexattr\_setpshared](https://manual.cs50.io/3/pthread_mutexattr_setpshared) - get/set process-shared mutex attribute - [pthread\_mutexattr\_setrobust](https://manual.cs50.io/3/pthread_mutexattr_setrobust) - get and set the robustness attribute of a m... - [pthread\_mutexattr\_setrobust\_np](https://manual.cs50.io/3/pthread_mutexattr_setrobust_np) - get and set the robustness attribute of ... - [pthread\_rwlockattr\_getkind\_np](https://manual.cs50.io/3/pthread_rwlockattr_getkind_np) - set/get the read-write lock kind of the t... - [pthread\_rwlockattr\_setkind\_np](https://manual.cs50.io/3/pthread_rwlockattr_setkind_np) - set/get the read-write lock kind of the t... - [pthread\_self](https://manual.cs50.io/3/pthread_self) - obtain ID of the calling thread - [pthread\_setaffinity\_np](https://manual.cs50.io/3/pthread_setaffinity_np) - set/get CPU affinity of a thread - [pthread\_setattr\_default\_np](https://manual.cs50.io/3/pthread_setattr_default_np) - get or set default thread-creation attributes - [pthread\_setcancelstate](https://manual.cs50.io/3/pthread_setcancelstate) - set cancelability state and type - [pthread\_setcanceltype](https://manual.cs50.io/3/pthread_setcanceltype) - set cancelability state and type - [pthread\_setconcurrency](https://manual.cs50.io/3/pthread_setconcurrency) - set/get the concurrency level - [pthread\_setname\_np](https://manual.cs50.io/3/pthread_setname_np) - set/get the name of a thread - [pthread\_setschedparam](https://manual.cs50.io/3/pthread_setschedparam) - set/get scheduling policy and parameters of a thread - [pthread\_setschedprio](https://manual.cs50.io/3/pthread_setschedprio) - set scheduling priority of a thread - [pthread\_spin\_destroy](https://manual.cs50.io/3/pthread_spin_destroy) - initialize or destroy a spin lock - [pthread\_spin\_init](https://manual.cs50.io/3/pthread_spin_init) - initialize or destroy a spin lock - [pthread\_spin\_lock](https://manual.cs50.io/3/pthread_spin_lock) - lock and unlock a spin lock - [pthread\_spin\_trylock](https://manual.cs50.io/3/pthread_spin_trylock) - lock and unlock a spin lock - [pthread\_spin\_unlock](https://manual.cs50.io/3/pthread_spin_unlock) - lock and unlock a spin lock - [pthread\_testcancel](https://manual.cs50.io/3/pthread_testcancel) - request delivery of any pending cancelation request - [pthread\_timedjoin\_np](https://manual.cs50.io/3/pthread_timedjoin_np) - try to join with a terminated thread - [pthread\_tryjoin\_np](https://manual.cs50.io/3/pthread_tryjoin_np) - try to join with a terminated thread - [pthread\_yield](https://manual.cs50.io/3/pthread_yield) - yield the processor ## [pwd.h](https://manual.cs50.io/#pwd.h) - [fgetpwent\_r](https://manual.cs50.io/3/fgetpwent_r) - get passwd file entry reentrantly - [getpwent\_r](https://manual.cs50.io/3/getpwent_r) - get passwd file entry reentrantly ## [regex.h](https://manual.cs50.io/#regex.h) - [regcomp](https://manual.cs50.io/3/regcomp) - POSIX regex functions - [regerror](https://manual.cs50.io/3/regerror) - POSIX regex functions - [regex](https://manual.cs50.io/3/regex) - POSIX regex functions - [regexec](https://manual.cs50.io/3/regexec) - POSIX regex functions - [regfree](https://manual.cs50.io/3/regfree) - POSIX regex functions ## [sched.h](https://manual.cs50.io/#sched.h) - [\_\_clone2](https://manual.cs50.io/2/__clone2) - create a child process - [clone](https://manual.cs50.io/2/clone) - create a child process - [clone2](https://manual.cs50.io/2/clone2) - create a child process - [clone3](https://manual.cs50.io/2/clone3) - create a child process - [CPU\_ALLOC](https://manual.cs50.io/3/CPU_ALLOC) - macros for manipulating CPU sets - [CPU\_ALLOC\_SIZE](https://manual.cs50.io/3/CPU_ALLOC_SIZE) - macros for manipulating CPU sets - [CPU\_AND](https://manual.cs50.io/3/CPU_AND) - macros for manipulating CPU sets - [CPU\_AND\_S](https://manual.cs50.io/3/CPU_AND_S) - macros for manipulating CPU sets - [CPU\_CLR](https://manual.cs50.io/3/CPU_CLR) - macros for manipulating CPU sets - [CPU\_CLR\_S](https://manual.cs50.io/3/CPU_CLR_S) - macros for manipulating CPU sets - [CPU\_COUNT](https://manual.cs50.io/3/CPU_COUNT) - macros for manipulating CPU sets - [CPU\_COUNT\_S](https://manual.cs50.io/3/CPU_COUNT_S) - macros for manipulating CPU sets - [CPU\_EQUAL](https://manual.cs50.io/3/CPU_EQUAL) - macros for manipulating CPU sets - [CPU\_EQUAL\_S](https://manual.cs50.io/3/CPU_EQUAL_S) - macros for manipulating CPU sets - [CPU\_FREE](https://manual.cs50.io/3/CPU_FREE) - macros for manipulating CPU sets - [CPU\_ISSET](https://manual.cs50.io/3/CPU_ISSET) - macros for manipulating CPU sets - [CPU\_ISSET\_S](https://manual.cs50.io/3/CPU_ISSET_S) - macros for manipulating CPU sets - [CPU\_OR](https://manual.cs50.io/3/CPU_OR) - macros for manipulating CPU sets - [CPU\_OR\_S](https://manual.cs50.io/3/CPU_OR_S) - macros for manipulating CPU sets - [CPU\_SET](https://manual.cs50.io/3/CPU_SET) - macros for manipulating CPU sets - [CPU\_SET\_S](https://manual.cs50.io/3/CPU_SET_S) - macros for manipulating CPU sets - [CPU\_XOR](https://manual.cs50.io/3/CPU_XOR) - macros for manipulating CPU sets - [CPU\_XOR\_S](https://manual.cs50.io/3/CPU_XOR_S) - macros for manipulating CPU sets - [CPU\_ZERO](https://manual.cs50.io/3/CPU_ZERO) - macros for manipulating CPU sets - [CPU\_ZERO\_S](https://manual.cs50.io/3/CPU_ZERO_S) - macros for manipulating CPU sets - [getcpu](https://manual.cs50.io/2/getcpu) - determine CPU and NUMA node on which the calling threa... - [sched\_get\_priority\_max](https://manual.cs50.io/2/sched_get_priority_max) - get static priority range - [sched\_get\_priority\_min](https://manual.cs50.io/2/sched_get_priority_min) - get static priority range - [sched\_getaffinity](https://manual.cs50.io/2/sched_getaffinity) - set and get a thread's CPU affinity mask - [sched\_getcpu](https://manual.cs50.io/3/sched_getcpu) - determine CPU on which the calling thread is running - [sched\_getparam](https://manual.cs50.io/2/sched_getparam) - set and get scheduling parameters - [sched\_getscheduler](https://manual.cs50.io/2/sched_getscheduler) - set and get scheduling policy/parameters - [sched\_rr\_get\_interval](https://manual.cs50.io/2/sched_rr_get_interval) - get the SCHED\_RR interval for the named process - [sched\_setaffinity](https://manual.cs50.io/2/sched_setaffinity) - set and get a thread's CPU affinity mask - [sched\_setparam](https://manual.cs50.io/2/sched_setparam) - set and get scheduling parameters - [sched\_setscheduler](https://manual.cs50.io/2/sched_setscheduler) - set and get scheduling policy/parameters - [sched\_yield](https://manual.cs50.io/2/sched_yield) - yield the processor - [setns](https://manual.cs50.io/2/setns) - reassociate thread with a namespace - [unshare](https://manual.cs50.io/2/unshare) - disassociate parts of the process execution context ## [search.h](https://manual.cs50.io/#search.h) - [hcreate](https://manual.cs50.io/3/hcreate) - hash table management - [hcreate\_r](https://manual.cs50.io/3/hcreate_r) - hash table management - [hdestroy](https://manual.cs50.io/3/hdestroy) - hash table management - [hdestroy\_r](https://manual.cs50.io/3/hdestroy_r) - hash table management - [hsearch](https://manual.cs50.io/3/hsearch) - hash table management - [hsearch\_r](https://manual.cs50.io/3/hsearch_r) - hash table management - [insque](https://manual.cs50.io/3/insque) - insert/remove an item from a queue - [lfind](https://manual.cs50.io/3/lfind) - linear search of an array - [lsearch](https://manual.cs50.io/3/lsearch) - linear search of an array - [remque](https://manual.cs50.io/3/remque) - insert/remove an item from a queue - [tdelete](https://manual.cs50.io/3/tdelete) - manage a binary search tree - [tdestroy](https://manual.cs50.io/3/tdestroy) - manage a binary search tree - [tfind](https://manual.cs50.io/3/tfind) - manage a binary search tree - [tsearch](https://manual.cs50.io/3/tsearch) - manage a binary search tree - [twalk](https://manual.cs50.io/3/twalk) - manage a binary search tree - [twalk\_r](https://manual.cs50.io/3/twalk_r) - manage a binary search tree ## [semaphore.h](https://manual.cs50.io/#semaphore.h) - [sem\_close](https://manual.cs50.io/3/sem_close) - close a named semaphore - [sem\_destroy](https://manual.cs50.io/3/sem_destroy) - destroy an unnamed semaphore - [sem\_getvalue](https://manual.cs50.io/3/sem_getvalue) - get the value of a semaphore - [sem\_init](https://manual.cs50.io/3/sem_init) - initialize an unnamed semaphore - [sem\_open](https://manual.cs50.io/3/sem_open) - initialize and open a named semaphore - [sem\_post](https://manual.cs50.io/3/sem_post) - unlock a semaphore - [sem\_timedwait](https://manual.cs50.io/3/sem_timedwait) - lock a semaphore - [sem\_trywait](https://manual.cs50.io/3/sem_trywait) - lock a semaphore - [sem\_unlink](https://manual.cs50.io/3/sem_unlink) - remove a named semaphore - [sem\_wait](https://manual.cs50.io/3/sem_wait) - lock a semaphore ## [setjmp.h](https://manual.cs50.io/#setjmp.h) - [longjmp](https://manual.cs50.io/3/longjmp) - performing a nonlocal goto - [setjmp](https://manual.cs50.io/3/setjmp) - performing a nonlocal goto - [siglongjmp](https://manual.cs50.io/3/siglongjmp) - performing a nonlocal goto - [sigsetjmp](https://manual.cs50.io/3/sigsetjmp) - performing a nonlocal goto ## [signal.h](https://manual.cs50.io/#signal.h) - [bsd\_signal](https://manual.cs50.io/3/bsd_signal) - signal handling with BSD semantics - [gsignal](https://manual.cs50.io/3/gsignal) - software signal facility - [kill](https://manual.cs50.io/2/kill) - send signal to a process - [killpg](https://manual.cs50.io/3/killpg) - send signal to a process group - [psiginfo](https://manual.cs50.io/3/psiginfo) - print signal description - [psignal](https://manual.cs50.io/3/psignal) - print signal description - [pthread\_kill](https://manual.cs50.io/3/pthread_kill) - send a signal to a thread - [pthread\_sigmask](https://manual.cs50.io/3/pthread_sigmask) - examine and change mask of blocked signals - [pthread\_sigqueue](https://manual.cs50.io/3/pthread_sigqueue) - queue a signal and data to a thread - [raise](https://manual.cs50.io/3/raise) - send a signal to the caller - [rt\_sigaction](https://manual.cs50.io/2/rt_sigaction) - examine and change a signal action - [rt\_sigpending](https://manual.cs50.io/2/rt_sigpending) - examine pending signals - [rt\_sigprocmask](https://manual.cs50.io/2/rt_sigprocmask) - examine and change blocked signals - [rt\_sigsuspend](https://manual.cs50.io/2/rt_sigsuspend) - wait for a signal - [rt\_sigtimedwait](https://manual.cs50.io/2/rt_sigtimedwait) - synchronously wait for queued signals - [sigaction](https://manual.cs50.io/2/sigaction) - examine and change a signal action - [sigaddset](https://manual.cs50.io/3/sigaddset) - POSIX signal set operations - [sigaltstack](https://manual.cs50.io/2/sigaltstack) - set and/or get signal stack context - [sigandset](https://manual.cs50.io/3/sigandset) - POSIX signal set operations - [sigblock](https://manual.cs50.io/3/sigblock) - BSD signal API - [sigdelset](https://manual.cs50.io/3/sigdelset) - POSIX signal set operations - [sigemptyset](https://manual.cs50.io/3/sigemptyset) - POSIX signal set operations - [sigfillset](https://manual.cs50.io/3/sigfillset) - POSIX signal set operations - [siggetmask](https://manual.cs50.io/3/siggetmask) - BSD signal API - [sighold](https://manual.cs50.io/3/sighold) - System V signal API - [sigignore](https://manual.cs50.io/3/sigignore) - System V signal API - [siginterrupt](https://manual.cs50.io/3/siginterrupt) - allow signals to interrupt system calls - [sigisemptyset](https://manual.cs50.io/3/sigisemptyset) - POSIX signal set operations - [sigismember](https://manual.cs50.io/3/sigismember) - POSIX signal set operations - [sigmask](https://manual.cs50.io/3/sigmask) - BSD signal API - [signal](https://manual.cs50.io/2/signal) - ANSI C signal handling - [sigorset](https://manual.cs50.io/3/sigorset) - POSIX signal set operations - [sigpause](https://manual.cs50.io/3/sigpause) - atomically release blocked signals and wait for interrupt - [sigpending](https://manual.cs50.io/2/sigpending) - examine pending signals - [sigprocmask](https://manual.cs50.io/2/sigprocmask) - examine and change blocked signals - [sigqueue](https://manual.cs50.io/3/sigqueue) - queue a signal and data to a process - [sigrelse](https://manual.cs50.io/3/sigrelse) - System V signal API - [sigset](https://manual.cs50.io/3/sigset) - System V signal API - [sigsetmask](https://manual.cs50.io/3/sigsetmask) - BSD signal API - [sigsetops](https://manual.cs50.io/3/sigsetops) - POSIX signal set operations - [sigstack](https://manual.cs50.io/3/sigstack) - set and/or get signal stack context - [sigsuspend](https://manual.cs50.io/2/sigsuspend) - wait for a signal - [sigtimedwait](https://manual.cs50.io/2/sigtimedwait) - synchronously wait for queued signals - [sigvec](https://manual.cs50.io/3/sigvec) - BSD signal API - [sigwait](https://manual.cs50.io/3/sigwait) - wait for a signal - [sigwaitinfo](https://manual.cs50.io/2/sigwaitinfo) - synchronously wait for queued signals - [ssignal](https://manual.cs50.io/3/ssignal) - software signal facility - [sysv\_signal](https://manual.cs50.io/3/sysv_signal) - signal handling with System V semantics ## [spawn.h](https://manual.cs50.io/#spawn.h) - [posix\_spawn](https://manual.cs50.io/3/posix_spawn) - spawn a process - [posix\_spawnp](https://manual.cs50.io/3/posix_spawnp) - spawn a process ## [stdarg.h](https://manual.cs50.io/#stdarg.h) - [stdarg](https://manual.cs50.io/3/stdarg) - variable argument lists - [va\_arg](https://manual.cs50.io/3/va_arg) - variable argument lists - [va\_copy](https://manual.cs50.io/3/va_copy) - variable argument lists - [va\_end](https://manual.cs50.io/3/va_end) - variable argument lists - [va\_start](https://manual.cs50.io/3/va_start) - variable argument lists ## [stddef.h](https://manual.cs50.io/#stddef.h) - [offsetof](https://manual.cs50.io/3/offsetof) - offset of a structure member - [wcstoimax](https://manual.cs50.io/3/wcstoimax) - convert wide-character string to integer - [wcstoumax](https://manual.cs50.io/3/wcstoumax) - convert wide-character string to integer ## [stdio.h](https://manual.cs50.io/#stdio.h) - [\_\_fbufsize](https://manual.cs50.io/3/__fbufsize) - interfaces to stdio FILE structure - [\_\_flbf](https://manual.cs50.io/3/__flbf) - interfaces to stdio FILE structure - [\_\_fpending](https://manual.cs50.io/3/__fpending) - interfaces to stdio FILE structure - [\_\_fpurge](https://manual.cs50.io/3/__fpurge) - purge a stream - [\_\_freadable](https://manual.cs50.io/3/__freadable) - interfaces to stdio FILE structure - [\_\_freading](https://manual.cs50.io/3/__freading) - interfaces to stdio FILE structure - [\_\_fsetlocking](https://manual.cs50.io/3/__fsetlocking) - interfaces to stdio FILE structure - [\_\_fwritable](https://manual.cs50.io/3/__fwritable) - interfaces to stdio FILE structure - [\_\_fwriting](https://manual.cs50.io/3/__fwriting) - interfaces to stdio FILE structure - [\_flushlbf](https://manual.cs50.io/3/_flushlbf) - interfaces to stdio FILE structure - [addmntent](https://manual.cs50.io/3/addmntent) - get filesystem descriptor file entry - [asprintf](https://manual.cs50.io/3/asprintf) - print to allocated string - [clearerr](https://manual.cs50.io/3/clearerr) - check and reset stream status - [clearerr\_unlocked](https://manual.cs50.io/3/clearerr_unlocked) - nonlocking stdio functions - [ctermid](https://manual.cs50.io/3/ctermid) - get controlling terminal name - [dprintf](https://manual.cs50.io/3/dprintf) - formatted output conversion - [endmntent](https://manual.cs50.io/3/endmntent) - get filesystem descriptor file entry - [fclose](https://manual.cs50.io/3/fclose) - close a stream close a file - [fcloseall](https://manual.cs50.io/3/fcloseall) - close all open streams - [fdopen](https://manual.cs50.io/3/fdopen) - stream open functions - [feof](https://manual.cs50.io/3/feof) - check and reset stream status - [feof\_unlocked](https://manual.cs50.io/3/feof_unlocked) - nonlocking stdio functions - [ferror](https://manual.cs50.io/3/ferror) - check and reset stream status - [ferror\_unlocked](https://manual.cs50.io/3/ferror_unlocked) - nonlocking stdio functions - [fflush](https://manual.cs50.io/3/fflush) - flush a stream - [fflush\_unlocked](https://manual.cs50.io/3/fflush_unlocked) - nonlocking stdio functions - [fgetc](https://manual.cs50.io/3/fgetc) - input of characters and strings - [fgetc\_unlocked](https://manual.cs50.io/3/fgetc_unlocked) - nonlocking stdio functions - [fgetgrent](https://manual.cs50.io/3/fgetgrent) - get group file entry - [fgetpos](https://manual.cs50.io/3/fgetpos) - reposition a stream - [fgetpwent](https://manual.cs50.io/3/fgetpwent) - get password file entry - [fgets](https://manual.cs50.io/3/fgets) - input of characters and strings - [fgets\_unlocked](https://manual.cs50.io/3/fgets_unlocked) - nonlocking stdio functions - [fgetwc](https://manual.cs50.io/3/fgetwc) - read a wide character from a FILE stream - [fgetwc\_unlocked](https://manual.cs50.io/3/fgetwc_unlocked) - nonlocking stdio functions - [fgetws\_unlocked](https://manual.cs50.io/3/fgetws_unlocked) - nonlocking stdio functions - [fileno](https://manual.cs50.io/3/fileno) - obtain file descriptor of a stdio stream - [fileno\_unlocked](https://manual.cs50.io/3/fileno_unlocked) - nonlocking stdio functions - [flockfile](https://manual.cs50.io/3/flockfile) - lock FILE for stdio - [fmemopen](https://manual.cs50.io/3/fmemopen) - open memory as stream - [fopen](https://manual.cs50.io/3/fopen) - stream open functions open a file - [fopencookie](https://manual.cs50.io/3/fopencookie) - open a custom stream - [fprintf](https://manual.cs50.io/3/fprintf) - formatted output conversion print to a file - [fpurge](https://manual.cs50.io/3/fpurge) - purge a stream - [fputc](https://manual.cs50.io/3/fputc) - output of characters and strings - [fputc\_unlocked](https://manual.cs50.io/3/fputc_unlocked) - nonlocking stdio functions - [fputs](https://manual.cs50.io/3/fputs) - output of characters and strings - [fputs\_unlocked](https://manual.cs50.io/3/fputs_unlocked) - nonlocking stdio functions - [fputwc](https://manual.cs50.io/3/fputwc) - write a wide character to a FILE stream - [fputwc\_unlocked](https://manual.cs50.io/3/fputwc_unlocked) - nonlocking stdio functions - [fputws\_unlocked](https://manual.cs50.io/3/fputws_unlocked) - nonlocking stdio functions - [fread](https://manual.cs50.io/3/fread) - binary stream input/output read bytes from a file - [fread\_unlocked](https://manual.cs50.io/3/fread_unlocked) - nonlocking stdio functions - [freopen](https://manual.cs50.io/3/freopen) - stream open functions - [fscanf](https://manual.cs50.io/3/fscanf) - input FILE format conversion get input from a file - [fseek](https://manual.cs50.io/3/fseek) - reposition a stream - [fseeko](https://manual.cs50.io/3/fseeko) - seek to or report file position - [fsetpos](https://manual.cs50.io/3/fsetpos) - reposition a stream - [ftell](https://manual.cs50.io/3/ftell) - reposition a stream - [ftello](https://manual.cs50.io/3/ftello) - seek to or report file position - [ftrylockfile](https://manual.cs50.io/3/ftrylockfile) - lock FILE for stdio - [funlockfile](https://manual.cs50.io/3/funlockfile) - lock FILE for stdio - [fwprintf](https://manual.cs50.io/3/fwprintf) - formatted wide-character output conversion - [fwrite](https://manual.cs50.io/3/fwrite) - binary stream input/output write bytes to a file - [fwrite\_unlocked](https://manual.cs50.io/3/fwrite_unlocked) - nonlocking stdio functions - [getc](https://manual.cs50.io/3/getc) - input of characters and strings - [getc\_unlocked](https://manual.cs50.io/3/getc_unlocked) - nonlocking stdio functions - [getchar](https://manual.cs50.io/3/getchar) - input of characters and strings - [getchar\_unlocked](https://manual.cs50.io/3/getchar_unlocked) - nonlocking stdio functions - [getdelim](https://manual.cs50.io/3/getdelim) - delimited string input - [getline](https://manual.cs50.io/3/getline) - delimited string input - [getmntent](https://manual.cs50.io/3/getmntent) - get filesystem descriptor file entry - [getmntent\_r](https://manual.cs50.io/3/getmntent_r) - get filesystem descriptor file entry - [gets](https://manual.cs50.io/3/gets) - get a string from standard input (DEPRECATED) - [getw](https://manual.cs50.io/3/getw) - input and output of words (ints) - [getwc](https://manual.cs50.io/3/getwc) - read a wide character from a FILE stream - [getwc\_unlocked](https://manual.cs50.io/3/getwc_unlocked) - nonlocking stdio functions - [getwchar\_unlocked](https://manual.cs50.io/3/getwchar_unlocked) - nonlocking stdio functions - [hasmntopt](https://manual.cs50.io/3/hasmntopt) - get filesystem descriptor file entry - [open\_memstream](https://manual.cs50.io/3/open_memstream) - open a dynamic memory buffer stream - [open\_wmemstream](https://manual.cs50.io/3/open_wmemstream) - open a dynamic memory buffer stream - [pclose](https://manual.cs50.io/3/pclose) - pipe stream to or from a process - [perror](https://manual.cs50.io/3/perror) - print a system error message - [popen](https://manual.cs50.io/3/popen) - pipe stream to or from a process - [printf](https://manual.cs50.io/3/printf) - formatted output conversion print to the screen - [putc](https://manual.cs50.io/3/putc) - output of characters and strings - [putc\_unlocked](https://manual.cs50.io/3/putc_unlocked) - nonlocking stdio functions - [putchar](https://manual.cs50.io/3/putchar) - output of characters and strings - [putchar\_unlocked](https://manual.cs50.io/3/putchar_unlocked) - nonlocking stdio functions - [putpwent](https://manual.cs50.io/3/putpwent) - write a password file entry - [puts](https://manual.cs50.io/3/puts) - output of characters and strings - [putw](https://manual.cs50.io/3/putw) - input and output of words (ints) - [putwc](https://manual.cs50.io/3/putwc) - write a wide character to a FILE stream - [putwc\_unlocked](https://manual.cs50.io/3/putwc_unlocked) - nonlocking stdio functions - [putwchar\_unlocked](https://manual.cs50.io/3/putwchar_unlocked) - nonlocking stdio functions - [remove](https://manual.cs50.io/3/remove) - remove a file or directory - [rename](https://manual.cs50.io/2/rename) - change the name or location of a file - [renameat](https://manual.cs50.io/2/renameat) - change the name or location of a file - [renameat2](https://manual.cs50.io/2/renameat2) - change the name or location of a file - [rewind](https://manual.cs50.io/3/rewind) - reposition a stream - [scanf](https://manual.cs50.io/3/scanf) - input FILE format conversion get input from a user - [setbuf](https://manual.cs50.io/3/setbuf) - stream buffering operations - [setbuffer](https://manual.cs50.io/3/setbuffer) - stream buffering operations - [setlinebuf](https://manual.cs50.io/3/setlinebuf) - stream buffering operations - [setmntent](https://manual.cs50.io/3/setmntent) - get filesystem descriptor file entry - [setvbuf](https://manual.cs50.io/3/setvbuf) - stream buffering operations - [snprintf](https://manual.cs50.io/3/snprintf) - formatted output conversion - [sprintf](https://manual.cs50.io/3/sprintf) - formatted output conversion print to a string - [sscanf](https://manual.cs50.io/3/sscanf) - input string format conversion - [stderr](https://manual.cs50.io/3/stderr) - standard I/O streams - [stdin](https://manual.cs50.io/3/stdin) - standard I/O streams - [stdio](https://manual.cs50.io/3/stdio) - standard input/output library functions - [stdio\_ext](https://manual.cs50.io/3/stdio_ext) - interfaces to stdio FILE structure - [stdout](https://manual.cs50.io/3/stdout) - standard I/O streams - [swprintf](https://manual.cs50.io/3/swprintf) - formatted wide-character output conversion - [sys\_errlist](https://manual.cs50.io/3/sys_errlist) - print a system error message - [sys\_nerr](https://manual.cs50.io/3/sys_nerr) - print a system error message - [tempnam](https://manual.cs50.io/3/tempnam) - create a name for a temporary file - [tmpfile](https://manual.cs50.io/3/tmpfile) - create a temporary file - [tmpnam](https://manual.cs50.io/3/tmpnam) - create a name for a temporary file - [tmpnam\_r](https://manual.cs50.io/3/tmpnam_r) - create a name for a temporary file - [ungetc](https://manual.cs50.io/3/ungetc) - input of characters and strings - [unlocked\_stdio](https://manual.cs50.io/3/unlocked_stdio) - nonlocking stdio functions - [vasprintf](https://manual.cs50.io/3/vasprintf) - print to allocated string - [vdprintf](https://manual.cs50.io/3/vdprintf) - formatted output conversion - [vfprintf](https://manual.cs50.io/3/vfprintf) - formatted output conversion - [vfscanf](https://manual.cs50.io/3/vfscanf) - input FILE format conversion - [vfwprintf](https://manual.cs50.io/3/vfwprintf) - formatted wide-character output conversion - [vprintf](https://manual.cs50.io/3/vprintf) - formatted output conversion - [vscanf](https://manual.cs50.io/3/vscanf) - input FILE format conversion - [vsnprintf](https://manual.cs50.io/3/vsnprintf) - formatted output conversion - [vsprintf](https://manual.cs50.io/3/vsprintf) - formatted output conversion - [vsscanf](https://manual.cs50.io/3/vsscanf) - input string format conversion - [vswprintf](https://manual.cs50.io/3/vswprintf) - formatted wide-character output conversion - [vwprintf](https://manual.cs50.io/3/vwprintf) - formatted wide-character output conversion - [wprintf](https://manual.cs50.io/3/wprintf) - formatted wide-character output conversion ## [stdlib.h](https://manual.cs50.io/#stdlib.h) - [a64l](https://manual.cs50.io/3/a64l) - convert between long and base-64 - [abort](https://manual.cs50.io/3/abort) - cause abnormal process termination - [abs](https://manual.cs50.io/3/abs) - compute the absolute value of an integer - [aligned\_alloc](https://manual.cs50.io/3/aligned_alloc) - allocate aligned memory - [arc4random](https://manual.cs50.io/3/arc4random) - cryptographically-secure pseudorandom number generator - [arc4random\_buf](https://manual.cs50.io/3/arc4random_buf) - cryptographically-secure pseudorandom number generator - [arc4random\_uniform](https://manual.cs50.io/3/arc4random_uniform) - cryptographically-secure pseudorandom number generator - [atexit](https://manual.cs50.io/3/atexit) - register a function to be called at normal process ter... - [atof](https://manual.cs50.io/3/atof) - convert a string to a double convert a `string` to a `float` - [atoi](https://manual.cs50.io/3/atoi) - convert a string to an integer convert a `string` to an `int` - [atol](https://manual.cs50.io/3/atol) - convert a string to an integer convert a `string` to a `long` - [atoll](https://manual.cs50.io/3/atoll) - convert a string to an integer - [atoq](https://manual.cs50.io/3/atoq) - convert a string to an integer - [bsearch](https://manual.cs50.io/3/bsearch) - binary search of a sorted array - [calloc](https://manual.cs50.io/3/calloc) - allocate and free dynamic memory - [canonicalize\_file\_name](https://manual.cs50.io/3/canonicalize_file_name) - return the canonicalized absolute pathname - [cfree](https://manual.cs50.io/3/cfree) - free allocated memory - [clearenv](https://manual.cs50.io/3/clearenv) - clear the environment - [div](https://manual.cs50.io/3/div) - compute quotient and remainder of an integer division - [drand48](https://manual.cs50.io/3/drand48) - generate uniformly distributed pseudo-random numbers - [drand48\_r](https://manual.cs50.io/3/drand48_r) - generate uniformly distributed pseudo-random numbers r... - [ecvt](https://manual.cs50.io/3/ecvt) - convert a floating-point number to a string - [ecvt\_r](https://manual.cs50.io/3/ecvt_r) - convert a floating-point number to a string - [erand48](https://manual.cs50.io/3/erand48) - generate uniformly distributed pseudo-random numbers - [erand48\_r](https://manual.cs50.io/3/erand48_r) - generate uniformly distributed pseudo-random numbers r... - [exit](https://manual.cs50.io/3/exit) - cause normal process termination - [fcvt](https://manual.cs50.io/3/fcvt) - convert a floating-point number to a string - [fcvt\_r](https://manual.cs50.io/3/fcvt_r) - convert a floating-point number to a string - [free](https://manual.cs50.io/3/free) - allocate and free dynamic memory free dynamically allocated memory - [gcvt](https://manual.cs50.io/3/gcvt) - convert a floating-point number to a string - [getenv](https://manual.cs50.io/3/getenv) - get an environment variable - [getloadavg](https://manual.cs50.io/3/getloadavg) - get system load averages - [getpt](https://manual.cs50.io/3/getpt) - open a new pseudoterminal master - [getsubopt](https://manual.cs50.io/3/getsubopt) - parse suboption arguments from a string - [grantpt](https://manual.cs50.io/3/grantpt) - grant access to the slave pseudoterminal - [imaxabs](https://manual.cs50.io/3/imaxabs) - compute the absolute value of an integer - [imaxdiv](https://manual.cs50.io/3/imaxdiv) - compute quotient and remainder of an integer division - [initstate](https://manual.cs50.io/3/initstate) - random number generator - [initstate\_r](https://manual.cs50.io/3/initstate_r) - reentrant random number generator - [jrand48](https://manual.cs50.io/3/jrand48) - generate uniformly distributed pseudo-random numbers - [jrand48\_r](https://manual.cs50.io/3/jrand48_r) - generate uniformly distributed pseudo-random numbers r... - [l64a](https://manual.cs50.io/3/l64a) - convert between long and base-64 - [labs](https://manual.cs50.io/3/labs) - compute the absolute value of an integer - [lcong48](https://manual.cs50.io/3/lcong48) - generate uniformly distributed pseudo-random numbers - [lcong48\_r](https://manual.cs50.io/3/lcong48_r) - generate uniformly distributed pseudo-random numbers r... - [ldiv](https://manual.cs50.io/3/ldiv) - compute quotient and remainder of an integer division - [llabs](https://manual.cs50.io/3/llabs) - compute the absolute value of an integer - [lldiv](https://manual.cs50.io/3/lldiv) - compute quotient and remainder of an integer division - [lrand48](https://manual.cs50.io/3/lrand48) - generate uniformly distributed pseudo-random numbers - [lrand48\_r](https://manual.cs50.io/3/lrand48_r) - generate uniformly distributed pseudo-random numbers r... - [malloc](https://manual.cs50.io/3/malloc) - allocate and free dynamic memory allocate memory dynamically - [MB\_CUR\_MAX](https://manual.cs50.io/3/MB_CUR_MAX) - maximum length of a multibyte character in the current... - [mblen](https://manual.cs50.io/3/mblen) - determine number of bytes in next multibyte character - [mbstowcs](https://manual.cs50.io/3/mbstowcs) - convert a multibyte string to a wide-character string - [mbtowc](https://manual.cs50.io/3/mbtowc) - convert a multibyte sequence to a wide character - [memalign](https://manual.cs50.io/3/memalign) - allocate aligned memory - [mkdtemp](https://manual.cs50.io/3/mkdtemp) - create a unique temporary directory - [mkostemp](https://manual.cs50.io/3/mkostemp) - create a unique temporary file - [mkostemps](https://manual.cs50.io/3/mkostemps) - create a unique temporary file - [mkstemp](https://manual.cs50.io/3/mkstemp) - create a unique temporary file - [mkstemps](https://manual.cs50.io/3/mkstemps) - create a unique temporary file - [mktemp](https://manual.cs50.io/3/mktemp) - make a unique temporary filename - [mrand48](https://manual.cs50.io/3/mrand48) - generate uniformly distributed pseudo-random numbers - [mrand48\_r](https://manual.cs50.io/3/mrand48_r) - generate uniformly distributed pseudo-random numbers r... - [nrand48](https://manual.cs50.io/3/nrand48) - generate uniformly distributed pseudo-random numbers - [nrand48\_r](https://manual.cs50.io/3/nrand48_r) - generate uniformly distributed pseudo-random numbers r... - [on\_exit](https://manual.cs50.io/3/on_exit) - register a function to be called at normal process ter... - [posix\_memalign](https://manual.cs50.io/3/posix_memalign) - allocate aligned memory - [posix\_openpt](https://manual.cs50.io/3/posix_openpt) - open a pseudoterminal device - [ptsname](https://manual.cs50.io/3/ptsname) - get the name of the slave pseudoterminal - [ptsname\_r](https://manual.cs50.io/3/ptsname_r) - get the name of the slave pseudoterminal - [putenv](https://manual.cs50.io/3/putenv) - change or add an environment variable - [pvalloc](https://manual.cs50.io/3/pvalloc) - allocate aligned memory - [qecvt](https://manual.cs50.io/3/qecvt) - convert a floating-point number to a string - [qecvt\_r](https://manual.cs50.io/3/qecvt_r) - convert a floating-point number to a string - [qfcvt](https://manual.cs50.io/3/qfcvt) - convert a floating-point number to a string - [qfcvt\_r](https://manual.cs50.io/3/qfcvt_r) - convert a floating-point number to a string - [qgcvt](https://manual.cs50.io/3/qgcvt) - convert a floating-point number to a string - [qsort](https://manual.cs50.io/3/qsort) - sort an array - [qsort\_r](https://manual.cs50.io/3/qsort_r) - sort an array - [rand](https://manual.cs50.io/3/rand) - pseudo-random number generator - [rand\_r](https://manual.cs50.io/3/rand_r) - pseudo-random number generator - [random](https://manual.cs50.io/3/random) - random number generator generate a pseudorandom number - [random\_r](https://manual.cs50.io/3/random_r) - reentrant random number generator - [realloc](https://manual.cs50.io/3/realloc) - allocate and free dynamic memory reallocate memory dynamically - [reallocarray](https://manual.cs50.io/3/reallocarray) - allocate and free dynamic memory - [rpmatch](https://manual.cs50.io/3/rpmatch) - determine if the answer to a question is affirmative o... - [secure\_getenv](https://manual.cs50.io/3/secure_getenv) - get an environment variable - [seed48](https://manual.cs50.io/3/seed48) - generate uniformly distributed pseudo-random numbers - [seed48\_r](https://manual.cs50.io/3/seed48_r) - generate uniformly distributed pseudo-random numbers r... - [setenv](https://manual.cs50.io/3/setenv) - change or add an environment variable - [setstate](https://manual.cs50.io/3/setstate) - random number generator - [setstate\_r](https://manual.cs50.io/3/setstate_r) - reentrant random number generator - [srand](https://manual.cs50.io/3/srand) - pseudo-random number generator - [srand48](https://manual.cs50.io/3/srand48) - generate uniformly distributed pseudo-random numbers - [srand48\_r](https://manual.cs50.io/3/srand48_r) - generate uniformly distributed pseudo-random numbers r... - [srandom](https://manual.cs50.io/3/srandom) - random number generator seed pseudorandom number generation - [srandom\_r](https://manual.cs50.io/3/srandom_r) - reentrant random number generator - [strfromd](https://manual.cs50.io/3/strfromd) - convert a floating-point value into a string - [strfromf](https://manual.cs50.io/3/strfromf) - convert a floating-point value into a string - [strfroml](https://manual.cs50.io/3/strfroml) - convert a floating-point value into a string - [strtod](https://manual.cs50.io/3/strtod) - convert ASCII string to floating-point number - [strtof](https://manual.cs50.io/3/strtof) - convert ASCII string to floating-point number - [strtol](https://manual.cs50.io/3/strtol) - convert a string to a long integer - [strtold](https://manual.cs50.io/3/strtold) - convert ASCII string to floating-point number - [strtoll](https://manual.cs50.io/3/strtoll) - convert a string to a long integer - [strtoq](https://manual.cs50.io/3/strtoq) - convert a string to a long integer - [strtoul](https://manual.cs50.io/3/strtoul) - convert a string to an unsigned long integer - [strtoull](https://manual.cs50.io/3/strtoull) - convert a string to an unsigned long integer - [strtouq](https://manual.cs50.io/3/strtouq) - convert a string to an unsigned long integer - [system](https://manual.cs50.io/3/system) - execute a shell command - [unlockpt](https://manual.cs50.io/3/unlockpt) - unlock a pseudoterminal master/slave pair - [unsetenv](https://manual.cs50.io/3/unsetenv) - change or add an environment variable - [valloc](https://manual.cs50.io/3/valloc) - allocate aligned memory - [wcstombs](https://manual.cs50.io/3/wcstombs) - convert a wide-character string to a multibyte string - [wctomb](https://manual.cs50.io/3/wctomb) - convert a wide character to a multibyte sequence ## [string.h](https://manual.cs50.io/#string.h) - [bstring](https://manual.cs50.io/3/bstring) - byte string operations - [memccpy](https://manual.cs50.io/3/memccpy) - copy memory area - [memchr](https://manual.cs50.io/3/memchr) - scan memory for a character - [memcmp](https://manual.cs50.io/3/memcmp) - compare memory areas - [memcpy](https://manual.cs50.io/3/memcpy) - copy memory area - [memfrob](https://manual.cs50.io/3/memfrob) - frobnicate (obfuscate) a memory area - [memmem](https://manual.cs50.io/3/memmem) - locate a substring - [memmove](https://manual.cs50.io/3/memmove) - copy memory area - [mempcpy](https://manual.cs50.io/3/mempcpy) - copy memory area - [memrchr](https://manual.cs50.io/3/memrchr) - scan memory for a character - [memset](https://manual.cs50.io/3/memset) - fill memory with a constant byte - [rawmemchr](https://manual.cs50.io/3/rawmemchr) - scan memory for a character - [sigabbrev\_np](https://manual.cs50.io/3/sigabbrev_np) - return string describing signal - [sigdescr\_np](https://manual.cs50.io/3/sigdescr_np) - return string describing signal - [stpcpy](https://manual.cs50.io/3/stpcpy) - copy or catenate a string - [stpncpy](https://manual.cs50.io/3/stpncpy) - fill a fixed-size buffer with non-null bytes from a st... - [strcasestr](https://manual.cs50.io/3/strcasestr) - locate a substring locate a substring - [strcat](https://manual.cs50.io/3/strcat) - copy or catenate a string - [strchr](https://manual.cs50.io/3/strchr) - locate character in string - [strchrnul](https://manual.cs50.io/3/strchrnul) - locate character in string - [strcmp](https://manual.cs50.io/3/strcmp) - compare two strings compare two strings - [strcoll](https://manual.cs50.io/3/strcoll) - compare two strings using the current locale - [strcpy](https://manual.cs50.io/3/strcpy) - copy or catenate a string copy a string - [strcspn](https://manual.cs50.io/3/strcspn) - get length of a prefix substring - [strdup](https://manual.cs50.io/3/strdup) - duplicate a string - [strdupa](https://manual.cs50.io/3/strdupa) - duplicate a string - [strerror](https://manual.cs50.io/3/strerror) - return string describing error number - [strerror\_l](https://manual.cs50.io/3/strerror_l) - return string describing error number - [strerror\_r](https://manual.cs50.io/3/strerror_r) - return string describing error number - [strerrordesc\_np](https://manual.cs50.io/3/strerrordesc_np) - return string describing error number - [strerrorname\_np](https://manual.cs50.io/3/strerrorname_np) - return string describing error number - [strfry](https://manual.cs50.io/3/strfry) - randomize a string - [strlen](https://manual.cs50.io/3/strlen) - calculate the length of a string calculate the length of a string - [strncat](https://manual.cs50.io/3/strncat) - append non-null bytes from a source array to a string,... - [strncmp](https://manual.cs50.io/3/strncmp) - compare two strings - [strncpy](https://manual.cs50.io/3/strncpy) - fill a fixed-size buffer with non-null bytes from a st... - [strndup](https://manual.cs50.io/3/strndup) - duplicate a string - [strndupa](https://manual.cs50.io/3/strndupa) - duplicate a string - [strnlen](https://manual.cs50.io/3/strnlen) - determine the length of a fixed-size string - [strpbrk](https://manual.cs50.io/3/strpbrk) - search a string for any of a set of bytes - [strrchr](https://manual.cs50.io/3/strrchr) - locate character in string - [strsep](https://manual.cs50.io/3/strsep) - extract token from string - [strsignal](https://manual.cs50.io/3/strsignal) - return string describing signal - [strspn](https://manual.cs50.io/3/strspn) - get length of a prefix substring - [strstr](https://manual.cs50.io/3/strstr) - locate a substring locate a substring - [strtok](https://manual.cs50.io/3/strtok) - extract tokens from strings - [strtok\_r](https://manual.cs50.io/3/strtok_r) - extract tokens from strings - [strverscmp](https://manual.cs50.io/3/strverscmp) - compare two version strings - [strxfrm](https://manual.cs50.io/3/strxfrm) - string transformation - [sys\_siglist](https://manual.cs50.io/3/sys_siglist) - return string describing signal - [wmempcpy](https://manual.cs50.io/3/wmempcpy) - copy memory area ## [strings.h](https://manual.cs50.io/#strings.h) - [bcmp](https://manual.cs50.io/3/bcmp) - compare byte sequences - [bcopy](https://manual.cs50.io/3/bcopy) - copy byte sequence - [bzero](https://manual.cs50.io/3/bzero) - zero a byte string - [explicit\_bzero](https://manual.cs50.io/3/explicit_bzero) - zero a byte string - [ffs](https://manual.cs50.io/3/ffs) - find first bit set in a word - [ffsl](https://manual.cs50.io/3/ffsl) - find first bit set in a word - [ffsll](https://manual.cs50.io/3/ffsll) - find first bit set in a word - [index](https://manual.cs50.io/3/index) - locate character in string - [rindex](https://manual.cs50.io/3/rindex) - locate character in string - [strcasecmp](https://manual.cs50.io/3/strcasecmp) - compare two strings ignoring case compare two strings ignoring case - [string](https://manual.cs50.io/3/string) - string operations - [strncasecmp](https://manual.cs50.io/3/strncasecmp) - compare two strings ignoring case ## [sys/ipc.h](https://manual.cs50.io/#sys/ipc.h) - [ftok](https://manual.cs50.io/3/ftok) - convert a pathname and a project identifier to a Syste... ## [sys/mman.h](https://manual.cs50.io/#sys/mman.h) - [madvise](https://manual.cs50.io/2/madvise) - give advice about use of memory - [memfd\_create](https://manual.cs50.io/2/memfd_create) - create an anonymous file - [mincore](https://manual.cs50.io/2/mincore) - determine whether pages are resident in memory - [mlock](https://manual.cs50.io/2/mlock) - lock and unlock memory - [mlock2](https://manual.cs50.io/2/mlock2) - lock and unlock memory - [mlockall](https://manual.cs50.io/2/mlockall) - lock and unlock memory - [mmap](https://manual.cs50.io/2/mmap) - map or unmap files or devices into memory - [mmap64](https://manual.cs50.io/3/mmap64) - map or unmap files or devices into memory - [mprotect](https://manual.cs50.io/2/mprotect) - set protection on a region of memory - [mremap](https://manual.cs50.io/2/mremap) - remap a virtual memory address - [msync](https://manual.cs50.io/2/msync) - synchronize a file with a memory map - [munlock](https://manual.cs50.io/2/munlock) - lock and unlock memory - [munlockall](https://manual.cs50.io/2/munlockall) - lock and unlock memory - [munmap](https://manual.cs50.io/2/munmap) - map or unmap files or devices into memory - [pkey\_alloc](https://manual.cs50.io/2/pkey_alloc) - allocate or free a protection key - [pkey\_free](https://manual.cs50.io/2/pkey_free) - allocate or free a protection key - [pkey\_mprotect](https://manual.cs50.io/2/pkey_mprotect) - set protection on a region of memory - [posix\_madvise](https://manual.cs50.io/3/posix_madvise) - give advice about patterns of memory usage - [process\_madvise](https://manual.cs50.io/2/process_madvise) - give advice about use of memory to a process - [remap\_file\_pages](https://manual.cs50.io/2/remap_file_pages) - create a nonlinear file mapping - [shm\_open](https://manual.cs50.io/3/shm_open) - create/open or unlink POSIX shared memory objects - [shm\_unlink](https://manual.cs50.io/3/shm_unlink) - create/open or unlink POSIX shared memory objects ## [sys/msg.h](https://manual.cs50.io/#sys/msg.h) - [msgctl](https://manual.cs50.io/2/msgctl) - System V message control operations - [msgget](https://manual.cs50.io/2/msgget) - get a System V message queue identifier - [msgop](https://manual.cs50.io/2/msgop) - System V message queue operations - [msgrcv](https://manual.cs50.io/2/msgrcv) - System V message queue operations - [msgsnd](https://manual.cs50.io/2/msgsnd) - System V message queue operations ## [sys/resource.h](https://manual.cs50.io/#sys/resource.h) - [getpriority](https://manual.cs50.io/2/getpriority) - get/set program scheduling priority - [getrlimit](https://manual.cs50.io/2/getrlimit) - get/set resource limits - [getrusage](https://manual.cs50.io/2/getrusage) - get resource usage - [prlimit](https://manual.cs50.io/2/prlimit) - get/set resource limits - [prlimit64](https://manual.cs50.io/2/prlimit64) - get/set resource limits - [setpriority](https://manual.cs50.io/2/setpriority) - get/set program scheduling priority - [setrlimit](https://manual.cs50.io/2/setrlimit) - get/set resource limits - [ugetrlimit](https://manual.cs50.io/2/ugetrlimit) - get/set resource limits - [vlimit](https://manual.cs50.io/3/vlimit) - get/set resource limits - [vtimes](https://manual.cs50.io/3/vtimes) - get resource usage ## [sys/select.h](https://manual.cs50.io/#sys/select.h) - [\_newselect](https://manual.cs50.io/2/_newselect) - synchronous I/O multiplexing - [FD\_CLR](https://manual.cs50.io/3/FD_CLR) - synchronous I/O multiplexing - [FD\_ISSET](https://manual.cs50.io/3/FD_ISSET) - synchronous I/O multiplexing - [FD\_SET](https://manual.cs50.io/3/FD_SET) - synchronous I/O multiplexing - [FD\_ZERO](https://manual.cs50.io/3/FD_ZERO) - synchronous I/O multiplexing - [pselect](https://manual.cs50.io/2/pselect) - synchronous I/O multiplexing - [pselect6](https://manual.cs50.io/2/pselect6) - synchronous I/O multiplexing - [select](https://manual.cs50.io/2/select) - synchronous I/O multiplexing ## [sys/sem.h](https://manual.cs50.io/#sys/sem.h) - [semctl](https://manual.cs50.io/2/semctl) - System V semaphore control operations - [semget](https://manual.cs50.io/2/semget) - get a System V semaphore set identifier - [semop](https://manual.cs50.io/2/semop) - System V semaphore operations - [semtimedop](https://manual.cs50.io/2/semtimedop) - System V semaphore operations ## [sys/shm.h](https://manual.cs50.io/#sys/shm.h) - [shmat](https://manual.cs50.io/2/shmat) - System V shared memory operations - [shmctl](https://manual.cs50.io/2/shmctl) - System V shared memory control - [shmdt](https://manual.cs50.io/2/shmdt) - System V shared memory operations - [shmget](https://manual.cs50.io/2/shmget) - allocates a System V shared memory segment - [shmop](https://manual.cs50.io/2/shmop) - System V shared memory operations ## [sys/socket.h](https://manual.cs50.io/#sys/socket.h) - [accept](https://manual.cs50.io/2/accept) - accept a connection on a socket - [accept4](https://manual.cs50.io/2/accept4) - accept a connection on a socket - [address\_families](https://manual.cs50.io/7/address_families) - socket address families (domains) - [bind](https://manual.cs50.io/2/bind) - bind a name to a socket - [cmsg](https://manual.cs50.io/3/cmsg) - access ancillary data - [CMSG\_ALIGN](https://manual.cs50.io/3/CMSG_ALIGN) - access ancillary data - [CMSG\_DATA](https://manual.cs50.io/3/CMSG_DATA) - access ancillary data - [CMSG\_FIRSTHDR](https://manual.cs50.io/3/CMSG_FIRSTHDR) - access ancillary data - [CMSG\_LEN](https://manual.cs50.io/3/CMSG_LEN) - access ancillary data - [CMSG\_NXTHDR](https://manual.cs50.io/3/CMSG_NXTHDR) - access ancillary data - [CMSG\_SPACE](https://manual.cs50.io/3/CMSG_SPACE) - access ancillary data - [connect](https://manual.cs50.io/2/connect) - initiate a connection on a socket - [ddp](https://manual.cs50.io/7/ddp) - Linux AppleTalk protocol implementation - [getnameinfo](https://manual.cs50.io/3/getnameinfo) - address-to-name translation in protocol-independent ma... - [getpeername](https://manual.cs50.io/2/getpeername) - get name of connected peer socket - [getsockname](https://manual.cs50.io/2/getsockname) - get socket name - [getsockopt](https://manual.cs50.io/2/getsockopt) - get and set options on sockets - [inet](https://manual.cs50.io/3/inet) - Internet address manipulation routines - [inet\_addr](https://manual.cs50.io/3/inet_addr) - Internet address manipulation routines - [inet\_aton](https://manual.cs50.io/3/inet_aton) - Internet address manipulation routines - [inet\_lnaof](https://manual.cs50.io/3/inet_lnaof) - Internet address manipulation routines - [inet\_makeaddr](https://manual.cs50.io/3/inet_makeaddr) - Internet address manipulation routines - [inet\_netof](https://manual.cs50.io/3/inet_netof) - Internet address manipulation routines - [inet\_network](https://manual.cs50.io/3/inet_network) - Internet address manipulation routines - [inet\_ntoa](https://manual.cs50.io/3/inet_ntoa) - Internet address manipulation routines - [ip](https://manual.cs50.io/7/ip) - Linux IPv4 protocol implementation - [ipv6](https://manual.cs50.io/7/ipv6) - Linux IPv6 protocol implementation - [listen](https://manual.cs50.io/2/listen) - listen for connections on a socket - [packet](https://manual.cs50.io/7/packet) - packet interface on device level - [raw](https://manual.cs50.io/7/raw) - Linux IPv4 raw sockets - [recv](https://manual.cs50.io/2/recv) - receive a message from a socket - [recvfrom](https://manual.cs50.io/2/recvfrom) - receive a message from a socket - [recvmmsg](https://manual.cs50.io/2/recvmmsg) - receive multiple messages on a socket - [recvmsg](https://manual.cs50.io/2/recvmsg) - receive a message from a socket - [send](https://manual.cs50.io/2/send) - send a message on a socket - [sendmmsg](https://manual.cs50.io/2/sendmmsg) - send multiple messages on a socket - [sendmsg](https://manual.cs50.io/2/sendmsg) - send a message on a socket - [sendto](https://manual.cs50.io/2/sendto) - send a message on a socket - [setsockopt](https://manual.cs50.io/2/setsockopt) - get and set options on sockets - [shutdown](https://manual.cs50.io/2/shutdown) - shut down part of a full-duplex connection - [sock\_diag](https://manual.cs50.io/7/sock_diag) - obtaining information about sockets - [sockatmark](https://manual.cs50.io/3/sockatmark) - determine whether socket is at out-of-band mark - [socket](https://manual.cs50.io/2/socket) - create an endpoint for communication - [socket](https://manual.cs50.io/7/socket) - Linux socket interface - [socketpair](https://manual.cs50.io/2/socketpair) - create a pair of connected sockets - [tcp](https://manual.cs50.io/7/tcp) - TCP protocol - [udp](https://manual.cs50.io/7/udp) - User Datagram Protocol for IPv4 - [udplite](https://manual.cs50.io/7/udplite) - Lightweight User Datagram Protocol - [unix](https://manual.cs50.io/7/unix) - sockets for local interprocess communication - [vsock](https://manual.cs50.io/7/vsock) - Linux VSOCK address family - [x25](https://manual.cs50.io/7/x25) - ITU-T X.25 / ISO/IEC 8208 protocol interface ## [sys/stat.h](https://manual.cs50.io/#sys/stat.h) - [chmod](https://manual.cs50.io/2/chmod) - change permissions of a file - [fchmod](https://manual.cs50.io/2/fchmod) - change permissions of a file - [fchmodat](https://manual.cs50.io/2/fchmodat) - change permissions of a file - [fstat](https://manual.cs50.io/2/fstat) - get file status - [fstat64](https://manual.cs50.io/2/fstat64) - get file status - [fstatat](https://manual.cs50.io/2/fstatat) - get file status - [fstatat64](https://manual.cs50.io/2/fstatat64) - get file status - [futimens](https://manual.cs50.io/3/futimens) - change file timestamps with nanosecond precision - [isfdtype](https://manual.cs50.io/3/isfdtype) - test file type of a file descriptor - [lstat](https://manual.cs50.io/2/lstat) - get file status - [lstat64](https://manual.cs50.io/2/lstat64) - get file status - [mkdir](https://manual.cs50.io/2/mkdir) - create a directory - [mkdirat](https://manual.cs50.io/2/mkdirat) - create a directory - [mknod](https://manual.cs50.io/2/mknod) - create a special or ordinary file - [mknodat](https://manual.cs50.io/2/mknodat) - create a special or ordinary file - [newfstatat](https://manual.cs50.io/2/newfstatat) - get file status - [oldfstat](https://manual.cs50.io/2/oldfstat) - get file status - [oldlstat](https://manual.cs50.io/2/oldlstat) - get file status - [oldstat](https://manual.cs50.io/2/oldstat) - get file status - [stat](https://manual.cs50.io/2/stat) - get file status - [stat64](https://manual.cs50.io/2/stat64) - get file status - [statx](https://manual.cs50.io/2/statx) - get file status (extended) - [umask](https://manual.cs50.io/2/umask) - set file mode creation mask - [utimensat](https://manual.cs50.io/2/utimensat) - change file timestamps with nanosecond precision ## [sys/statvfs.h](https://manual.cs50.io/#sys/statvfs.h) - [fstatvfs](https://manual.cs50.io/3/fstatvfs) - get filesystem statistics - [statvfs](https://manual.cs50.io/3/statvfs) - get filesystem statistics ## [sys/time.h](https://manual.cs50.io/#sys/time.h) - [adjtime](https://manual.cs50.io/3/adjtime) - correct the time to synchronize the system clock - [futimes](https://manual.cs50.io/3/futimes) - change file timestamps - [futimesat](https://manual.cs50.io/2/futimesat) - change timestamps of a file relative to a directory fi... - [getitimer](https://manual.cs50.io/2/getitimer) - get or set value of an interval timer - [gettimeofday](https://manual.cs50.io/2/gettimeofday) - get / set time - [lutimes](https://manual.cs50.io/3/lutimes) - change file timestamps - [setitimer](https://manual.cs50.io/2/setitimer) - get or set value of an interval timer - [settimeofday](https://manual.cs50.io/2/settimeofday) - get / set time - [timeradd](https://manual.cs50.io/3/timeradd) - timeval operations - [timerclear](https://manual.cs50.io/3/timerclear) - timeval operations - [timercmp](https://manual.cs50.io/3/timercmp) - timeval operations - [timerisset](https://manual.cs50.io/3/timerisset) - timeval operations - [timersub](https://manual.cs50.io/3/timersub) - timeval operations - [TIMESPEC\_TO\_TIMEVAL](https://manual.cs50.io/3/TIMESPEC_TO_TIMEVAL) - convert between time structures - [TIMEVAL\_TO\_TIMESPEC](https://manual.cs50.io/3/TIMEVAL_TO_TIMESPEC) - convert between time structures ## [sys/times.h](https://manual.cs50.io/#sys/times.h) - [times](https://manual.cs50.io/2/times) - get process times ## [sys/types.h](https://manual.cs50.io/#sys/types.h) - [bindresvport](https://manual.cs50.io/3/bindresvport) - bind a socket to a privileged IP port - [closedir](https://manual.cs50.io/3/closedir) - close a directory - [db](https://manual.cs50.io/3/db) - database access methods - [dbopen](https://manual.cs50.io/3/dbopen) - database access methods - [dirfd](https://manual.cs50.io/3/dirfd) - get directory stream file descriptor - [endgrent](https://manual.cs50.io/3/endgrent) - get group file entry - [endpwent](https://manual.cs50.io/3/endpwent) - get password file entry - [fdopendir](https://manual.cs50.io/3/fdopendir) - open a directory - [freeaddrinfo](https://manual.cs50.io/3/freeaddrinfo) - network address and service translation - [freehostent](https://manual.cs50.io/3/freehostent) - get network hostnames and addresses - [freeifaddrs](https://manual.cs50.io/3/freeifaddrs) - get interface addresses - [fts](https://manual.cs50.io/3/fts) - traverse a file hierarchy - [fts\_children](https://manual.cs50.io/3/fts_children) - traverse a file hierarchy - [fts\_close](https://manual.cs50.io/3/fts_close) - traverse a file hierarchy - [fts\_open](https://manual.cs50.io/3/fts_open) - traverse a file hierarchy - [fts\_read](https://manual.cs50.io/3/fts_read) - traverse a file hierarchy - [fts\_set](https://manual.cs50.io/3/fts_set) - traverse a file hierarchy - [gai\_strerror](https://manual.cs50.io/3/gai_strerror) - network address and service translation - [getaddrinfo](https://manual.cs50.io/3/getaddrinfo) - network address and service translation - [getgrent](https://manual.cs50.io/3/getgrent) - get group file entry - [getgrgid](https://manual.cs50.io/3/getgrgid) - get group file entry - [getgrgid\_r](https://manual.cs50.io/3/getgrgid_r) - get group file entry - [getgrnam](https://manual.cs50.io/3/getgrnam) - get group file entry - [getgrnam\_r](https://manual.cs50.io/3/getgrnam_r) - get group file entry - [getifaddrs](https://manual.cs50.io/3/getifaddrs) - get interface addresses - [getipnodebyaddr](https://manual.cs50.io/3/getipnodebyaddr) - get network hostnames and addresses - [getipnodebyname](https://manual.cs50.io/3/getipnodebyname) - get network hostnames and addresses - [getpw](https://manual.cs50.io/3/getpw) - reconstruct password line entry - [getpwent](https://manual.cs50.io/3/getpwent) - get password file entry - [getpwnam](https://manual.cs50.io/3/getpwnam) - get password file entry - [getpwnam\_r](https://manual.cs50.io/3/getpwnam_r) - get password file entry - [getpwuid](https://manual.cs50.io/3/getpwuid) - get password file entry - [getpwuid\_r](https://manual.cs50.io/3/getpwuid_r) - get password file entry - [initgroups](https://manual.cs50.io/3/initgroups) - initialize the supplementary group access list - [lseek64](https://manual.cs50.io/3/lseek64) - reposition 64-bit read/write file offset - [mkfifo](https://manual.cs50.io/3/mkfifo) - make a FIFO special file (a named pipe) - [mkfifoat](https://manual.cs50.io/3/mkfifoat) - make a FIFO special file (a named pipe) - [opendir](https://manual.cs50.io/3/opendir) - open a directory - [re\_comp](https://manual.cs50.io/3/re_comp) - BSD regex functions - [re\_exec](https://manual.cs50.io/3/re_exec) - BSD regex functions - [rewinddir](https://manual.cs50.io/3/rewinddir) - reset directory stream - [setgrent](https://manual.cs50.io/3/setgrent) - get group file entry - [setpwent](https://manual.cs50.io/3/setpwent) - get password file entry - [ustat](https://manual.cs50.io/2/ustat) - get filesystem statistics ## [sys/uio.h](https://manual.cs50.io/#sys/uio.h) - [preadv](https://manual.cs50.io/2/preadv) - read or write data into multiple buffers - [preadv2](https://manual.cs50.io/2/preadv2) - read or write data into multiple buffers - [process\_vm\_readv](https://manual.cs50.io/2/process_vm_readv) - transfer data between process address spaces - [process\_vm\_writev](https://manual.cs50.io/2/process_vm_writev) - transfer data between process address spaces - [pwritev](https://manual.cs50.io/2/pwritev) - read or write data into multiple buffers - [pwritev2](https://manual.cs50.io/2/pwritev2) - read or write data into multiple buffers - [readv](https://manual.cs50.io/2/readv) - read or write data into multiple buffers - [writev](https://manual.cs50.io/2/writev) - read or write data into multiple buffers ## [sys/utsname.h](https://manual.cs50.io/#sys/utsname.h) - [oldolduname](https://manual.cs50.io/2/oldolduname) - get name and information about current kernel - [olduname](https://manual.cs50.io/2/olduname) - get name and information about current kernel - [uname](https://manual.cs50.io/2/uname) - get name and information about current kernel ## [sys/wait.h](https://manual.cs50.io/#sys/wait.h) - [wait](https://manual.cs50.io/2/wait) - wait for process to change state - [wait3](https://manual.cs50.io/2/wait3) - wait for process to change state, BSD style - [wait4](https://manual.cs50.io/2/wait4) - wait for process to change state, BSD style - [waitid](https://manual.cs50.io/2/waitid) - wait for process to change state - [waitpid](https://manual.cs50.io/2/waitpid) - wait for process to change state ## [syslog.h](https://manual.cs50.io/#syslog.h) - [closelog](https://manual.cs50.io/3/closelog) - send messages to the system logger - [openlog](https://manual.cs50.io/3/openlog) - send messages to the system logger - [setlogmask](https://manual.cs50.io/3/setlogmask) - set log priority mask - [syslog](https://manual.cs50.io/3/syslog) - send messages to the system logger - [vsyslog](https://manual.cs50.io/3/vsyslog) - send messages to the system logger ## [termios.h](https://manual.cs50.io/#termios.h) - [cfgetispeed](https://manual.cs50.io/3/cfgetispeed) - get and set terminal attributes, line control, get and... - [cfgetospeed](https://manual.cs50.io/3/cfgetospeed) - get and set terminal attributes, line control, get and... - [cfmakeraw](https://manual.cs50.io/3/cfmakeraw) - get and set terminal attributes, line control, get and... - [cfsetispeed](https://manual.cs50.io/3/cfsetispeed) - get and set terminal attributes, line control, get and... - [cfsetospeed](https://manual.cs50.io/3/cfsetospeed) - get and set terminal attributes, line control, get and... - [cfsetspeed](https://manual.cs50.io/3/cfsetspeed) - get and set terminal attributes, line control, get and... - [tcdrain](https://manual.cs50.io/3/tcdrain) - get and set terminal attributes, line control, get and... - [tcflow](https://manual.cs50.io/3/tcflow) - get and set terminal attributes, line control, get and... - [tcflush](https://manual.cs50.io/3/tcflush) - get and set terminal attributes, line control, get and... - [tcgetattr](https://manual.cs50.io/3/tcgetattr) - get and set terminal attributes, line control, get and... - [tcgetsid](https://manual.cs50.io/3/tcgetsid) - get session ID - [tcsendbreak](https://manual.cs50.io/3/tcsendbreak) - get and set terminal attributes, line control, get and... - [tcsetattr](https://manual.cs50.io/3/tcsetattr) - get and set terminal attributes, line control, get and... - [termios](https://manual.cs50.io/3/termios) - get and set terminal attributes, line control, get and... ## [time.h](https://manual.cs50.io/#time.h) - [asctime](https://manual.cs50.io/3/asctime) - transform date and time to broken-down time or ASCII - [asctime\_r](https://manual.cs50.io/3/asctime_r) - transform date and time to broken-down time or ASCII - [clock](https://manual.cs50.io/3/clock) - determine processor time - [clock\_getcpuclockid](https://manual.cs50.io/3/clock_getcpuclockid) - obtain ID of a process CPU-time clock - [clock\_getres](https://manual.cs50.io/2/clock_getres) - clock and time functions - [clock\_gettime](https://manual.cs50.io/2/clock_gettime) - clock and time functions - [clock\_nanosleep](https://manual.cs50.io/2/clock_nanosleep) - high-resolution sleep with specifiable clock - [clock\_settime](https://manual.cs50.io/2/clock_settime) - clock and time functions - [ctime](https://manual.cs50.io/3/ctime) - transform date and time to broken-down time or ASCII - [ctime\_r](https://manual.cs50.io/3/ctime_r) - transform date and time to broken-down time or ASCII - [daylight](https://manual.cs50.io/3/daylight) - initialize time conversion information - [difftime](https://manual.cs50.io/3/difftime) - calculate time difference - [dysize](https://manual.cs50.io/3/dysize) - get number of days for a given year - [getdate](https://manual.cs50.io/3/getdate) - convert a date-plus-time string to broken-down time - [getdate\_err](https://manual.cs50.io/3/getdate_err) - convert a date-plus-time string to broken-down time - [getdate\_r](https://manual.cs50.io/3/getdate_r) - convert a date-plus-time string to broken-down time - [gmtime](https://manual.cs50.io/3/gmtime) - transform date and time to broken-down time or ASCII - [gmtime\_r](https://manual.cs50.io/3/gmtime_r) - transform date and time to broken-down time or ASCII - [localtime](https://manual.cs50.io/3/localtime) - transform date and time to broken-down time or ASCII - [localtime\_r](https://manual.cs50.io/3/localtime_r) - transform date and time to broken-down time or ASCII - [mktime](https://manual.cs50.io/3/mktime) - transform date and time to broken-down time or ASCII - [nanosleep](https://manual.cs50.io/2/nanosleep) - high-resolution sleep - [stime](https://manual.cs50.io/2/stime) - set time - [strftime](https://manual.cs50.io/3/strftime) - format date and time - [strftime\_l](https://manual.cs50.io/3/strftime_l) - format date and time - [strptime](https://manual.cs50.io/3/strptime) - convert a string representation of time to a time tm s... - [time](https://manual.cs50.io/2/time) - get time in seconds get time in seconds - [timegm](https://manual.cs50.io/3/timegm) - inverses of gmtime and localtime - [timelocal](https://manual.cs50.io/3/timelocal) - inverses of gmtime and localtime - [timer\_create](https://manual.cs50.io/2/timer_create) - create a POSIX per-process timer - [timer\_delete](https://manual.cs50.io/2/timer_delete) - delete a POSIX per-process timer - [timer\_getoverrun](https://manual.cs50.io/2/timer_getoverrun) - get overrun count for a POSIX per-process timer - [timer\_gettime](https://manual.cs50.io/2/timer_gettime) - arm/disarm and fetch state of POSIX per-process timer - [timer\_settime](https://manual.cs50.io/2/timer_settime) - arm/disarm and fetch state of POSIX per-process timer - [timezone](https://manual.cs50.io/3/timezone) - initialize time conversion information - [tzname](https://manual.cs50.io/3/tzname) - initialize time conversion information - [tzset](https://manual.cs50.io/3/tzset) - initialize time conversion information ## [ulimit.h](https://manual.cs50.io/#ulimit.h) - [ulimit](https://manual.cs50.io/3/ulimit) - get and set user limits ## [unistd.h](https://manual.cs50.io/#unistd.h) - [\_Exit](https://manual.cs50.io/2/_Exit) - terminate the calling process - [\_exit](https://manual.cs50.io/2/_exit) - terminate the calling process - [\_llseek](https://manual.cs50.io/2/_llseek) - reposition read/write file offset - [\_sysctl](https://manual.cs50.io/2/_sysctl) - read/write system parameters - [access](https://manual.cs50.io/2/access) - check user's permissions for a file - [acct](https://manual.cs50.io/2/acct) - switch process accounting on or off - [alarm](https://manual.cs50.io/2/alarm) - set an alarm clock for delivery of a signal - [arch\_prctl](https://manual.cs50.io/2/arch_prctl) - set architecture-specific thread state - [brk](https://manual.cs50.io/2/brk) - change data segment size - [capget](https://manual.cs50.io/2/capget) - set/get capabilities of thread(s) - [capset](https://manual.cs50.io/2/capset) - set/get capabilities of thread(s) - [chdir](https://manual.cs50.io/2/chdir) - change working directory - [chown](https://manual.cs50.io/2/chown) - change ownership of a file - [chown32](https://manual.cs50.io/2/chown32) - change ownership of a file - [chroot](https://manual.cs50.io/2/chroot) - change root directory - [close](https://manual.cs50.io/2/close) - close a file descriptor - [close\_range](https://manual.cs50.io/2/close_range) - close all file descriptors in a given range - [confstr](https://manual.cs50.io/3/confstr) - get configuration dependent string variables - [copy\_file\_range](https://manual.cs50.io/2/copy_file_range) - Copy a range of data from one file to another - [cuserid](https://manual.cs50.io/3/cuserid) - get username - [daemon](https://manual.cs50.io/3/daemon) - run in the background - [delete\_module](https://manual.cs50.io/2/delete_module) - unload a kernel module - [dup](https://manual.cs50.io/2/dup) - duplicate a file descriptor - [dup2](https://manual.cs50.io/2/dup2) - duplicate a file descriptor - [dup3](https://manual.cs50.io/2/dup3) - duplicate a file descriptor - [eaccess](https://manual.cs50.io/3/eaccess) - check effective user's permissions for a file - [encrypt](https://manual.cs50.io/3/encrypt) - encrypt 64-bit messages - [encrypt\_r](https://manual.cs50.io/3/encrypt_r) - encrypt 64-bit messages - [endusershell](https://manual.cs50.io/3/endusershell) - get permitted user shells - [euidaccess](https://manual.cs50.io/3/euidaccess) - check effective user's permissions for a file - [exec](https://manual.cs50.io/3/exec) - execute a file - [execl](https://manual.cs50.io/3/execl) - execute a file - [execle](https://manual.cs50.io/3/execle) - execute a file - [execlp](https://manual.cs50.io/3/execlp) - execute a file - [execv](https://manual.cs50.io/3/execv) - execute a file - [execve](https://manual.cs50.io/2/execve) - execute program - [execveat](https://manual.cs50.io/2/execveat) - execute program relative to a directory file descriptor - [execvp](https://manual.cs50.io/3/execvp) - execute a file - [execvpe](https://manual.cs50.io/3/execvpe) - execute a file - [exit](https://manual.cs50.io/2/exit) - terminate the calling process - [exit\_group](https://manual.cs50.io/2/exit_group) - exit all threads in a process - [faccessat](https://manual.cs50.io/2/faccessat) - check user's permissions for a file - [faccessat2](https://manual.cs50.io/2/faccessat2) - check user's permissions for a file - [fchdir](https://manual.cs50.io/2/fchdir) - change working directory - [fchown](https://manual.cs50.io/2/fchown) - change ownership of a file - [fchown32](https://manual.cs50.io/2/fchown32) - change ownership of a file - [fchownat](https://manual.cs50.io/2/fchownat) - change ownership of a file - [fdatasync](https://manual.cs50.io/2/fdatasync) - synchronize a file's in-core state with storage device - [fexecve](https://manual.cs50.io/3/fexecve) - execute program specified via file descriptor - [finit\_module](https://manual.cs50.io/2/finit_module) - load a kernel module - [fork](https://manual.cs50.io/2/fork) - create a child process - [fpathconf](https://manual.cs50.io/3/fpathconf) - get configuration values for files - [fsync](https://manual.cs50.io/2/fsync) - synchronize a file's in-core state with storage device - [ftruncate](https://manual.cs50.io/2/ftruncate) - truncate a file to a specified length - [ftruncate64](https://manual.cs50.io/2/ftruncate64) - truncate a file to a specified length - [futex](https://manual.cs50.io/2/futex) - fast user-space locking - [get\_current\_dir\_name](https://manual.cs50.io/3/get_current_dir_name) - get current working directory - [get\_robust\_list](https://manual.cs50.io/2/get_robust_list) - get/set list of robust futexes - [get\_thread\_area](https://manual.cs50.io/2/get_thread_area) - manipulate thread-local storage information - [getcwd](https://manual.cs50.io/2/getcwd) - get current working directory - [getcwd](https://manual.cs50.io/3/getcwd) - get current working directory - [getdents](https://manual.cs50.io/2/getdents) - get directory entries - [getdents64](https://manual.cs50.io/2/getdents64) - get directory entries - [getdomainname](https://manual.cs50.io/2/getdomainname) - get/set NIS domain name - [getdtablesize](https://manual.cs50.io/3/getdtablesize) - get file descriptor table size - [getegid](https://manual.cs50.io/2/getegid) - get group identity - [getegid32](https://manual.cs50.io/2/getegid32) - get group identity - [getentropy](https://manual.cs50.io/3/getentropy) - fill a buffer with random bytes - [geteuid](https://manual.cs50.io/2/geteuid) - get user identity - [geteuid32](https://manual.cs50.io/2/geteuid32) - get user identity - [getgid](https://manual.cs50.io/2/getgid) - get group identity - [getgid32](https://manual.cs50.io/2/getgid32) - get group identity - [getgroups](https://manual.cs50.io/2/getgroups) - get/set list of supplementary group IDs - [getgroups32](https://manual.cs50.io/2/getgroups32) - get/set list of supplementary group IDs - [gethostid](https://manual.cs50.io/3/gethostid) - get or set the unique identifier of the current host - [gethostname](https://manual.cs50.io/2/gethostname) - get/set hostname - [getlogin](https://manual.cs50.io/3/getlogin) - get username - [getlogin\_r](https://manual.cs50.io/3/getlogin_r) - get username - [getopt](https://manual.cs50.io/3/getopt) - Parse command-line options - [getopt\_long](https://manual.cs50.io/3/getopt_long) - Parse command-line options - [getopt\_long\_only](https://manual.cs50.io/3/getopt_long_only) - Parse command-line options - [getpagesize](https://manual.cs50.io/2/getpagesize) - get memory page size - [getpass](https://manual.cs50.io/3/getpass) - get a password - [getpgid](https://manual.cs50.io/2/getpgid) - set/get process group - [getpgrp](https://manual.cs50.io/2/getpgrp) - set/get process group - [getpid](https://manual.cs50.io/2/getpid) - get process identification - [getppid](https://manual.cs50.io/2/getppid) - get process identification - [getresgid](https://manual.cs50.io/2/getresgid) - get real, effective, and saved user/group IDs - [getresgid32](https://manual.cs50.io/2/getresgid32) - get real, effective, and saved user/group IDs - [getresuid](https://manual.cs50.io/2/getresuid) - get real, effective, and saved user/group IDs - [getresuid32](https://manual.cs50.io/2/getresuid32) - get real, effective, and saved user/group IDs - [getsid](https://manual.cs50.io/2/getsid) - get session ID - [gettid](https://manual.cs50.io/2/gettid) - get thread identification - [getuid](https://manual.cs50.io/2/getuid) - get user identity - [getuid32](https://manual.cs50.io/2/getuid32) - get user identity - [getusershell](https://manual.cs50.io/3/getusershell) - get permitted user shells - [getwd](https://manual.cs50.io/3/getwd) - get current working directory - [group\_member](https://manual.cs50.io/3/group_member) - test whether a process is in a group - [idle](https://manual.cs50.io/2/idle) - make process 0 idle - [init\_module](https://manual.cs50.io/2/init_module) - load a kernel module - [io\_cancel](https://manual.cs50.io/2/io_cancel) - cancel an outstanding asynchronous I/O operation - [io\_destroy](https://manual.cs50.io/2/io_destroy) - destroy an asynchronous I/O context - [io\_getevents](https://manual.cs50.io/2/io_getevents) - read asynchronous I/O events from the completion queue - [ioprio\_get](https://manual.cs50.io/2/ioprio_get) - get/set I/O scheduling class and priority - [ioprio\_set](https://manual.cs50.io/2/ioprio_set) - get/set I/O scheduling class and priority - [ipc](https://manual.cs50.io/2/ipc) - System V IPC system calls - [isatty](https://manual.cs50.io/3/isatty) - test whether a file descriptor refers to a terminal - [kcmp](https://manual.cs50.io/2/kcmp) - compare two processes to determine if they share a ker... - [kexec\_file\_load](https://manual.cs50.io/2/kexec_file_load) - load a new kernel for later execution - [kexec\_load](https://manual.cs50.io/2/kexec_load) - load a new kernel for later execution - [keyctl](https://manual.cs50.io/2/keyctl) - manipulate the kernel's key management facility - [klogctl](https://manual.cs50.io/3/klogctl) - read and/or clear kernel message ring buffer; set cons... - [lchown](https://manual.cs50.io/2/lchown) - change ownership of a file - [lchown32](https://manual.cs50.io/2/lchown32) - change ownership of a file - [link](https://manual.cs50.io/2/link) - make a new name for a file - [linkat](https://manual.cs50.io/2/linkat) - make a new name for a file - [llseek](https://manual.cs50.io/2/llseek) - reposition read/write file offset - [lockf](https://manual.cs50.io/3/lockf) - apply, test or remove a POSIX lock on an open file - [lookup\_dcookie](https://manual.cs50.io/2/lookup_dcookie) - return a directory entry's path - [lseek](https://manual.cs50.io/2/lseek) - reposition read/write file offset - [membarrier](https://manual.cs50.io/2/membarrier) - issue memory barriers on a set of threads - [memfd\_secret](https://manual.cs50.io/2/memfd_secret) - create an anonymous RAM-based file to access secret me... - [mmap2](https://manual.cs50.io/2/mmap2) - map files or devices into memory - [modify\_ldt](https://manual.cs50.io/2/modify_ldt) - get or set a per-process LDT entry - [mount\_setattr](https://manual.cs50.io/2/mount_setattr) - change properties of a mount or mount tree - [mq\_getsetattr](https://manual.cs50.io/2/mq_getsetattr) - get/set message queue attributes - [nice](https://manual.cs50.io/2/nice) - change process priority - [openat2](https://manual.cs50.io/2/openat2) - open and possibly create a file (extended) - [optarg](https://manual.cs50.io/3/optarg) - Parse command-line options - [opterr](https://manual.cs50.io/3/opterr) - Parse command-line options - [optind](https://manual.cs50.io/3/optind) - Parse command-line options - [optopt](https://manual.cs50.io/3/optopt) - Parse command-line options - [pathconf](https://manual.cs50.io/3/pathconf) - get configuration values for files - [pause](https://manual.cs50.io/2/pause) - wait for signal - [perf\_event\_open](https://manual.cs50.io/2/perf_event_open) - set up performance monitoring - [pidfd\_getfd](https://manual.cs50.io/2/pidfd_getfd) - obtain a duplicate of another process's file descriptor - [pidfd\_open](https://manual.cs50.io/2/pidfd_open) - obtain a file descriptor that refers to a process - [pidfd\_send\_signal](https://manual.cs50.io/2/pidfd_send_signal) - send a signal to a process specified by a file descri... - [pipe](https://manual.cs50.io/2/pipe) - create pipe - [pipe2](https://manual.cs50.io/2/pipe2) - create pipe - [pivot\_root](https://manual.cs50.io/2/pivot_root) - change the root mount - [pread](https://manual.cs50.io/2/pread) - read from or write to a file descriptor at a given offset - [pread64](https://manual.cs50.io/2/pread64) - read from or write to a file descriptor at a given offset - [profil](https://manual.cs50.io/3/profil) - execution time profile - [pwrite](https://manual.cs50.io/2/pwrite) - read from or write to a file descriptor at a given offset - [pwrite64](https://manual.cs50.io/2/pwrite64) - read from or write to a file descriptor at a given offset - [read](https://manual.cs50.io/2/read) - read from a file descriptor - [readdir](https://manual.cs50.io/2/readdir) - read directory entry - [readlink](https://manual.cs50.io/2/readlink) - read value of a symbolic link - [readlinkat](https://manual.cs50.io/2/readlinkat) - read value of a symbolic link - [reboot](https://manual.cs50.io/2/reboot) - reboot or enable/disable Ctrl-Alt-Del - [rmdir](https://manual.cs50.io/2/rmdir) - delete a directory - [rt\_sigqueueinfo](https://manual.cs50.io/2/rt_sigqueueinfo) - queue a signal and data - [rt\_tgsigqueueinfo](https://manual.cs50.io/2/rt_tgsigqueueinfo) - queue a signal and data - [s390\_guarded\_storage](https://manual.cs50.io/2/s390_guarded_storage) - operations with z/Architecture guarded storage fac... - [s390\_pci\_mmio\_read](https://manual.cs50.io/2/s390_pci_mmio_read) - transfer data to/from PCI MMIO memory page - [s390\_pci\_mmio\_write](https://manual.cs50.io/2/s390_pci_mmio_write) - transfer data to/from PCI MMIO memory page - [s390\_runtime\_instr](https://manual.cs50.io/2/s390_runtime_instr) - enable/disable s390 CPU run-time instrumentation - [s390\_sthyi](https://manual.cs50.io/2/s390_sthyi) - emulate STHYI instruction - [sbrk](https://manual.cs50.io/2/sbrk) - change data segment size - [sched\_getattr](https://manual.cs50.io/2/sched_getattr) - set and get scheduling policy and attributes - [sched\_setattr](https://manual.cs50.io/2/sched_setattr) - set and get scheduling policy and attributes - [seccomp](https://manual.cs50.io/2/seccomp) - operate on Secure Computing state of the process - [set\_robust\_list](https://manual.cs50.io/2/set_robust_list) - get/set list of robust futexes - [set\_thread\_area](https://manual.cs50.io/2/set_thread_area) - manipulate thread-local storage information - [set\_tid\_address](https://manual.cs50.io/2/set_tid_address) - set pointer to thread ID - [setdomainname](https://manual.cs50.io/2/setdomainname) - get/set NIS domain name - [setegid](https://manual.cs50.io/2/setegid) - set effective user or group ID - [seteuid](https://manual.cs50.io/2/seteuid) - set effective user or group ID - [setgid](https://manual.cs50.io/2/setgid) - set group identity - [setgid32](https://manual.cs50.io/2/setgid32) - set group identity - [setgroups](https://manual.cs50.io/2/setgroups) - get/set list of supplementary group IDs - [setgroups32](https://manual.cs50.io/2/setgroups32) - get/set list of supplementary group IDs - [sethostid](https://manual.cs50.io/3/sethostid) - get or set the unique identifier of the current host - [sethostname](https://manual.cs50.io/2/sethostname) - get/set hostname - [setkey](https://manual.cs50.io/3/setkey) - encrypt 64-bit messages - [setkey\_r](https://manual.cs50.io/3/setkey_r) - encrypt 64-bit messages - [setpgid](https://manual.cs50.io/2/setpgid) - set/get process group - [setpgrp](https://manual.cs50.io/2/setpgrp) - set/get process group - [setregid](https://manual.cs50.io/2/setregid) - set real and/or effective user or group ID - [setregid32](https://manual.cs50.io/2/setregid32) - set real and/or effective user or group ID - [setresgid](https://manual.cs50.io/2/setresgid) - set real, effective, and saved user or group ID - [setresgid32](https://manual.cs50.io/2/setresgid32) - set real, effective, and saved user or group ID - [setresuid](https://manual.cs50.io/2/setresuid) - set real, effective, and saved user or group ID - [setresuid32](https://manual.cs50.io/2/setresuid32) - set real, effective, and saved user or group ID - [setreuid](https://manual.cs50.io/2/setreuid) - set real and/or effective user or group ID - [setreuid32](https://manual.cs50.io/2/setreuid32) - set real and/or effective user or group ID - [setsid](https://manual.cs50.io/2/setsid) - creates a session and sets the process group ID - [setuid](https://manual.cs50.io/2/setuid) - set user identity - [setuid32](https://manual.cs50.io/2/setuid32) - set user identity - [setup](https://manual.cs50.io/2/setup) - setup devices and filesystems, mount root filesystem - [setusershell](https://manual.cs50.io/3/setusershell) - get permitted user shells - [sgetmask](https://manual.cs50.io/2/sgetmask) - manipulation of signal mask (obsolete) - [sleep](https://manual.cs50.io/3/sleep) - sleep for a specified number of seconds - [socketcall](https://manual.cs50.io/2/socketcall) - socket system calls - [spu\_create](https://manual.cs50.io/2/spu_create) - create a new spu context - [spu\_run](https://manual.cs50.io/2/spu_run) - execute an SPU context - [ssetmask](https://manual.cs50.io/2/ssetmask) - manipulation of signal mask (obsolete) - [subpage\_prot](https://manual.cs50.io/2/subpage_prot) - define a subpage protection for an address range - [swab](https://manual.cs50.io/3/swab) - swap adjacent bytes - [symlink](https://manual.cs50.io/2/symlink) - make a new name for a file - [symlinkat](https://manual.cs50.io/2/symlinkat) - make a new name for a file - [sync](https://manual.cs50.io/2/sync) - commit filesystem caches to disk - [syncfs](https://manual.cs50.io/2/syncfs) - commit filesystem caches to disk - [syscall](https://manual.cs50.io/2/syscall) - indirect system call - [sysconf](https://manual.cs50.io/3/sysconf) - get configuration information at run time - [sysctl](https://manual.cs50.io/2/sysctl) - read/write system parameters - [syslog](https://manual.cs50.io/2/syslog) - read and/or clear kernel message ring buffer; set cons... - [tcgetpgrp](https://manual.cs50.io/3/tcgetpgrp) - get and set terminal foreground process group - [tcsetpgrp](https://manual.cs50.io/3/tcsetpgrp) - get and set terminal foreground process group - [tgkill](https://manual.cs50.io/2/tgkill) - send a signal to a thread - [tkill](https://manual.cs50.io/2/tkill) - send a signal to a thread - [truncate](https://manual.cs50.io/2/truncate) - truncate a file to a specified length - [truncate64](https://manual.cs50.io/2/truncate64) - truncate a file to a specified length - [ttyname](https://manual.cs50.io/3/ttyname) - return name of a terminal - [ttyname\_r](https://manual.cs50.io/3/ttyname_r) - return name of a terminal - [ualarm](https://manual.cs50.io/3/ualarm) - schedule signal after given number of microseconds - [unlink](https://manual.cs50.io/2/unlink) - delete a name and possibly the file it refers to - [unlinkat](https://manual.cs50.io/2/unlinkat) - delete a name and possibly the file it refers to - [uselib](https://manual.cs50.io/2/uselib) - load shared library - [userfaultfd](https://manual.cs50.io/2/userfaultfd) - create a file descriptor for handling page faults in u... - [usleep](https://manual.cs50.io/3/usleep) - suspend execution for microsecond intervals - [vfork](https://manual.cs50.io/2/vfork) - create a child process and block parent - [vhangup](https://manual.cs50.io/2/vhangup) - virtually hangup the current terminal - [write](https://manual.cs50.io/2/write) - write to a file descriptor ## [utime.h](https://manual.cs50.io/#utime.h) - [utime](https://manual.cs50.io/2/utime) - change file last access and modification times - [utimes](https://manual.cs50.io/2/utimes) - change file last access and modification times ## [utmpx.h](https://manual.cs50.io/#utmpx.h) - [getutmp](https://manual.cs50.io/3/getutmp) - copy utmp structure to utmpx, and vice versa - [getutmpx](https://manual.cs50.io/3/getutmpx) - copy utmp structure to utmpx, and vice versa ## [wchar.h](https://manual.cs50.io/#wchar.h) - [btowc](https://manual.cs50.io/3/btowc) - convert single byte to wide character - [fgetws](https://manual.cs50.io/3/fgetws) - read a wide-character string from a FILE stream - [fputws](https://manual.cs50.io/3/fputws) - write a wide-character string to a FILE stream - [fwide](https://manual.cs50.io/3/fwide) - set and determine the orientation of a FILE stream - [getwchar](https://manual.cs50.io/3/getwchar) - read a wide character from standard input - [mbrlen](https://manual.cs50.io/3/mbrlen) - determine number of bytes in next multibyte character - [mbrtowc](https://manual.cs50.io/3/mbrtowc) - convert a multibyte sequence to a wide character - [mbsinit](https://manual.cs50.io/3/mbsinit) - test for initial shift state - [mbsnrtowcs](https://manual.cs50.io/3/mbsnrtowcs) - convert a multibyte string to a wide-character string - [mbsrtowcs](https://manual.cs50.io/3/mbsrtowcs) - convert a multibyte string to a wide-character string ... - [putwchar](https://manual.cs50.io/3/putwchar) - write a wide character to standard output - [ungetwc](https://manual.cs50.io/3/ungetwc) - push back a wide character onto a FILE stream - [wcpcpy](https://manual.cs50.io/3/wcpcpy) - copy a wide-character string, returning a pointer to i... - [wcpncpy](https://manual.cs50.io/3/wcpncpy) - copy a fixed-size string of wide characters, returning... - [wcrtomb](https://manual.cs50.io/3/wcrtomb) - convert a wide character to a multibyte sequence - [wcscasecmp](https://manual.cs50.io/3/wcscasecmp) - compare two wide-character strings, ignoring case - [wcscat](https://manual.cs50.io/3/wcscat) - concatenate two wide-character strings - [wcschr](https://manual.cs50.io/3/wcschr) - search a wide character in a wide-character string - [wcscmp](https://manual.cs50.io/3/wcscmp) - compare two wide-character strings - [wcscpy](https://manual.cs50.io/3/wcscpy) - copy a wide-character string - [wcscspn](https://manual.cs50.io/3/wcscspn) - search a wide-character string for any of a set of wid... - [wcsdup](https://manual.cs50.io/3/wcsdup) - duplicate a wide-character string - [wcslen](https://manual.cs50.io/3/wcslen) - determine the length of a wide-character string - [wcsncasecmp](https://manual.cs50.io/3/wcsncasecmp) - compare two fixed-size wide-character strings, ignorin... - [wcsncat](https://manual.cs50.io/3/wcsncat) - concatenate two wide-character strings - [wcsncmp](https://manual.cs50.io/3/wcsncmp) - compare two fixed-size wide-character strings - [wcsncpy](https://manual.cs50.io/3/wcsncpy) - copy a fixed-size string of wide characters - [wcsnlen](https://manual.cs50.io/3/wcsnlen) - determine the length of a fixed-size wide-character st... - [wcsnrtombs](https://manual.cs50.io/3/wcsnrtombs) - convert a wide-character string to a multibyte string - [wcspbrk](https://manual.cs50.io/3/wcspbrk) - search a wide-character string for any of a set of wid... - [wcsrchr](https://manual.cs50.io/3/wcsrchr) - search a wide character in a wide-character string - [wcsrtombs](https://manual.cs50.io/3/wcsrtombs) - convert a wide-character string to a multibyte string - [wcsspn](https://manual.cs50.io/3/wcsspn) - get length of a prefix wide-character substring - [wcsstr](https://manual.cs50.io/3/wcsstr) - locate a substring in a wide-character string - [wcstok](https://manual.cs50.io/3/wcstok) - split wide-character string into tokens - [wcswidth](https://manual.cs50.io/3/wcswidth) - determine columns needed for a fixed-size wide-charact... - [wctob](https://manual.cs50.io/3/wctob) - try to represent a wide character as a single byte - [wcwidth](https://manual.cs50.io/3/wcwidth) - determine columns needed for a wide character - [wmemchr](https://manual.cs50.io/3/wmemchr) - search a wide character in a wide-character array - [wmemcmp](https://manual.cs50.io/3/wmemcmp) - compare two arrays of wide-characters - [wmemcpy](https://manual.cs50.io/3/wmemcpy) - copy an array of wide-characters - [wmemmove](https://manual.cs50.io/3/wmemmove) - copy an array of wide-characters - [wmemset](https://manual.cs50.io/3/wmemset) - fill an array of wide-characters with a constant wide ... ## [wctype.h](https://manual.cs50.io/#wctype.h) - [iswalnum](https://manual.cs50.io/3/iswalnum) - test for alphanumeric wide character - [iswalpha](https://manual.cs50.io/3/iswalpha) - test for alphabetic wide character - [iswblank](https://manual.cs50.io/3/iswblank) - test for whitespace wide character - [iswcntrl](https://manual.cs50.io/3/iswcntrl) - test for control wide character - [iswctype](https://manual.cs50.io/3/iswctype) - wide-character classification - [iswdigit](https://manual.cs50.io/3/iswdigit) - test for decimal digit wide character - [iswgraph](https://manual.cs50.io/3/iswgraph) - test for graphic wide character - [iswlower](https://manual.cs50.io/3/iswlower) - test for lowercase wide character - [iswprint](https://manual.cs50.io/3/iswprint) - test for printing wide character - [iswpunct](https://manual.cs50.io/3/iswpunct) - test for punctuation or symbolic wide character - [iswspace](https://manual.cs50.io/3/iswspace) - test for whitespace wide character - [iswupper](https://manual.cs50.io/3/iswupper) - test for uppercase wide character - [iswxdigit](https://manual.cs50.io/3/iswxdigit) - test for hexadecimal digit wide character - [towctrans](https://manual.cs50.io/3/towctrans) - wide-character transliteration - [towlower](https://manual.cs50.io/3/towlower) - convert a wide character to lowercase - [towlower\_l](https://manual.cs50.io/3/towlower_l) - convert a wide character to lowercase - [towupper](https://manual.cs50.io/3/towupper) - convert a wide character to uppercase - [towupper\_l](https://manual.cs50.io/3/towupper_l) - convert a wide character to uppercase - [wctrans](https://manual.cs50.io/3/wctrans) - wide-character translation mapping - [wctype](https://manual.cs50.io/3/wctype) - wide-character classification ## [wordexp.h](https://manual.cs50.io/#wordexp.h) - [wordexp](https://manual.cs50.io/3/wordexp) - perform word expansion like a posix-shell - [wordfree](https://manual.cs50.io/3/wordfree) - perform word expansion like a posix-shell
Shard199 (laksa)
Root Hash7072350844791920999
Unparsed URLio,cs50!manual,/ s443