Next: , Up: Types


5.9.1 Particular Type Checks

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.

— Macro: AC_TYPE_GETGROUPS

Define GETGROUPS_T to be whichever of gid_t or int is the base type of the array argument to getgroups.

— Macro: AC_TYPE_INT8_T

If stdint.h or inttypes.h defines the type int8_t, define HAVE_INT8_T. Otherwise, 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.

— Macro: AC_TYPE_INT16_T

This is like AC_TYPE_INT8_T, except for 16-bit integers.

— Macro: AC_TYPE_INT32_T

This is like AC_TYPE_INT8_T, except for 32-bit integers.

— Macro: AC_TYPE_INT64_T

This is like AC_TYPE_INT8_T, except for 64-bit integers.

— Macro: AC_TYPE_INTMAX_T

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.

— Macro: AC_TYPE_INTPTR_T

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.

— Macro: AC_TYPE_LONG_DOUBLE

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.

— Macro: AC_TYPE_LONG_DOUBLE_WIDER

If the C compiler supports a working long double type with more range or precision than the double type, define HAVE_LONG_DOUBLE_WIDER.

— Macro: AC_TYPE_LONG_LONG_INT

If the C compiler supports a working long long int type, define HAVE_LONG_LONG_INT.

— Macro: AC_TYPE_MBSTATE_T

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.

— Macro: AC_TYPE_MODE_T

Define mode_t to a suitable type, if standard headers do not define it.

— Macro: AC_TYPE_OFF_T

Define off_t to a suitable type, if standard headers do not define it.

— Macro: AC_TYPE_PID_T

Define pid_t to a suitable type, if standard headers do not define it.

— Macro: AC_TYPE_SIGNAL

If signal.h declares signal as returning a pointer to a function returning void, define RETSIGTYPE to be void; otherwise, define it to be int.

Define signal handlers as returning type RETSIGTYPE:

          RETSIGTYPE
          hup_handler ()
          {
          ...
          }
     
— Macro: AC_TYPE_SIZE_T

Define size_t to a suitable type, if standard headers do not define it.

— Macro: AC_TYPE_SSIZE_T

Define ssize_t to a suitable type, if standard headers do not define it.

— Macro: AC_TYPE_UID_T

Define uid_t and gid_t to suitable types, if standard headers do not define them.

— Macro: AC_TYPE_UINT8_T

If stdint.h or inttypes.h defines the type uint8_t, define HAVE_UINT8_T. Otherwise, define uint8_t to an unsigned integer type that is exactly 8 bits wide, if such a type exists.

— Macro: AC_TYPE_UINT16_T

This is like AC_TYPE_UINT8_T, except for 16-bit unsigned integers.

— Macro: AC_TYPE_UINT32_T

This is like AC_TYPE_UINT8_T, except for 32-bit unsigned integers.

— Macro: AC_TYPE_UINT64_T

This is like AC_TYPE_UINT8_T, except for 64-bit unsigned integers.

— Macro: AC_TYPE_UINTMAX_T

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.

— Macro: AC_TYPE_UINTPTR_T

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.

— Macro: AC_TYPE_UNSIGNED_LONG_LONG_INT

If the C compiler supports a working unsigned long long int type, define HAVE_UNSIGNED_LONG_LONG_INT.