5.8.1 Particular Structure Checks

The following macros check for certain structures or structure members.

Macro: AC_STRUCT_DIRENT_D_INO

Perform all the actions of AC_HEADER_DIRENT (see Particular Header Checks). Then, if struct dirent contains a d_ino member, define HAVE_STRUCT_DIRENT_D_INO.

HAVE_STRUCT_DIRENT_D_INO indicates only the presence of d_ino, not whether its contents are always reliable. Traditionally, a zero d_ino indicated a deleted directory entry, though current systems hide this detail from the user and never return zero d_ino values. Many current systems report an incorrect d_ino for a directory entry that is a mount point.

Macro: AC_STRUCT_DIRENT_D_TYPE

Perform all the actions of AC_HEADER_DIRENT (see Particular Header Checks). Then, if struct dirent contains a d_type member, define HAVE_STRUCT_DIRENT_D_TYPE.

Macro: AC_STRUCT_ST_BLOCKS

If struct stat contains an st_blocks member, define HAVE_STRUCT_STAT_ST_BLOCKS. Otherwise, require an AC_LIBOBJ replacement of ‘fileblocks’. The former name, HAVE_ST_BLOCKS is to be avoided, as its support will cease in the future.

This macro caches its result in the ac_cv_member_struct_stat_st_blocks variable.

Macro: AC_STRUCT_TM

If time.h does not define struct tm, define TM_IN_SYS_TIME, which means that including sys/time.h had better define struct tm.

This macro is obsolescent, as time.h defines struct tm in current systems. New programs need not use this macro.

Macro: AC_STRUCT_TIMEZONE

Figure out how to get the current timezone. If struct tm has a tm_zone member, define HAVE_STRUCT_TM_TM_ZONE (and the obsoleted HAVE_TM_ZONE). Otherwise, if the external array tzname is found, define HAVE_TZNAME; if it is declared, define HAVE_DECL_TZNAME.