Next: Generic Types, Up: Types
These macros check for particular C types in sys/types.h, stdlib.h, stdint.h, inttypes.h and others, if they exist.
The Gnulib stdint module is an alternate way to define many of
these symbols; it is useful if you prefer your code to assume a
C99-or-better environment. See Gnulib.
Define
GETGROUPS_Tto be whichever ofgid_torintis the base type of the array argument togetgroups.
If stdint.h or inttypes.h defines the type
int8_t, defineHAVE_INT8_T. Otherwise, defineint8_tto a signed integer type that is exactly 8 bits wide and that uses two's complement representation, if such a type exists.
If stdint.h or inttypes.h defines the type
intmax_t, defineHAVE_INTMAX_T. Otherwise, defineintmax_tto the widest signed integer type.
If stdint.h or inttypes.h defines the type
intptr_t, defineHAVE_INTPTR_T. Otherwise, defineintptr_tto a signed integer type wide enough to hold a pointer, if such a type exists.
If the C compiler supports a working
long doubletype, defineHAVE_LONG_DOUBLE. Thelong doubletype might have the same range and precision asdouble.
If the C compiler supports a working
long doubletype with more range or precision than thedoubletype, defineHAVE_LONG_DOUBLE_WIDER.
If the C compiler supports a working
long long inttype, defineHAVE_LONG_LONG_INT.
Define
HAVE_MBSTATE_Tif<wchar.h>declares thembstate_ttype. Also, definembstate_tto be a type if<wchar.h>does not declare it.
If signal.h declares
signalas returning a pointer to a function returningvoid, defineRETSIGTYPEto bevoid; otherwise, define it to beint.Define signal handlers as returning type
RETSIGTYPE:RETSIGTYPE hup_handler () { ... }
Define
uid_tandgid_tto suitable types, if standard headers do not define them.
If stdint.h or inttypes.h defines the type
uint8_t, defineHAVE_UINT8_T. Otherwise, defineuint8_tto an unsigned integer type that is exactly 8 bits wide, if such a type exists.
If stdint.h or inttypes.h defines the type
uintmax_t, defineHAVE_UINTMAX_T. Otherwise, defineuintmax_tto the widest unsigned integer type.