Skip to content

Instantly share code, notes, and snippets.

@ibtaylor
Created April 7, 2012 04:29
Show Gist options
  • Save ibtaylor/2325037 to your computer and use it in GitHub Desktop.
Save ibtaylor/2325037 to your computer and use it in GitHub Desktop.
silly header with comments documenting c89 P90 P2001 c standard types and functions for reference
#ifndef __C89P90P2001_H__
#define __C89P90P2001_H__
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TODO:
add C11 additions
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* C99
* #pragma FENV_ACCESS
* #pragma FP_CONTRACT
* #pragma CX_LIMITED_RANGE
*/
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* P2001
* aio_read - asynchronous read from a file (REALTIME)
* aio_error - retrieve errors status for an asynchronous I/O operation (REALTIME)
* aio_fsync - asynchronous file synchronization (REALTIME)
* aio_write - asynchronous write to a file (REALTIME)
* aio_cancel - cancel an asynchronous I/O request (REALTIME)
* aio_return - retrieve return status of an asynchronous I/O operation (REALTIME)
* lio_listio - list directed I/O (REALTIME)
* aio_suspend - wait for an asynchronous I/O request (REALTIME)
*/
#ifdef HAVE_AIO_H
# include <aio.h>
#endif
/* P2001
* htonl - convert values between host and network byte order
* htons - convert values between host and network byte order
* ntohl - convert values between host and network byte order
* ntohs - convert values between host and network byte order
* inet_addr - IPv4 address manipulation
* inet_ntoa - IPv4 address manipulation
* inet_ntop - convert IPv4 and IPv6 addresses between binary and text form
*/
#ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
#endif
/* C89
* assert - abort the program if assertion is false
* NDEBUG
*/
#ifdef HAVE_ASSERT_H
# include <assert.h>
#endif
/* C89
* isalnum - test for an alphanumeric character
* isalpha - test for an alphabetic character
* iscntrl - test for a control character
* isdigit - test for a decimal digit
* isgraph - test for a visible character
* islower - test for a lowercase letter
* isprint - test for a printable character
* ispunct - test for a punctuation character
* isspace - test for a white-space character
* isupper - test for an uppercase letter
* isxdigit - test for a hexadecimal digit
* C99
* isblank - test for a blank character
* P2001
* isascii - test for a 7-bit US-ASCII character
* toascii - translate an integer to a 7-bit ASCII character
* _tolower - transliterate uppercase characters to lowercase
* _toupper - transliterate lowercase characters to uppercase
*/
#ifdef HAVE_CTYPE_H
# include <ctype.h>
#endif
/* P2001
* I
* cabs - return a complex absolute value
* carg - complex argument functions
* ccos - complex cosine functions
* cexp - complex exponential functions
* clog - complex natural logarithm functions
* conj - complex conjugate functions
* cpow - complex power functions
* csin - complex sine functions
* ctan - complex tangent functions
* cabsf - return a complex absolute value
* cabsl - return a complex absolute value
* cacos - complex arc cosine functions
* cargf - complex argument functions
* cargl - complex argument functions
* casin - complex arc sine functions
* catan - complex arc tangent functions
* ccosf - complex cosine functions
* ccosh - complex hyperbolic cosine functions
* ccosl - complex cosine functions
* cexpf - complex exponential functions
* cexpl - complex exponential functions
* cimag - complex imaginary functions
* clogf - complex natural logarithm functions
* clogl - complex natural logarithm functions
* conjf - complex conjugate functions
* conjl - complex conjugate functions
* cpowf - complex power functions
* cpowl - complex power functions
* cproj - complex projection functions
* creal - complex real functions
* csinf - complex sine functions
* csinh - complex hyperbolic sine functions
* csinl - complex sine functions
* csqrt - complex square root functions
* ctanf - complex tangent functions
* ctanh - complex hyperbolic tangent functions
* ctanl - complex tangent functions
* cacosf - complex arc cosine functions
* cacosh - complex arc hyperbolic cosine functions
* cacosl - complex arc cosine functions
* casinf - complex arc sine functions
* casinh - complex arc hyperbolic sine functions
* casinl - complex arc sine functions
* catanf - complex arc tangent functions
* catanh - complex arc hyperbolic tangent functions
* catanl - complex arc tangent functions
* ccoshf - complex hyperbolic cosine functions
* ccoshl - complex hyperbolic cosine functions
* cimagf - complex imaginary functions
* cimagl - complex imaginary functions
* cprojf - complex projection functions
* cprojl - complex projection functions
* crealf - complex real functions
* creall - complex real functions
* csinhf - complex hyperbolic sine functions
* csinhl - complex hyperbolic sine functions
* csqrtf - complex square root functions
* csqrtl - complex square root functions
* ctanhf - complex hyperbolic tangent functions
* ctanhl - complex hyperbolic tangent functions
* cacoshf - complex arc hyperbolic cosine functions
* cacoshl - complex arc hyperbolic cosine functions
* casinhf - complex arc hyperbolic sine functions
* casinhl - complex arc hyperbolic sine functions
* catanhf - complex arc hyperbolic tangent functions
* catanhl - complex arc hyperbolic tangent functions
* complex
* imaginary
* _Complex_I
* _Imaginary_I
*/
#ifdef HAVE_COMPLEX_H
# include <complex.h>
#endif
/* P90
* DIR
* dirent
* readdir - read a directory
* opendir - open a directory
* closedir - close a directory stream
* rewinddir - reset the position of a directory stream to the beginning of a directory
* P2001
* seekdir - set the position of a directory stream
* telldir - current location of a named directory stream
*/
#ifdef HAVE_DIRENT_H
# include <dirent.h>
#endif
/* P2001
* dlsym - obtain the address of a symbol from a dlopen object
* dlopen - gain access to an executable object file
* dlclose - close a dlopen object
* dlerror - get diagnostic information
*/
#ifdef HAVE_DLFCN_H
# include <dlfcn.h>
#endif
/* C89
* EDOM
* errno - error return value
* EILSEQ
* ERANGE
* P90
* EIO
* E2BIG
* EBADF
* EBUSY
* EFBIG
* EINTR
* ENXIO
* EPERM
* EPIPE
* EROFS
* ESRCH
* EXDEV
* EACCES
* EAGAIN
* ECHILD
* EEXIST
* EFAULT
* EINVAL
* EISDIR
* EMFILE
* EMLINK
* ENFILE
* ENODEV
* ENOENT
* ENOLCK
* ENOMEM
* ENOSPC
* ENOSYS
* ENOTTY
* ESPIPE
* EDEADLK
* ENOEXEC
* ENOTDIR
* ENOTEMPTY
* ENAMETOOLONG
*/
#ifdef HAVE_ERRNO_H
# include <errno.h>
#endif
/* P90
* open
* creat - create a new file or rewrite an existing one
* fcntl - file control
* flock
* O_EXCL
* O_RDWR
* S_IUSR
* S_IWXG
* S_IWXO
* S_IWXU
* F_DUPFD
* F_GETFD
* F_GETFL
* F_GETLK
* F_RDLCK
* F_SETFD
* F_SETFL
* F_SETLK
* F_UNLCK
* F_WRLCK
* O_CREAT
* O_TRUNC
* S_IRGRP
* S_IROTH
* S_ISGID
* S_ISUID
* S_IWGRP
* S_IWOTH
* S_IWUSR
* S_IXGRP
* S_IXOTH
* S_IXUSR
* F_SETLKW
* O_APPEND
* O_NOCTTY
* O_RDONLY
* O_WRONLY
* SEEK_CUR
* SEEK_END
* SEEK_SET
* O_ACCMODE
* FD_CLOEXEC
* O_NONBLOCK
* P2001
* posix_openpt - open a pseudo-terminal device
* posix_fadvise - file advisory information (ADVANCED REALTIME)
* posix_fallocate - file space control (ADVANCED REALTIME)
*/
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
#endif
/* C89
* DBL_DIG
* DBL_MAX
* DBL_MIN
* FLT_DIG
* FLT_MAX
* FLT_MIN
* LDBL_DIG
* LDBL_MAX
* LDBL_MIN
* FLT_RADIX
* FLT_ROUNDS
* DBL_EPSILON
* DBL_MAX_EXP
* DBL_MIN_EXP
* FLT_EPSILON
* FLT_MAX_EXP
* FLT_MIN_EXP
* DBL_MANT_DIG
* FLT_MANT_DIG
* LDBL_EPSILON
* LDBL_MAX_EXP
* LDBL_MIN_EXP
* LDBL_MANT_DIG
* DBL_MAX_10_EXP
* DBL_MIN_10_EXP
* FLT_MAX_10_EXP
* FLT_MIN_10_EXP
* LDBL_MAX_10_EXP
* LDBL_MIN_10_EXP
* C99
* DECIMAL_DIG
* FLT_EVAL_METHOD
*/
#ifdef HAVE_FLOAT_H
# include <float.h>
#endif
/* P2001
* fmtmsg - display a message in the specified format on standard error and/or a system console
*/
#ifdef HAVE_FMTMSG_H
# include <fmtmsg.h>
#endif
/* P2001
* fnmatch - match a filename or a pathname
*/
#ifdef HAVE_FNMATCH_H
# include <fnmatch.h>
#endif
/* P2001
* ftw - traverse (walk) a file tree
* nftw - walk a file tree
*/
#ifdef HAVE_FTW_H
# include <ftw.h>
#endif
/* C99
* fenv_t
* fegetenv - get and set current floating-point environment
* fesetenv - get and set current floating-point environment
* FE_UPWARD
* fexcept_t
* FE_DFL_ENV
* fegetround - get and set current rounding direction
* FE_INEXACT
* FE_INVALID
* fesetround - get and set current rounding direction
* FE_DOWNWARD
* FE_OVERFLOW
* feupdateenv - update floating-point environment
* feclearexept
* FE_DIVBYZERO
* feholdexcept - save current floating-point environment
* fetestexcept - test floating-point exception flags
* FE_TONEAREST
* FE_UNDERFLOW
* FE_ALL_EXCEPT
* feraiseexcept - raise floating-point exception
* FE_TOWARDZERO
* fegetexceptflag - get and set floating-point status flags
* fesetexceptflag - get and set floating-point status flags
*/
#ifdef HAVE_FENV_H
# include <fenv.h>
#endif
/* P2001
* glob - generate pathnames matching a pattern
* globfree - generate pathnames matching a pattern
*/
#ifdef HAVE_GLOB_H
# include <glob.h>
#endif
/* P90
* group
* getgrgid - get group database entry for a group ID
* getgrnam - search group database for a name
* P2001
* endgrent - group database entry functions
* getgrent - group database entry functions
* setgrent - group database entry functions
*/
#ifdef HAVE_GRP_H
# include <grp.h>
#endif
/* P2001
* iconv - codeset conversion function
* iconv_close - codeset conversion deallocation function
* iconv_open - codeset conversion allocation function
*/
#ifdef HAVE_ICONV_H
# include <iconv.h>
#endif
/* C99
* PRId*
* PRIi*
* PRIo*
* PRIu*
* PRIx*
* PRIX*
* SCNd*
* SCNi*
* SCNo*
* SCNu*
* SCNx*
* imaxabs - return absolute value
* imaxdiv - return quotient and remainder
* PRIdMAX
* PRIdPTR
* PRIiMAX
* PRIiPTR
* PRIoMAX
* PRIoPTR
* PRIuMAX
* PRIuPTR
* PRIxMAX
* PRIXMAX
* PRIxPTR
* PRIXPTR
* SCNdMAX
* SCNdPTR
* SCNiMAX
* SCNiPTR
* SCNoMAX
* SCNoPTR
* SCNuMAX
* SCNuPTR
* SCNxMAX
* SCNxPTR
* imaxdiv_t
* PRIdFAST*
* PRIiFAST*
* PRIoFAST*
* PRIuFAST*
* PRIxFAST*
* PRIXFAST*
* SCNdFAST*
* SCNiFAST*
* SCNoFAST*
* SCNuFAST*
* SCNxFAST*
* strtoimax - convert string to integer type
* strtoumax - convert string to integer type
* wcstoimax - convert a wide-character string to an integer type
* wcstoumax - convert a wide-character string to an integer type
* PRIdLEAST*
* PRIiLEAST*
* PRIoLEAST*
* PRIuLEAST*
* PRIxLEAST*
* PRIXLEAST*
* SCNdLEAST*
* SCNiLEAST*
* SCNoLEAST*
* SCNuLEAST*
* SCNxLEAST*
*/
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
/* C89
* or
* and
* not
* xor
* bitor
* compl
* or_eq
* and_eq
* bitand
* not_eq
* xor_eq
*/
#ifdef HAVE_ISO646_H
# include <iso646.h>
#endif
/* P2001
* nl_langinfo - language information
*/
#ifdef HAVE_LANGINFO_H
# include <langinfo.h>
#endif
/* P2001
* basename - return the last component of a pathname
*/
#ifdef HAVE_LIBGEN_H
# include <libgen.h>
/* C89
* INT_MAX
* INT_MIN
* CHAR_BIT
* CHAR_MAX
* CHAR_MIN
* LONG_MAX
* LONG_MIN
* SHRT_MAX
* SHRT_MIN
* UINT_MAX
* SCHAR_MAX
* SCHAR_MIN
* UCHAR_MAX
* ULONG_MAX
* USHRT_MAX
* MB_LEN_MAX
* P90
* ARG_MAX
* LINK_MAX
* NAME_MAX
* OPEN_MAX
* PIPE_BUF
* CHILD_MAX
* MAX_CANON
* MAX_INPUT
* SSIZE_MAX
* STREAM_MAX
* TZNAME_MAX
* NGROUPS_MAX
* _POSIX_SSIZE
* _POSIX_ARG_MAX
* _POSIX_LINK_MAX
* _POSIX_NAME_MAX
* _POSIX_OPEN_MAX
* _POSIX_PATH_MAX
* _POSIX_PIPE_BUF
* _POSIX_CHILD_MAX
* _POSIX_MAX_CANON
* _POSIX_MAX_INPUT
* _POSIX_STREAM_MAX
* _POSIX_TZNAME_MAX
* _POSIX_NGROUPS_MAX
* C99
* LLONG_MAX
* LLONG_MIN
* ULLONG_MAX
*/
#ifdef HAVE_LIMITS_H
# include <limits.h>
#endif
#endif
/* C89
* NULL
* lconv
* LC_ALL
* LC_TIME
* LC_CTYPE
* setlocale - set program locale
* LC_COLLATE
* LC_NUMERIC
* localeconv - return locale-specific information
* LC_MONETARY
*/
#ifdef LOCALE_H
# include <locale.h>
#endif
/* C89
* cos - cosine function
* exp - exponential function
* log - natural logarithm function
* pow - power function
* sin - sine function
* tan - tangent function
* acos - arc cosine functions
* asin - arc sine function
* atan - arc tangent function
* ceil - ceiling value function
* cosf - cosine function
* cosh - hyperbolic cosine functions
* cosl - cosine function
* expf - exponential function
* expl - exponential function
* fabs - absolute value function
* fmod - floating-point remainder value function
* logf - natural logarithm function
* logl - natural logarithm function
* modf - decompose a floating-point number
* powf - power function
* powl - power function
* sinf - sine function
* sinh - hyperbolic sine functions
* sinl - sine function
* sqrt - square root function
* tanf - tangent function
* tanh - hyperbolic tangent functions
* tanl - tangent function
* acosf - arc cosine functions
* acosl - arc cosine functions
* asinf - arc sine function
* asinl - arc sine function
* atan2 - arc tangent functions
* atanf - arc tangent function
* atanl - arc tangent function
* ceilf - ceiling value function
* ceill - ceiling value function
* coshf - hyperbolic cosine functions
* coshl - hyperbolic cosine functions
* fabsf - absolute value function
* fabsl - absolute value function
* floor - floor function
* fmodf - floating-point remainder value function
* fmodl - floating-point remainder value function
* frexp - extract mantissa and exponent from a double precision number
* ldexp - load exponent of a floating-point number
* log10 - base 10 logarithm function
* modff - decompose a floating-point number
* modfl - decompose a floating-point number
* sinhf - hyperbolic sine functions
* sinhl - hyperbolic sine functions
* sqrtf - square root function
* sqrtl - square root function
* tanhf - hyperbolic tangent functions
* tanhl - hyperbolic tangent functions
* atan2f - arc tangent functions
* atan2l - arc tangent functions
* floorf - floor function
* floorl - floor function
* frexpf - extract mantissa and exponent from a double precision number
* frexpl - extract mantissa and exponent from a double precision number
* ldexpf - load exponent of a floating-point number
* ldexpl - load exponent of a floating-point number
* log10f - base 10 logarithm function
* log10l - base 10 logarithm function
* HUGE_VAL
* HUGE_VALF
* HUGE_VALL
* C99
* erf - error functions
* fma - floating-point multiply-add
* nan - return quiet NaN
* NAN - return quiet NaN
* cbrt - cube root functions
* erfc - complementary error functions
* erff - error functions
* erfl - error functions
* exp2 - exponential base 2 functions
* fdim - compute positive difference between two floating-point numbers
* fmaf - floating-point multiply-add
* fmal - floating-point multiply-add
* fmax - determine maximum numeric value of two floating-point numbers
* fmin - determine minimum numeric value of two floating-point numbers
* log2 - compute base 2 logarithm functions
* logb - radix-independent exponent
* nanf - return quiet NaN
* nanl - return quiet NaN
* rint - round-to-nearest integral value
* acosh - inverse hyperbolic cosine functions
* asinh - inverse hyperbolic sine functions
* atanh - inverse hyperbolic tangent functions
* cbrtf - cube root functions
* cbrtl - cube root functions
* erfcf - complementary error functions
* erfcl - complementary error functions
* exp2f - exponential base 2 functions
* exp2l - exponential base 2 functions
* expm1 - compute exponential functions
* fdimf - compute positive difference between two floating-point numbers
* fdiml - compute positive difference between two floating-point numbers
* fmaxf - determine maximum numeric value of two floating-point numbers
* fmaxl - determine maximum numeric value of two floating-point numbers
* fminf - determine minimum numeric value of two floating-point numbers
* fminl - determine minimum numeric value of two floating-point numbers
* hypot - Euclidean distance function
* ilogb - return an unbiased exponent
* isinf - test for infinity
* isnan - test for a NaN
* log1p - compute a natural logarithm
* log2f - compute base 2 logarithm functions
* log2l - compute base 2 logarithm functions
* logbf - radix-independent exponent
* logbl - radix-independent exponent
* lrint - round to nearest integer value using current rounding direction
* rintf - round-to-nearest integral value
* rintl - round-to-nearest integral value
* round - round to the nearest integer value in a floating-point format
* trunc - round to truncated integer value
* acoshf - inverse hyperbolic cosine functions
* acoshl - inverse hyperbolic cosine functions
* asinhf - inverse hyperbolic sine functions
* asinhl - inverse hyperbolic sine functions
* atanhf - inverse hyperbolic tangent functions
* atanhl - inverse hyperbolic tangent functions
* expm1f - compute exponential functions
* expm1l - compute exponential functions
* FP_NAN
* hypotf - Euclidean distance function
* hypotl - Euclidean distance function
* ilogbf - return an unbiased exponent
* ilogbl - return an unbiased exponent
* isless - test if x is less than y
* lgamma - log gamma function
* llrint - round to the nearest integer value using current rounding direction
* log1pf - compute a natural logarithm
* log1pl - compute a natural logarithm
* lrintf - round to nearest integer value using current rounding direction
* lrintl - round to nearest integer value using current rounding direction
* lround - round to nearest integer value
* remquo - remainder functions
* roundf - round to the nearest integer value in a floating-point format
* roundl - round to the nearest integer value in a floating-point format
* scalbn - compute exponent using FLT_RADIX
* tgamma - compute gamma() function
* truncf - round to truncated integer value
* truncl - round to truncated integer value
* float_t
* FP_ZERO
* lgammaf - log gamma function
* lgammal - log gamma function
* llrintf - round to the nearest integer value using current rounding direction
* llrintl - round to the nearest integer value using current rounding direction
* llround - round to nearest integer value
* lroundf - round to nearest integer value
* lroundl - round to nearest integer value
* remquof - remainder functions
* remquol - remainder functions
* scalbln - compute exponent using FLT_RADIX
* scalbnf - compute exponent using FLT_RADIX
* scalbnl - compute exponent using FLT_RADIX
* tgammaf - compute gamma() function
* tgammal - compute gamma() function
* copysign - number manipulation function
* double_t
* INFINITY
* isfinite - test for finite value
* isnormal - test for a normal value
* llroundf - round to nearest integer value
* llroundl - round to nearest integer value
* scalblnf - compute exponent using FLT_RADIX
* scalblnl - compute exponent using FLT_RADIX
* copysignf - number manipulation function
* copysignl - number manipulation function
* FP_ILOGB0
* FP_NORMAL
* isgreater - test if x greater than y
* nearbyint - floating-point rounding functions
* nextafter - next representable floating-point number
* remainder - remainder function
* fpclassify - classify real floating type
* MATH_ERRNO
* nearbyintf - floating-point rounding functions
* nearbyintl - floating-point rounding functions
* nextafterf - next representable floating-point number
* nextafterl - next representable floating-point number
* nexttoward - next representable floating-point number
* remainderf - remainder function
* remainderl - remainder function
* FP_FAST_FMA
* FP_ILOGBNAN
* FP_INFINITE
* islessequal - test if x is less than or equal to y
* isunordered - test if arguments are unordered
* nexttowardf - next representable floating-point number
* nexttowardl - next representable floating-point number
* FP_FAST_FMAF
* FP_FAST_FMAL
* FP_SUBNORMAL
* islessgreater - test if x is less than or greater than y
* isgreaterequal - test if x is greater than or equal to y
* MATH_ERREXCEPT
* math_errhandling
* P2001
* j0 - Bessel functions of the first kind
* j1 - Bessel functions of the first kind
* jn - Bessel functions of the first kind
* y0 - Bessel functions of the second kind
* y1 - Bessel functions of the second kind
* yn - Bessel functions of the second kind
* scalb - load exponent of a radix-independent floating-point number
* signgam extern int; - sign of gamma function
*/
#ifdef HAVE_MATH_H
# include <math.h>
#endif
/* P2001
* strfmon - convert monetary value to a string
*/
#ifdef HAVE_MONETARY_H
# include <monetary.h>
#endif
/* P2001
* mq_open - open a message queue (REALTIME)
* mq_send - send a message to a message queue (REALTIME)
* mq_close - close a message queue (REALTIME)
* mq_notify - notify process that a message is available (REALTIME)
* mq_unlink - remove a message queue (REALTIME)
* mq_getattr - get message queue attributes (REALTIME)
* mq_receive - receive a message from a message queue (REALTIME)
* mq_setattr - set message queue attributes (REALTIME)
* mq_timedsend - send a message to a message queue (REALTIME)
* mq_timedreceive - receive a message from a message queue (REALTIME)
*/
#ifdef HAVE_MQUEUE_H
# include <mqueue.h>
#endif
/* P2001
* dbm_open - database functions
* dbm_close - database functions
* dbm_error - database functions
* dbm_fetch - database functions
* dbm_store - database functions
* dbm_delete - database functions
* dbm_nextkey - database functions
* dbm_clearerr - database functions
* dbm_firstkey - database functions
*/
#ifdef HAVE_NDBM_H
# include <ndbm.h>
#endif
/* P2001
* h_errno - error return value for network database operations
* endpwent - user database functions
* endnetent - network database functions
* setnetent - network database functions
* endhostent - network host database functions
* endservent - network services database functions
* gethostent - network host database functions
* getservent - network services database functions
* sethostent - network host database functions
* setservent - network services database functions
* endprotoent - network protocol database functions
* getaddrinfo - get address information
* getprotoent - network protocol database functions
* setprotoent - network protocol database functions
* freeaddrinfo - get address information
* gai_strerror - address and name information error description
* gethostbyaddr - network host database functions
* gethostbyname - network host database functions
* getservbyname - network services database functions
* getservbyport - network services database functions
* getprotobyname - network protocol database functions
* getprotobynumber - network protocol database functions
*/
#ifdef HAVE_NETDB_H
# include <netdb.h>
#endif
/* P2001
* if_nameindex - return all network interface names and indexes
* if_indextoname - map a network interface index to its corresponding name
* if_nametoindex - map a network interface name to its corresponding index
* if_freenameindex - free memory allocated by if_nameindex
*/
#ifdef HAVE_NET_IF_H
# include <net/if.h>
#endif
/* P2001
* catgets - read a program message
* catopen - open a message catalog
* catclose - close a message catalog descriptor
*/
#ifdef HAVE_NL_TYPES_H
# include <nl_types.h>
#endif
/* P2001
* poll - input/output multiplexing
*/
#ifdef HAVE_POLL_H
# include <poll.h>
#endif
/* P2001
* pthread_exit - thread termination
* pthread_join - wait for thread termination
* pthread_kill - send a signal to a thread
* pthread_once - dynamic package initialization
* pthread_self - get the calling thread ID
* pthread_equal - compare thread IDs
* pthread_atfork - register fork handlers
* pthread_cancel - cancel execution of a thread
* pthread_create - thread creation
* pthread_detach - detach a thread
* pthread_sigmask - examine and change blocked signals
* pthread_attr_init - destroy and initialize the thread attributes object
* pthread_cond_init - destroy and initialize condition variables
* pthread_cond_wait - wait on a condition
* pthread_spin_init - destroy or initialize a spin lock object (ADVANCED REALTIME THREADS)
* pthread_spin_lock - lock a spin lock object (ADVANCED REALTIME THREADS)
* pthread_key_create - thread-specific data key creation
* pthread_mutex_init - destroy and initialize a mutex
* pthread_mutex_lock - lock and unlock a mutex
* pthread_testcancel - set cancelability state
* pthread_cleanup_pop - establish cancellation handlers
* pthread_cond_signal - broadcast or signal a condition
* pthread_getspecific - thread-specific data management
* pthread_rwlock_init - destroy and initialize a read-write lock object
* pthread_setspecific - thread-specific data management
* pthread_spin_unlock - unlock a spin lock object (ADVANCED REALTIME THREADS)
* pthread_attr_destroy - destroy and initialize the thread attributes object
* pthread_barrier_init - destroy and initialize a barrier object (ADVANCED REALTIME THREADS)
* pthread_barrier_wait - synchronize at a barrier (ADVANCED REALTIME THREADS)
* pthread_cond_destroy - destroy and initialize condition variables
* pthread_setschedprio - dynamic thread scheduling parameters access (REALTIME THREADS)
* pthread_spin_destroy - destroy or initialize a spin lock object (ADVANCED REALTIME THREADS)
* pthread_spin_trylock - lock a spin lock object (ADVANCED REALTIME THREADS)
* pthread_attr_getscope - get and set the contentionscope attribute (REALTIME THREADS)
* pthread_attr_getstack - get and set stack attributes
* pthread_attr_setscope - get and set the contentionscope attribute (REALTIME THREADS)
* pthread_attr_setstack - get and set stack attributes
* pthread_condattr_init - destroy and initialize the condition variable attributes object
* pthread_getcpuclockid - access a thread CPU-time clock (ADVANCED REALTIME THREADS)
* pthread_getschedparam - dynamic thread scheduling parameters access (REALTIME THREADS)
* pthread_mutex_destroy - destroy and initialize a mutex
* pthread_mutex_trylock - lock and unlock a mutex
* pthread_rwlock_rdlock - lock a read-write lock object for reading
* pthread_rwlock_unlock - unlock a read-write lock object
* pthread_rwlock_wrlock - lock a read-write lock object for writing
* pthread_setschedparam - dynamic thread scheduling parameters access (REALTIME THREADS)
* pthread_cond_broadcast - broadcast or signal a condition
* pthread_cond_timedwait - wait on a condition
* pthread_getconcurrency - get and set the level of concurrency
* pthread_mutexattr_init - destroy and initialize the mutex attributes object
* pthread_rwlock_destroy - destroy and initialize a read-write lock object
* pthread_setcancelstate - set cancelability state
* pthread_setconcurrency - get and set the level of concurrency
* pthread_barrier_destroy - destroy and initialize a barrier object (ADVANCED REALTIME THREADS)
* pthread_mutex_timedlock - lock a mutex (ADVANCED REALTIME)
* pthread_rwlockattr_init - destroy and initialize the read-write lock attributes object
* pthread_barrierattr_init - destroy and initialize the barrier attributes object (ADVANCED REALTIME THREADS)
* pthread_condattr_destroy - destroy and initialize the condition variable attributes object
* pthread_rwlock_tryrdlock - lock a read-write lock object for reading
* pthread_rwlock_trywrlock - lock a read-write lock object for writing
* pthread_attr_getguardsize - get and set the thread guardsize attribute
* pthread_attr_getstackaddr - get and set the stackaddr attribute
* pthread_attr_getstacksize - get and set the stacksize attribute
* pthread_attr_setguardsize - get and set the thread guardsize attribute
* pthread_attr_setstackaddr - get and set the stackaddr attribute
* pthread_attr_setstacksize - get and set the stacksize attribute
* pthread_condattr_getclock - get and set the clock selection condition variable attribute (ADVANCED REALTIME)
* pthread_condattr_setclock - get and set the clock selection condition variable attribute (ADVANCED REALTIME)
* pthread_mutexattr_destroy - destroy and initialize the mutex attributes object
* pthread_mutexattr_gettype - get and set the mutex type attribute
* pthread_mutexattr_settype - get and set the mutex type attribute
* pthread_attr_getschedparam - get and set the schedparam attribute
* pthread_attr_setschedparam - get and set the schedparam attribute
* pthread_rwlockattr_destroy - destroy and initialize the read-write lock attributes object
* pthread_rwlock_timedrdlock - lock a read-write lock for reading
* pthread_rwlock_timedwrlock - lock a read-write lock for writing
* pthread_attr_getdetachstate - get and set the detachstate attribute
* pthread_attr_getschedpolicy - get and set the schedpolicy attribute (REALTIME THREADS)
* pthread_attr_setdetachstate - get and set the detachstate attribute
* pthread_attr_setschedpolicy - get and set the schedpolicy attribute (REALTIME THREADS)
* pthread_barrierattr_destroy - destroy and initialize the barrier attributes object (ADVANCED REALTIME THREADS)
* pthread_condattr_getpshared - get and set the process-shared condition variable attributes
* pthread_condattr_setpshared - get and set the process-shared condition variable attributes
* pthread_attr_getinheritsched - get and set the inheritsched attribute (REALTIME THREADS)
* pthread_attr_setinheritsched - get and set the inheritsched attribute (REALTIME THREADS)
* pthread_mutexattr_getpshared - get and set the process-shared attribute
* pthread_mutexattr_setpshared - get and set the process-shared attribute
* pthread_mutex_getprioceiling - get and set the priority ceiling of a mutex (REALTIME THREADS)
* pthread_mutex_setprioceiling - get and set the priority ceiling of a mutex (REALTIME THREADS)
* pthread_mutexattr_getprotocol - get and set the protocol attribute of the mutex attributes object (REALTIME THREADS)
* pthread_mutexattr_setprotocol - get and set the protocol attribute of the mutex attributes object (REALTIME THREADS)
* pthread_rwlockattr_getpshared - get and set the process-shared attribute of the read-write lock attributes object
* pthread_rwlockattr_setpshared - get and set the process-shared attribute of the read-write lock attributes object
* pthread_barrierattr_getpshared - get and set the process-shared attribute of the barrier attributes object (ADVANCED REALTIME THREADS)
* pthread_barrierattr_setpshared - get and set the process-shared attribute of the barrier attributes object (ADVANCED REALTIME THREADS)
* pthread_mutexattr_getprioceiling - get and set the prioceiling attribute of the mutex attributes object (REALTIME THREADS)
* pthread_mutexattr_setprioceiling - get and set the prioceiling attribute of the mutex attributes object (REALTIME THREADS)
*/
#ifdef HAVE_PTHREAD_H
# include <pthread.h>
#endif
/* P90
* passwd
* getpwnam - search user database for a name
* getpwuid - search user database for a user ID
* P2001
* getpwent - user database functions
* setpwent - user database functions
*/
#ifdef HAVE_PWD_H
# include <pwd.h>
#endif
/* P2001
* regcomp - regular expression matching
*/
#ifdef HAVE_REGEX_H
# include <regex.h>
#endif
/* P2001
* sched_yield - yield the processor
* sched_setparam - set scheduling parameters (REALTIME)
* sched_get_param
* sched_get_scheduler
* sched_rr_get_interval - get execution time limits (REALTIME)
* sched_get_priority_max - get priority limits (REALTIME)
*/
#ifdef HAVE_SCHED_H
# include <sched.h>
#endif
/* P2001
* lfind - linear search and update
* tfind - manage a binary search tree
* twalk - manage a binary search tree
* insque - insert or remove an element in a queue
* remque - insert or remove an element in a queue
* hcreate - manage hash search table
* hsearch - manage hash search table
* lsearch - linear search and update
* tdelete - manage a binary search tree
* tsearch - manage a binary search tree
* hdestroy - manage hash search table
*/
#ifdef HAVE_SEARCH_H
# include <search.h>
#endif
/* P2001
* sem_init - initialize an unnamed semaphore (REALTIME)
* sem_open - initialize and open a named semaphore (REALTIME)
* sem_post - unlock a semaphore (REALTIME)
* sem_wait - lock a semaphore (REALTIME)
* sem_close - close a named semaphore (REALTIME)
* sem_unlink - remove a named semaphore (REALTIME)
* sem_destroy - destroy an unnamed semaphore (REALTIME)
* sem_trywait - lock a semaphore (REALTIME)
* sem_getvalue - get the value of a semaphore (REALTIME)
* sem_timedwait - lock a semaphore (ADVANCED REALTIME)
*/
#ifdef HAVE_SEMAPHORE_H
# include <semaphore.h>
#endif
/* C89
* setjmp - set jump point for a non-local goto
* jmp_buf
* longjmp - non-local goto
* P90
* sigsetjmp - set jump point for a non-local goto
* sigjmp_buf
* siglongjmp - non-local goto with signal handling
* P2001
* _setjmp - non-local goto
* _longjmp - non-local goto
*/
#ifdef HAVE_SETJMP_H
# include <setjmp.h>
#endif
/* C89
* raise - send a signal to the executing process
* SIGFPE
* SIGILL
* SIGINT
* signal - signal management
* SIGABRT
* SIG_DFL
* SIG_ERR
* SIG_IGN
* SIGSEGV
* SIGTERM
* sig_atomic_t
* P90
* kill - send a signal to a process or a group of processes
* SIGHUP
* SIGALRM
* SIGCHLD
* SIGCONT
* SIGKILL
* SIGPIPE
* SIGQUIT
* SIGSTOP
* SIGTSTP
* SIGTTIN
* SIGTTOU
* SIGUSR1
* SIGUSR2
* sigset_t
* sigaction - examine and change a signal action
* sigaddset - add a signal to a signal set
* sigdelset - delete a signal from a signal set
* SIG_BLOCK
* sigfillset - initialize and fill a signal set
* sigpending - examine pending signals
* sigsuspend - wait for a signal
* sigemptyset - initialize and empty a signal set
* sigismember - test for a signal in a signal set
* sigprocmask - examine and change blocked signals
* SIG_SETMASK
* SIG_UNBLOCK
* SA_NOCLDSTOP
* P2001
* killpg - send a signal to a process group
* sigset - signal management
* sighold - signal management
* sigwait - wait for queued signals
* sigpause - signal management
* sigqueue - queue a signal to a process (REALTIME)
* sigrelse - signal management
* sigignore - signal management
* bsd_signal - simplified signal facilities
* sigaltstack - set and get signal alternate stack context
* sigwaitinfo - wait for queued signals (REALTIME)
* siginterrupt - allow signals to interrupt functions
* sigtimedwait - wait for queued signals (REALTIME)
*/
#ifdef HAVE_SIGNAL_H
# include <signal.h>
#endif
/* P2001
* posix_spawn - spawn a process (ADVANCED REALTIME)
* posix_spawnnp
* posix_spawnattr_init - destroy and initialize spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_destroy - destroy and initialize spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_getflags - get and set the spawn-flags attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_setflags - get and set the spawn-flags attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_getpgroup - get and set the spawn-pgroup attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_setpgroup - get and set the spawn-pgroup attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_getsigmask - get and set the spawn-sigmask attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_setsigmask - get and set the spawn-sigmask attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_getschedparam - get and set the spawn-schedparam attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_getsigdefault - get and set the spawn-sigdefault attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_setschedparam - get and set the spawn-schedparam attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_setsigdefault - get and set the spawn-sigdefault attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawn_file_actions_init - destroy and initialize spawn file actions object (ADVANCED REALTIME)
* posix_spawnattr_getschedpolicy - get and set the spawn-schedpolicy attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawnattr_setschedpolicy - get and set the spawn-schedpolicy attribute of a spawn attributes object (ADVANCED REALTIME)
* posix_spawn_file_actions_adddup2 - add dup2 action to spawn file actions object (ADVANCED REALTIME)
* posix_spawn_file_actions_addopen - add close or open action to spawn file actions object (ADVANCED REALTIME)
* posix_spawn_file_actions_destroy - destroy and initialize spawn file actions object (ADVANCED REALTIME)
* posix_spawn_file_actions_addclose - add close or open action to spawn file actions object (ADVANCED REALTIME)
*/
#ifdef HAVE_SPAWN_H
# include <spawn.h>
#endif
/* C89
* va_arg - handle variable argument list
* va_end - handle variable argument list
* va_list
* va_start - handle variable argument list
* C99
* va_copy - handle variable argument list
*/
#ifdef HAVE_STDARG_H
# include <stdarg.h>
#endif
/* C99
* bool
* true
* false
*/
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
#endif
/* C89
* NULL
* size_t
* wchar_t
* offsetof
* ptrdiff_t
*/
#ifdef HAVE_STDDEF_H
# include <stddef.h>
#endif
/* C99
* INT*_C
* int*_t
* UINT*_C
* uint*_t
* INT*_MAX
* intmax_t
* INT*_MIN
* intptr_t
* SIZE_MAX
* WINT_MAX
* WINT_MIN
* INTMAX*_C
* UINT*_MAX
* uintmax_t
* uintptr_t
* WCHAR_MAX
* WCHAR_MIN
* INTMAX_MAX
* INTMAX_MIN
* INTPTR_MAX
* INTPTR_MIN
* UINTMAX*_C
* int_fast*_t
* PTRDIFF_MAX
* PTRDIFF_MIN
* UINTMAX_MAX
* UINTPTR_MAX
* int_least*_t
* uint_fast*_t
* INT_FAST*_MAX
* INT_FAST*_MIN
* uint_least*_t
* INT_LEAST*_MAX
* INT_LEAST*_MIN
* SIG_ATOMIC_MAX
* SIG_ATOMIC_MIN
* UINT_FAST*_MAX
* UINT_LEAST*_MAX
*/
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
/* C89
* EOF
* feof - test end-of-file indicator on a stream
* FILE
* getc - get a byte from a stream
* gets - get a string from a stdin stream
* NULL
* putc - put a byte on a stream
* puts - put a string on standard output
* fgetc - get a byte from a stream
* fgets - get a string from a stream
* fopen - open a stream
* fputc - put a byte on a stream
* fputs - put a string on a stream
* fread - binary input
* fseek - reposition a file-position indicator in a stream
* ftell - return a file offset in a stream
* scanf - convert formatted input
* stdin - standard I/O streams
* BUFSIZ
* fclose - close a stream
* ferror - test error indicator on a stream
* fflush - flush a stream
* fpos_t
* fscanf - convert formatted input
* fwrite - binary output
* _IOFBF
* _IOLBF
* _IONBF
* perror - write error messages to standard error
* printf - print formatted output
* remove - remove a file
* rename - rename a file
* rewind - reset the file position indicator in a stream
* setbuf - assign buffering to a stream
* size_t
* sscanf - convert formatted input
* stderr - standard I/O streams
* stdout - standard I/O streams
* tmpnam - create a name for a temporary file
* ungetc - push byte back into input stream
* fgetpos - get current file position information
* fprintf - print formatted output
* freopen - open a stream
* fsetpos - set current file position
* getchar - get a byte from a stdin stream
* putchar - put a byte on a stdout stream
* setvbuf - assign buffering to a stream
* sprintf - print formatted output
* tmpfile - create a temporary file
* TMP_MAX
* vprintf - format output of a stdarg argument list
* clearerr - clear indicators on a stream
* L_tmpnam
* SEEK_CUR
* SEEK_END
* SEEK_SET
* vfprintf - format output of a stdarg argument list
* vsprintf - format output of a stdarg argument list
* FOPEN_MAX
* FILENAME_MAX
* P90
* fdopen - associate a stream with a file descriptor
* fileno - map a stream pointer to a file descriptor
* L_ctermid
* L_cuserid
* STREAM_MAX
* C99
* vscanf - format input of a stdarg argument list
* vfscanf - format input of a stdarg argument list
* vsscanf - format input of a stdarg argument list
* snprintf - print formatted output
* vsnprintf - format output of a stdarg argument list
* P2001
* popen - initiate pipe streams to or from a process
* pclose - close a pipe stream to or from a process
* tempnam - create a name for a temporary file
* flockfile - stdio locking functions
* funlockfile - stdio locking functions
* ftrylockfile - stdio locking functions
* getc_unlocked - stdio with explicit client locking
* putc_unlocked - stdio with explicit client locking
* getchar_unlocked - stdio with explicit client locking
* putchar_unlocked - stdio with explicit client locking
*/
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif
/* C89
* abs - return an integer absolute value
* div - compute the quotient and remainder of an integer division
* atof - convert a string to a double-precision number
* atoi - convert a string to an integer
* atol - convert a string to a long integer
* exit - terminate a process
* free - free allocated memory
* labs - return a long integer absolute value
* ldiv - compute quotient and remainder of a long division
* NULL
* rand - pseudo-random number generator
* abort - generate an abnormal process abort
* div_t
* mblen - get number of bytes in a character
* qsort - sort a table of data
* srand - pseudo-random number generator
* atexit - register a function to run at process termination
* calloc - a memory allocator
* getenv - get value of an environment variable
* ldiv_t
* malloc - a memory allocator
* mbtowc - convert a character to a wide-character code
* size_t
* strtod - convert a string to a double-precision number
* strtol - convert a string to a long integer
* system - issue a command
* wctomb - convert a wide-character code to a character
* bsearch - binary search a sorted table
* realloc - memory reallocator
* strtoul - convert a string to an unsigned long
* wchar_t
* mbstowcs - convert a character string to a wide-character string
* RAND_MAX
* wcstombs - convert a wide-character string to a character string
* MB_CUR_MAX
* EXIT_FAILURE
* EXIT_SUCCESS
* C99
* atoll - convert a string to a long integer
* _Exit - terminate a process - terminate a process
* llabs - return a long integer absolute value
* lldiv - compute quotient and remainder of a long division
* strtof - convert a string to a double-precision number
* lldiv_t
* strtold - convert a string to a double-precision number
* strtoll - convert a string to a long integer
* strtoull - convert a string to an unsigned long
* P2001
* a64l - convert between a 32-bit integer and a radix-64 ASCII string
* ecvt - convert a floating-point number to a string (LEGACY)
* fcvt - convert a floating-point number to a string (LEGACY)
* gcvt - convert a floating-point number to a string (LEGACY)
* l64a - convert between a 32-bit integer and a radix-64 ASCII string
* _Exit - terminate a process - terminate a process
* mktemp - make a unique filename (LEGACY)
* putenv - change or add a value to an environment
* random - pseudo-random number functions
* seed48 - generate uniformly distributed pseudo-random numbers
* setenv - add or change environment variable
* setkey - set encoding key (CRYPT)
* drand48 - generate uniformly distributed pseudo-random numbers
* erand48 - generate uniformly distributed pseudo-random numbers
* grantpt - grant access to the slave pseudo-terminal device
* jrand48 - generate uniformly distributed pseudo-random numbers
* lcong48 - generate uniformly distributed pseudo-random numbers
* lrand48 - generate uniformly distributed pseudo-random numbers
* mkstemp - make a unique filename
* mrand48 - generate uniformly distributed pseudo-random numbers
* nrand48 - generate uniformly distributed pseudo-random numbers
* ptsname - get name of the slave pseudo-terminal device
* srand48 - generate uniformly distributed pseudo-random numbers
* srandom - pseudo-random number functions
* realpath - resolve a pathname
* setstate - pseudo-random number functions
* unlockpt - unlock a pseudo-terminal master/slave pair
* unsetenv - remove an environment variable
* getsubopt - parse suboption arguments from a string
* initstate - pseudo-random number functions
* posix_memalign - aligned memory allocation (ADVANCED REALTIME)
*/
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
/* C89
* NULL
* memchr - find byte in memory
* memcmp - compare bytes in memory
* memcpy - copy bytes in memory
* memset - set bytes in memory
* size_t
* strcat - concatenate two strings
* strchr - string scanning operation
* strcmp - compare two strings
* strcpy - copy a string
* strlen - get string length
* strspn - get length of a substring
* strstr - find a substring
* strtok - split string into tokens
* memmove - copy bytes in memory with overlapping areas
* strcoll - string comparison using collating information
* strcspn - get the length of a complementary substring
* strncat - concatenate a string with part of another
* strncmp - compare part of two strings
* strncpy - copy part of a string
* strpbrk - scan a string for a byte
* strrchr - string scanning operation
* strxfrm - string transformation
* strerror - get error message string
* P2001
* rindex - character string operations (LEGACY)
* strdup - duplicate a string
* memccpy - copy bytes in memory
* strtok_r - split string into tokens
* strerror_r - get error message string
*/
#ifdef HAVE_STRING_H
# include <string.h>
#endif
/* P2001
* ffs - find first set bit
* bcmp - memory operations (LEGACY)
* bcopy - memory operations (LEGACY)
* bzero - memory operations (LEGACY)
* index - character string operations (LEGACY)
* strcasecmp - case-insensitive string comparisons
* strncasecmp - case-insensitive string comparisons
*/
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
/* P2001
* ioctl - control a STREAMS device (STREAMS)
* getmsg - receive next message from a STREAMS file (STREAMS)
* putmsg - send a message on a STREAM (STREAMS)
* fattach - attach a STREAMS-based file descriptor to a file in the file system name space (STREAMS)
* fdetach - detach a name from a STREAMS-based file descriptor (STREAMS)
* getpmsg - receive next message from a STREAMS file (STREAMS)
* putpmsg - send a message on a STREAM (STREAMS)
* isastream - test a file descriptor (STREAMS)
*/
#ifdef HAVE_STROPTS_H
# include <stropts.h>
#endif
/* P2001
* syslog - control system log
* openlog - control system log
* closelog - control system log
* setlogmask - control system log
*/
#ifdef HAVE_SYSLOG_H
# include <syslog.h>
#endif
/* P2001
* mmap - map pages of memory
* mlock - lock or unlock a range of process address space (REALTIME)
* msync - synchronize memory with physical storage
* munmap - unmap pages of memory
* munlock - lock or unlock a range of process address space (REALTIME)
* mlockall - lock/unlock the address space of a process (REALTIME)
* mprotect - set protection of memory mapping
* shm_open - open a shared memory object (REALTIME)
* munlockall - lock/unlock the address space of a process (REALTIME)
* shm_unlink - remove a shared memory object (REALTIME)
* posix_madvise - memory advisory information and alignment control (ADVANCED REALTIME)
* posix_mem_offset - find offset and length of a mapped typed memory block (ADVANCED REALTIME)
* posix_typed_mem_open - open a typed memory object (ADVANCED REALTIME)
* posix_typed_mem_get_info - query typed memory information (ADVANCED REALTIME)
*/
#ifdef HAVE_SYS_MMAN_H
# include <sys/mann.h>
#endif
/* P2001
* msgctl - XSI message control operations
* msgget - get the XSI message queue identifier
* msgrcv - XSI message receive operation
* msgsnd - XSI message send operation
*/
#ifdef HAVE_SYS_MSG_H
# include <sys/msg.h>
#endif
/* P2001
* getrlimit - control maximum resource consumption
* getrusage - get information about resource utilization
* setrlimit - control maximum resource consumption
* getpriority - get and set the nice value
* setpriority - get and set the nice value
*/
#ifdef HAVE_SYS_RESOURCE_H
# include <sys/resource.h>
#endif
/* P2001
* FD_CLR - synchronous I/O multiplexing
* FD_SET - synchronous I/O multiplexing
* select - synchronous I/O multiplexing
* FD_ZERO - synchronous I/O multiplexing
* pselect - synchronous I/O multiplexing
* FD_ISSET - synchronous I/O multiplexing
*/
#ifdef HAVE_SYS_SELECT_H
# include <sys/select.h>
#endif
/* P2001
* semop - XSI semaphore operations
* semctl - XSI semaphore control operations
* semget - get set of XSI semaphores
*/
#ifdef HAVE_SYS_SEM_H
# include <sys/sem.h>
#endif
/* P2001
* shmat - XSI shared memory attach operation
* shmdt - XSI shared memory detach operation
* shmctl - XSI shared memory control operations
* shmget - get an XSI shared memory segment
*/
#ifdef HAVE_SHM_H
# include <sys/shm.h>
#endif
/* P2001
* bind - bind a name to a socket
* recv - receive a message from a connected socket
* send - send a message on a socket
* accept - accept a new connection on a socket
* listen - listen for socket connections and limit the queue of incoming connections
* sendto - send a message on a socket
* socket
* connect - connect a socket
* recvmsg - receive a message from a socket
* sendmsg - send a message on a socket using a message structure
* recvfrom - receive a message from a socket
* shutdown - shut down socket send and receive operations
* getsockopt - get the socket options
* setsockopt - set the socket options
* sockatmark - determine whether a socket is at the out-of-band mark
* socketpair - create a pair of connected sockets
* getsockname - get the socket name
*/
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* P90
* stat (struct) - get file status
* stat - get file status
* umask - set and get the file mode creation mask
* chmod - change mode of a file
* fstat - get file status
* mkdir - make a directory
* mkfifo - make a FIFO special file
* S_IUSR
* S_IWXG
* S_IWXO
* S_IWXU
* S_IRGRP
* S_IROTH
* S_ISBLK
* S_ISCHR
* S_ISDIR
* S_ISGID
* S_ISREG
* S_ISUID
* S_IWGRP
* S_IWOTH
* S_IWUSR
* S_IXGRP
* S_IXOTH
* S_IXUSR
* S_ISFIFO
* P2001
* lstat - get symbolic link status
* mknod - make a directory, a special file, or a regular file
* fchmod - change mode of a file
*/
#ifdef HAVE_STAT_H
# include <sys/stat.h>
#endif
/* P2001
* statvfs - get file system information
* fstatvfs - get file system information
*/
#ifdef HAVE_SYS_STATVFS_H
# include <sys/statvfs.h>
#endif
/* P2001
* utimes - set file access and modification times (LEGACY)
* getitimer - get and set value of interval timer
* setitimer - get and set value of interval timer
* gettimeofday - get the date and time
*/
#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
#endif
/* P90
* uid_t
* dev_t
* gid_t
* ino_t
* off_t
* pid_t
* size_t
* mode_t
* ssize_t
* nlink_t
*/
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
/* P2001
* readv - read a vector
* writev - write a vector
*/
#ifdef HAVE_SYS_UIO_H
# include <sys/uio.h>
#endif
/* P90
* uname - get the name of the current system
* utsname
*/
#ifdef HAVE_SYS_UTSNAME_H
# include <sys/utsname.h>
#endif
/* P90
* wait - wait for a child process to stop or terminate
* waitpid - wait for a child process to stop or terminate
* WNOHANG
* WSTOPSIG
* WTERMSIG
* WIFEXITED
* WUNTRACED
* WIFSTOPPED
* WEXITSTATUS
* WIFSIGNALED
* P2001
* waitid - wait for a child process to change state
*/
#ifdef HAVE_SYS_WAIT_H
# include <sys/wait.h>
#endif
/* P90
* B0
* B50
* B75
* CS5
* CS6
* CS7
* CS8
* B110
* B134
* B150
* B200
* B300
* B600
* cc_t
* ECHO
echo (3x) - curses input options
* ISIG
* IXON
* NCCS
* VEOF
* VEOL
* VMIN
* B1200
* B1800
* B2400
* B4800
* B9600
* CREAD
* CSIZE
* ECHOE
* ECHOK
* HUPCL
* ICRNL
* IGNCR
* INPCK
* IXOFF
* OPOST
* TCION
* VINTR
* VKILL
* VQUIT
* VSTOP
* VSUSP
* VTIME
* tcflow - suspend or restart the transmission or reception of data
* B19200
* B38400
* BRKINT
* CLOCAL
* CSTOPB
* ECHONL
* ICANON
* IEXTEN
* IGNBRK
* IGNLCR
* IGNPAR
* ISTRIP
* NOFLSH
* PARENB
* PARMRK
* PARODD
* TCIOFF
* TOSTOP
* VERASE
* VSTART
* speed_t
* tcdrain - wait for transmission of output
* tcflush - flush non-transmitted output data, non-read input data, or both
* termios
* TCSANOW
* tcflag_t
* TCIFLUSH
* TCOFLUSH
* tcgetattr - get the parameters associated with the terminal
* tcsetattr - set the parameters associated with the terminal
* TCIOFLUSH
* TCSADRAIN
* TCSAFLUSH
* tcsendbreak - send a break for a specific duration
* cfgetispeed - get input baud rate
* cfgetospeed - get output baud rate
* cfsetispeed - set input baud rate
* cfsetospeed - set output baud rate
* P2001
* tcgetsid - get the process group ID for the session leader for the controlling terminal
*/
#ifdef HAVE_TERMIOS_H
# include <termios.h>
#endif
/* C99
* cos - cosine function
* erf - error functions
* exp - exponential function
* fma - floating-point multiply-add
* log - natural logarithm function
* pow - power function
* sin - sine function
* tan - tangent function
* acos - arc cosine functions
* asin - arc sine function
* atan - arc tangent function
* carg - complex argument functions
* cbrt - cube root functions
* ceil - ceiling value function
* conj - complex conjugate functions
* cosh - hyperbolic cosine functions
* erfc - complementary error functions
* exp2 - exponential base 2 functions
* fabs - absolute value function
* fdim - compute positive difference between two floating-point numbers
* fmax - determine maximum numeric value of two floating-point numbers
* fmin - determine minimum numeric value of two floating-point numbers
* fmod - floating-point remainder value function
* log2 - compute base 2 logarithm functions
* logb - radix-independent exponent
* rint - round-to-nearest integral value
* sinh - hyperbolic sine functions
* sqrt - square root function
* tanh - hyperbolic tangent functions
* acosh - inverse hyperbolic cosine functions
* asinh - inverse hyperbolic sine functions
* atan2 - arc tangent functions
* atanh - inverse hyperbolic tangent functions
* cimag - complex imaginary functions
* cproj - complex projection functions
* creal - complex real functions
* expm1 - compute exponential functions
* floor - floor function
* frexp - extract mantissa and exponent from a double precision number
* hypot - Euclidean distance function
* ilogb - return an unbiased exponent
* ldexp - load exponent of a floating-point number
* log10 - base 10 logarithm function
* log1p - compute a natural logarithm
* lrint - round to nearest integer value using current rounding direction
* round - round to the nearest integer value in a floating-point format
* trunc - round to truncated integer value
* lgamma - log gamma function
* llrint - round to the nearest integer value using current rounding direction
* lround - round to nearest integer value
* remquo - remainder functions
* scalbn - compute exponent using FLT_RADIX
* tgamma - compute gamma() function
* llround - round to nearest integer value
* scalbln - compute exponent using FLT_RADIX
* copysign - number manipulation function
* nearbyint - floating-point rounding functions
* nextafter - next representable floating-point number
* remainder - remainder function
* nexttoward - next representable floating-point number
*/
#ifdef HAVE_TGMATH_H
# include <tgmath.h>
#endif
/* C89
* tm
* NULL
* time - get time
* clock - report CPU time used
* ctime - convert a time value to a date and time string
* gmtime - convert a time value to a broken-down UTC time
* mktime - convert broken-down time into time since the Epoch
* size_t
* time_t
* asctime - convert date and time to a string
* clock_t
* difftime - compute the difference between two calendar time values
* strftime - convert date and time to a string
* localtime - convert a time value to a broken-down local time
* CLOCKS_PER_SEC
* P90
* tzset - set timezone conversion information
* CLK_TCK
* P2001
* tzname - set timezone conversion information
* getdate - convert user format date and time
* daylight - set timezone conversion information
* strptime - date and time conversion
* timezone - set timezone conversion information
* nanosleep - high resolution sleep (REALTIME)
* localtime_r - convert a time value to a broken-down local time
* clock_getres - clock and timer functions (REALTIME)
* timer_create - create a per-process timer (REALTIME)
* timer_delete - delete a per-process timer (REALTIME)
* clock_gettime - clock and timer functions (REALTIME)
* clock_settime - clock and timer functions (REALTIME)
* clock_nanosleep - high resolution sleep with specifiable clock (ADVANCED REALTIME)
* timer_getoverrun - per-process timers (REALTIME)
* clock_getcpuclockid - access a process CPU-time clock (ADVANCED REALTIME)
*/
#ifdef HAVE_TIME_H
# include <time.h>
#endif
/* P90
* tms
* times - get process and waited-for child process times
* clock_t
*/
#ifdef HAVE_TIMES_H
# include <times.h>
#endif
/* P2001
* posix_trace_open - trace log management (TRACING)
* posix_trace_clear - clear trace stream and trace log (TRACING)
* posix_trace_close - trace log management (TRACING)
* posix_trace_event - trace functions for instrumenting application code (TRACING)
* posix_trace_flush - trace stream initialization, flush, and shutdown from a process (TRACING)
* posix_trace_start - trace start and stop (TRACING)
* posix_trace_create - trace stream initialization, flush, and shutdown from a process (TRACING)
* posix_trace_rewind - trace log management (TRACING)
* posix_trace_get_attr - retrieve the trace attributes or trace status (TRACING)
* posix_trace_shutdown - trace stream initialization, flush, and shutdown from a process (TRACING)
* posix_trace_attr_init - destroy and initialize the trace stream attributes object (TRACING)
* posix_trace_get_filter - retrieve and set the filter of an initialized trace stream (TRACING)
* posix_trace_get_status - retrieve the trace attributes or trace status (TRACING)
* posix_trace_set_filter - retrieve and set the filter of an initialized trace stream (TRACING)
* posix_trace_attr_destroy - destroy and initialize the trace stream attributes object (TRACING)
* posix_trace_attr_getname - retrieve and set information about a trace stream (TRACING)
* posix_trace_attr_setname - retrieve and set information about a trace stream (TRACING)
* posix_trace_eventid_equal - manipulate the trace event type identifier (TRACING)
* posix_trace_eventid_openl
* posix_trace_eventset_addl
* posix_trace_attr_getlogsize - retrieve and set trace stream size attributes (TRACING)
* posix_trace_attr_setlogsize - retrieve and set trace stream size attributes (TRACING)
* posix_trace_attr_getclockres - retrieve and set information about a trace stream (TRACING)
* posix_trace_eventid_get_name - manipulate the trace event type identifier (TRACING)
* posix_trace_trygetnext_event - retrieve a trace event (TRACING)
* posix_trace_attr_getinherited - retrieve and set the behavior of a trace stream (TRACING)
* posix_trace_attr_setinherited - retrieve and set the behavior of a trace stream (TRACING)
* posix_trace_get_getnext_event
* posix_trace_trid_eventid_open - manipulate the trace event type identifier (TRACING)
* posix_trace_attr_getcreatetime - retrieve and set information about a trace stream (TRACING)
* posix_trace_attr_getgenversion - retrieve and set information about a trace stream (TRACING)
* posix_trace_attr_getstreamsize - retrieve and set trace stream size attributes (TRACING)
* posix_trace_attr_setstreamsize - retrieve and set trace stream size attributes (TRACING)
* posix_trace_timedgetnext_event - retrieve a trace event (TRACING)
* posix_trace_attr_getmaxdatasize - retrieve and set trace stream size attributes (TRACING)
* posix_trace_attr_setmaxdatasize - retrieve and set trace stream size attributes (TRACING)
* posix_trace_attr_getlogfullpolicy - retrieve and set the behavior of a trace stream (TRACING)
* posix_trace_attr_setlogfullpolicy - retrieve and set the behavior of a trace stream (TRACING)
* posix_trace_attr_getstreamfullpolicy - retrieve and set the behavior of a trace stream (TRACING)
* posix_trace_attr_setstreamfullpolicy - retrieve and set the behavior of a trace stream (TRACING)
* posix_trace_eventtypelist_getnext_id - iterate over a mapping of trace event types (TRACING)
*/
#ifdef HAVE_TRACE_H
# include <trace.h>
#endif
/* P2001
* getcontext - get and set current user context
* setcontext - get and set current user context
* makecontext - manipulate user contexts
* swapcontext - manipulate user contexts
*/
#ifdef HAVE_UCONTEXT_H
# include <ucontext.h>
#endif
/* P2001
* ulimit - get and set process limits
*/
#ifdef HAVE_ULIMIT_H
# include <ulimit.h>
#endif
/* P90
* dup - duplicate an open file descriptor
* read - read from a file
* dup2 - duplicate an open file descriptor
* F_OK
* fork - create a new process
* link - link to a file
* pipe - create an interprocess channel
* R_OK
* W_OK
* X_OK
* rmdir - remove a directory
* sleep - suspend execution for an interval of time
* write - write on a file
* alarm - schedule an alarm signal
* chdir - change working directory
* chown - change owner and group of a file
* close - close a file descriptor
* execl - execute a file
* execv - execute a file
* _exit - terminate a process
* lseek - move the read/write file offset
* pause - suspend the thread until a signal is received
* setgid - set-group-ID
* setsid - create session and set process group ID
* setuid - set user ID
* size_t
* unlink - remove a directory entry
* access - determine accessibility of a file
* execle - execute a file
* execlp - execute a file
* execve - execute a file
* execvp - execute a file
* getcwd - get the pathname of the current working directory
* getgid - get the real group ID
* getpid - get the process ID
* getuid - get a real user ID
* isatty - test for a terminal device
* setpgid - set process group ID for job control
* ssize_t
* sysconf - get configurable system variables
* ttyname - find the pathname of a terminal
* ctermid - generate a pathname for the controlling terminal
* cuserid
* getegid - get the effective group ID
* geteuid - get the effective user ID
* getpgrp - get the process group ID of the calling process
* getppid - get the parent process ID
* getlogin - get login name
* pathconf - get configurable pathname variables
* SEEK_CUR
* SEEK_END
* SEEK_SET
* tcgetpgrp - get the foreground process group ID
* tcsetpgrp - set the foreground process group ID
* fpathconf - get configurable pathname variables
* getgroups - get supplementary group IDs
* _SC_ARG_MAX
* _SC_CLK_TCK
* _SC_VERSION
* _PC_NAME_MAX
* _PC_NO_TRUNC
* _PC_PATH_MAX
* _PC_PIPE_BUF
* _PC_VDISABLE
* _SC_OPEN_MAX
* STDIN_FILENO
* _PC_MAX_CANON
* _PC_MAX_INPUT
* _SC_CHILD_MAX
* _SC_SAVED_IDS
* STDERR_FILENO
* STDOUT_FILENO
* _POSIX_VERSION
* _SC_STREAM_MAX
* _SC_TZNAME_MAX
* _POSIX_NO_TRUNC
* _POSIX_VDISABLE
* _SC_JOB_CONTROL
* _SC_NGROUPS_MAX
* _POSIX_SAVED_IDS
* _POSIX_JOB_CONTROL
* _PC_CHOWN_RESTRICTED
* _POSIX_CHOWN_RESTRICTED
* environ extern char **; - execute a file
* P2001
* F_LOCK
* F_TEST
* F_TLOCK
* F_ULOCK
* confstr - get configurable variables
* crypt - string encoding function (CRYPT)
* encrypt - encoding function (CRYPT)
* fchdir - change working directory
* fchown - change owner and group of a file
* fdatasync - synchronize the data of a file (REALTIME)
* fsync - synchronize changes to a file
* ftruncate - truncate a file to a specified length
* gethostid - get an identifier for the current host
* gethostname - get name of current host
* getsid - get the process group ID of a session leader
* lchown - change the owner and group of a symbolic link
* lockf - record locking on files
* nice - change the nice value of a process
* optarg - command option parsing
* opterr - command option parsing
* optind - command option parsing
* optopt - command option parsing
* pread - read from a file
* pwrite - write on a file
* readlink - read the contents of a symbolic link
* setegid - set the effective group ID
* seteuid - set effective user ID
* setpgrp - set the process group ID
* setregid - set real and effective group IDs
* setregid - set real and effective group IDs
* setreuid - set real and effective user IDs
* swab - swap bytes
* symlink - make a symbolic link to a file
* sync - schedule file system updates
* truncate - truncate a file to a specified length
* ualarm - set the interval timer
* useconds_t
* usleep - suspend execution for an interval
* vfork - create a new process; share virtual memory
*/
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
/* P90
* utime - set file access and modification times
* utimbuf
*/
#ifdef HAVE_UTIME_H
# include <utime.h>
#endif
/* P2001
* getutxid - user accounting database functions
* endutxent - user accounting database functions
* getutxent - user accounting database functions
* setutxent - user accounting database functions
* getutxline - user accounting database functions
* pututxline - user accounting database functions
*/
#ifdef HAVE_UTMPX_H
# include <utmpx.h>
#endif
/* C89
* tm
* NULL
* WEOF
* btowc - single byte to wide character conversion
* fwide - set stream orientation
* getwc - set stream orientation
* putwc
* wctob - wide-character to single-byte conversion
* fgetwc - get a wide-character code from a stream
* fgetws - get a wide-character string from a stream
* fputwc - put a wide-character code on a stream
* fputws - put a wide-character string on a stream
* mbrlen - get number of bytes in a character (restartable)
* size_t
* wcscat - concatenate two wide-character strings
* wcschr - wide-character string scanning operation
* wcscmp - compare two wide-character strings
* wcscpy - copy a wide-character string
* wcslen - get wide-character string length
* wcsspn - get the length of a wide substring
* wcsstr - find a wide-character substring
* wcstod - convert a wide-character string to a double-precision number
* wcstok - split a wide-character string into tokens
* wcstol - convert a wide-character string to a long integer
* wint_t
* wscanf - convert formatted wide-character input
* fwscanf - convert formatted wide-character input
* mbrtowc - convert a character to a wide-character code (restartable)
* mbsinit - determine conversion object status
* swscanf - convert formatted wide-character input
* ungetwc - push wide-character code back into the input stream
* wchar_t
* wcrtomb - convert a wide-character code to a character (restartable)
* wcscoll - wide-character string comparison using collating information
* wcscspn - get the length of a complementary wide substring
* wcsncat - concatenate a wide-character string with part of another
* wcsncmp - compare part of two wide-character strings
* wcsncpy - copy part of a wide-character string
* wcspbrk - scan a wide-character string for a wide-character code
* wcsrchr - wide-character string scanning operation
* wcstoul - convert a wide-character string to an unsigned long
* wcsxfrm - wide-character string transformation
* wmemchr - find a wide character in memory
* wmemcmp - compare wide characters in memory
* wmemcpy - copy wide characters in memory
* wmemset - set wide characters in memory
* wprintf - print formatted wide-character output
* fwprintf - print formatted wide-character output
* getwchar - get a wide character from a stdin stream
* putwchar - put a wide character on a stdout stream
* swprintf - print formatted wide-character output
* vwprintf - wide-character formatted output of a stdarg argument list
* wcsftime - convert date and time to a wide-character string
* wmemmove - copy wide characters in memory with overlapping areas
* mbsrtowcs - convert a character string to a wide-character string (restartable)
* mbstate_t
* vfwprintf - wide-character formatted output of a stdarg argument list
* vswprintf - wide-character formatted output of a stdarg argument list
* WCHAR_MAX
* WCHAR_MIN
* wcsrtombs - convert a wide-character string to a character string (restartable)
* C99
* wcstof - convert a wide-character string to a double-precision number
* vwscanf - wide-character formatted input of a stdarg argument list
* wcstold - convert a wide-character string to a double-precision number
* wcstoll - convert a wide-character string to a long integer
* vfwscanf - wide-character formatted input of a stdarg argument list
* vswscanf - wide-character formatted input of a stdarg argument list
* wcstoull - convert a wide-character string to an unsigned long
* P2001
* wcswcs - find a wide substring (LEGACY)
* wcwidth - number of column positions of a wide-character code
* wcswidth - number of column positions of a wide-character string
*/
#ifdef HAVE_WCHAR_H
# include <wchar.h>
#endif
/* C89
* wctype - define character class
* wint_t
* wctrans - define character mapping
* iswalnum - test for an alphanumeric wide-character code
* iswalpha - test for an alphabetic wide-character code
* iswcntrl - test for a control wide-character code
* iswctype - test character for a specified class
* iswdigit - test for a decimal digit wide-character code
* iswgraph - test for a visible wide-character code
* iswlower - test for a lowercase letter wide-character code
* iswprint - test for a printable wide-character code
* iswpunct - test for a punctuation wide-character code
* iswspace - test for a white-space wide-character code
* iswupper - test for an uppercase letter wide-character code
* towlower - transliterate uppercase wide-character code to lowercase
* towupper - transliterate lowercase wide-character code to uppercase
* wctype_t
* iswxdigit - test for a hexadecimal digit wide-character code
* towctrans - wide-character transliteration
* wctrans_t
* C99
* WEOF
* iswblank - test for a blank wide-character code
*/
#ifdef HAVE_WCTYPE_H
# include <wctype.h>
#endif
/* P2001
* wordexp - perform word expansions
* wordfree - perform word expansions
*/
#ifdef HAVE_WORDEXP_H
# include <wordexp.h>
#endif
#endif /* __C89P90P2001_H__ */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment