Next: Generic Types, Up: Types [Contents][Index]
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_T to be whichever of gid_t or int
is the base type of the array argument to getgroups.
This macro caches the base type in the ac_cv_type_getgroups
variable.
If stdint.h or inttypes.h does not define the type
int8_t, define int8_t to a signed
integer type that is exactly 8 bits wide and that uses two’s complement
representation, if such a type exists.
If you are worried about porting to hosts that lack such a type, you can
use the results of this macro in C89-or-later code as follows:
#if HAVE_STDINT_H # include <stdint.h> #endif #if defined INT8_MAX || defined int8_t code using int8_t #else complicated alternative using >8-bit 'signed char' #endif
This macro caches the type in the ac_cv_c_int8_t variable.
This is like AC_TYPE_INT8_T, except for 16-bit integers.
This is like AC_TYPE_INT8_T, except for 32-bit integers.
This is like AC_TYPE_INT8_T, except for 64-bit integers.
If stdint.h or inttypes.h defines the type intmax_t,
define HAVE_INTMAX_T. Otherwise, define intmax_t to the
widest signed integer type.
If stdint.h or inttypes.h defines the type intptr_t,
define HAVE_INTPTR_T. Otherwise, define intptr_t to a
signed integer type wide enough to hold a pointer, if such a type
exists.
If the C compiler supports a working long double type, define
HAVE_LONG_DOUBLE. The long double type might have the
same range and precision as double.
This macro caches its result in the ac_cv_type_long_double
variable.
This macro is obsolescent, as current C compilers support long
double. New programs need not use this macro.
If the C compiler supports a working long double type with more
range or precision than the double type, define
HAVE_LONG_DOUBLE_WIDER.
This macro caches its result in the ac_cv_type_long_double_wider
variable.
If the C compiler supports a working long long int type, define
HAVE_LONG_LONG_INT. However, this test does not test
long long int values in preprocessor #if expressions,
because too many compilers mishandle such expressions.
See Preprocessor Arithmetic.
This macro caches its result in the ac_cv_type_long_long_int
variable.
Define HAVE_MBSTATE_T if <wchar.h> declares the
mbstate_t type. Also, define mbstate_t to be a type if
<wchar.h> does not declare it.
This macro caches its result in the ac_cv_type_mbstate_t
variable.
Define mode_t to a suitable type, if standard headers do not
define it.
This macro caches its result in the ac_cv_type_mode_t variable.
Define off_t to a suitable type, if standard headers do not
define it.
This macro caches its result in the ac_cv_type_off_t variable.
Define pid_t to a suitable type, if standard headers do not
define it.
This macro caches its result in the ac_cv_type_pid_t variable.
Define size_t to a suitable type, if standard headers do not
define it.
This macro caches its result in the ac_cv_type_size_t variable.
Define ssize_t to a suitable type, if standard headers do not
define it.
This macro caches its result in the ac_cv_type_ssize_t variable.
Define uid_t and gid_t to suitable types, if standard
headers do not define them.
This macro caches its result in the ac_cv_type_uid_t variable.
If stdint.h or inttypes.h does not define the type
uint8_t, define uint8_t to an
unsigned integer type that is exactly 8 bits wide, if such a type
exists.
This is like AC_TYPE_INT8_T, except for unsigned integers.
This is like AC_TYPE_UINT8_T, except for 16-bit integers.
This is like AC_TYPE_UINT8_T, except for 32-bit integers.
This is like AC_TYPE_UINT8_T, except for 64-bit integers.
If stdint.h or inttypes.h defines the type uintmax_t,
define HAVE_UINTMAX_T. Otherwise, define uintmax_t to the
widest unsigned integer type.
If stdint.h or inttypes.h defines the type uintptr_t,
define HAVE_UINTPTR_T. Otherwise, define uintptr_t to an
unsigned integer type wide enough to hold a pointer, if such a type
exists.
If the C compiler supports a working unsigned long long int type,
define HAVE_UNSIGNED_LONG_LONG_INT. However, this test does not test
unsigned long long int values in preprocessor #if expressions,
because too many compilers mishandle such expressions.
See Preprocessor Arithmetic.
This macro caches its result in the ac_cv_type_unsigned_long_long_int
variable.
Next: Generic Types, Up: Types [Contents][Index]