diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2015-10-30 17:50:42 -0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2015-10-30 17:50:42 -0400 |
commit | ea4421009acdf10bf0a7b26ff22c5afd431690db (patch) | |
tree | 89915d220d6dc218f562e104980c7c25a9f748ce | |
parent | 7711f97842bc713f668a0686e9cb44322fe53f8c (diff) | |
download | perl-ea4421009acdf10bf0a7b26ff22c5afd431690db.tar.gz |
Revert "Remove unused filesystem stat symbols."
This reverts commit 821805a244cacd9869331999cd53407f3323206a.
What's out, is out.
perl #107904 Filesys-Df
perl #108189 Filesys-DfPortable
perl #108191 Filesys-Statvfs
perl #126368 Filesys-DfPortable
-rwxr-xr-x | Configure | 129 | ||||
-rw-r--r-- | Cross/config.sh-arm-linux | 17 | ||||
-rw-r--r-- | Cross/config.sh-arm-linux-n770 | 17 | ||||
-rw-r--r-- | NetWare/config.wc | 17 | ||||
-rw-r--r-- | NetWare/config_H.wc | 99 | ||||
-rw-r--r-- | Porting/Glossary | 73 | ||||
-rw-r--r-- | Porting/config.sh | 17 | ||||
-rw-r--r-- | Porting/config_H | 100 | ||||
-rwxr-xr-x | config_h.SH | 100 | ||||
-rw-r--r-- | configure.com | 32 | ||||
-rw-r--r-- | hints/linux-android.sh | 12 | ||||
-rw-r--r-- | perl.c | 8 | ||||
-rw-r--r-- | plan9/config.plan9 | 99 | ||||
-rw-r--r-- | plan9/config_h.sample | 99 | ||||
-rw-r--r-- | plan9/config_sh.sample | 17 | ||||
-rw-r--r-- | symbian/config.sh | 17 | ||||
-rw-r--r-- | uconfig.h | 100 | ||||
-rw-r--r-- | uconfig.sh | 17 | ||||
-rw-r--r-- | uconfig64.sh | 17 | ||||
-rw-r--r-- | win32/config.ce | 17 | ||||
-rw-r--r-- | win32/config.gc | 17 | ||||
-rw-r--r-- | win32/config.vc | 17 | ||||
-rw-r--r-- | win32/config_H.ce | 99 | ||||
-rw-r--r-- | win32/config_H.gc | 100 | ||||
-rw-r--r-- | win32/config_H.vc | 100 |
25 files changed, 1337 insertions, 0 deletions
@@ -496,8 +496,10 @@ d_fpclassl='' d_fpgetround='' d_fpos64_t='' d_frexpl='' +d_fs_data_s='' d_fseeko='' d_fsetpos='' +d_fstatfs='' d_fsync='' d_ftello='' d_ftime='' @@ -507,6 +509,7 @@ d_Gconvert='' d_getaddrinfo='' d_getcwd='' d_getespwnam='' +d_getfsstat='' d_getgrent='' d_getgrent_r='' getgrent_r_proto='' @@ -533,6 +536,8 @@ d_getitimer='' d_getlogin='' d_getlogin_r='' getlogin_r_proto='' +d_getmnt='' +d_getmntent='' d_getnameinfo='' d_getnbyaddr='' d_getnbyname='' @@ -586,6 +591,7 @@ d_gmtime_r='' gmtime_r_proto='' d_gnulibc='' gnulibc_version='' +d_hasmntopt='' d_htonl='' d_hypot='' d_ilogb='' @@ -816,8 +822,12 @@ d_sresgproto='' d_sresuproto='' d_stat='' d_statblks='' +d_statfs_f_flags='' +d_statfs_s='' d_static_inline='' perl_static_inline='' +d_fstatvfs='' +d_statvfs='' d_stdio_cnt_lval='' d_stdio_ptr_lval='' d_stdio_ptr_lval_nochange_cnt='' @@ -889,6 +899,7 @@ d_unordered='' d_unsetenv='' d_usleep='' d_usleepproto='' +d_ustat='' d_pseudofork='' d_vfork='' usevfork='' @@ -971,6 +982,7 @@ i_malloc='' i_mallocmalloc='' i_math='' i_memory='' +i_mntent='' d_gdbm_ndbm_h_uses_prototypes='' d_gdbmndbm_h_uses_prototypes='' d_ndbm='' @@ -1016,6 +1028,7 @@ i_syssockio='' i_syslog='' i_sysmman='' i_sysmode='' +i_sysmount='' i_sysndir='' i_sysparam='' i_syspoll='' @@ -1023,11 +1036,14 @@ i_sysresrc='' i_syssecrt='' i_sysselct='' i_sysstat='' +i_sysstatfs='' +i_sysstatvfs='' i_systimes='' i_systypes='' i_sysuio='' i_sysun='' i_sysutsname='' +i_sysvfs='' i_syswait='' i_sgtty='' i_termio='' @@ -1039,6 +1055,7 @@ i_systimek='' i_time='' timeincl='' i_unistd='' +i_ustat='' i_utime='' i_values='' i_stdarg='' @@ -14073,6 +14090,20 @@ eval $inlibc set sys/param.h i_sysparam eval $inhdr +: see if this is a sys/mount.h system +set sys/mount.h i_sysmount +eval $inhdr + +: Check for fs_data_s +echo " " +echo "Checking to see if your system supports struct fs_data..." >&4 +set d_fs_data_s fs_data $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h +eval $hasstruct +case "$d_fs_data_s" in +"$define") echo "Yes, it does." ;; +*) echo "No, it doesn't." ;; +esac + : see if fseeko exists set fseeko d_fseeko eval $inlibc @@ -14084,6 +14115,19 @@ esac set fsetpos d_fsetpos eval $inlibc +: see if fstatfs exists +set fstatfs d_fstatfs +eval $inlibc + +: see if statvfs exists +set statvfs d_statvfs +eval $inlibc + +: see if fstatvfs exists +set fstatvfs d_fstatvfs +eval $inlibc + + : see if fsync exists set fsync d_fsync eval $inlibc @@ -14196,6 +14240,10 @@ eval $inlibc set getespwnam d_getespwnam eval $inlibc +: see if getfsstat exists +set getfsstat d_getfsstat +eval $inlibc + : see if getgrent exists set getgrent d_getgrent eval $inlibc @@ -14725,6 +14773,14 @@ case "$d_getlogin_r" in ;; esac +: see if getmnt exists +set getmnt d_getmnt +eval $inlibc + +: see if getmntent exists +set getmntent d_getmntent +eval $inlibc + : see if getnameinfo exists set getnameinfo d_getnameinfo eval $inlibc @@ -15581,6 +15637,10 @@ case "$d_gmtime_r" in ;; esac +: see if hasmntopt exists +set hasmntopt d_hasmntopt +eval $inlibc + : see if this is a netinet/in.h or sys/in.h system set netinet/in.h i_niin sys/in.h i_sysin eval $inhdr @@ -18865,6 +18925,43 @@ echo "Checking to see if your struct stat has st_blocks field..." >&4 set d_statblks stat st_blocks $i_sysstat sys/stat.h eval $hasfield +: see if this is a sys/vfs.h system +set sys/vfs.h i_sysvfs +eval $inhdr + +: see if this is a sys/statfs.h system +set sys/statfs.h i_sysstatfs +eval $inhdr + +: Check for statfs_s +echo " " +echo "Checking to see if your system supports struct statfs..." >&4 +set d_statfs_s statfs $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h $i_sysvfs sys/vfs.h $i_sysstatfs sys/statfs.h +eval $hasstruct +case "$d_statfs_s" in +"$define") echo "Yes, it does." ;; +*) echo "No, it doesn't." ;; +esac + + +: see if struct statfs knows about f_flags +case "$d_statfs_s" in +define) + echo " " + echo "Checking to see if your struct statfs has f_flags field..." >&4 + set d_statfs_f_flags statfs f_flags $i_systypes sys/types.h $i_sysparam sys/param.h $i_sysmount sys/mount.h $i_sysvfs sys/vfs.h $i_sysstatfs sys/statfs.h + eval $hasfield + ;; +*) val="$undef" + set d_statfs_f_flags + eval $setvar + ;; +esac +case "$d_statfs_f_flags" in +"$define") echo "Yes, it does." ;; +*) echo "No, it doesn't." ;; +esac + : see what flavor, if any, of static inline is supported echo " " echo "Checking to see if your system supports static inline..." @@ -19818,6 +19915,10 @@ echo " " set d_usleepproto usleep $i_unistd unistd.h eval $hasproto +: see if ustat exists +set ustat d_ustat +eval $inlibc + : see if closedir exists set closedir d_closedir eval $inlibc @@ -22888,6 +22989,10 @@ else i_machcthr="$undef" fi +: see if this is a mntent.h system +set mntent.h i_mntent +eval $inhdr + : see if net/errno.h is available val='' set net/errno.h val @@ -23328,6 +23433,10 @@ eval $inhdr set sys/security.h i_syssecrt eval $inhdr +: see if this is a sys/statvfs.h system +set sys/statvfs.h i_sysstatvfs +eval $inhdr + : see if this is a sys/un.h system set sys/un.h i_sysun eval $inhdr @@ -23340,6 +23449,10 @@ eval $inhdr set sys/wait.h i_syswait eval $inhdr +: see if this is a ustat.h system +set ustat.h i_ustat +eval $inhdr + : see if this is an utime system set utime.h i_utime eval $inhdr @@ -24089,6 +24202,8 @@ d_frexpl='$d_frexpl' d_fs_data_s='$d_fs_data_s' d_fseeko='$d_fseeko' d_fsetpos='$d_fsetpos' +d_fstatfs='$d_fstatfs' +d_fstatvfs='$d_fstatvfs' d_fsync='$d_fsync' d_ftello='$d_ftello' d_ftime='$d_ftime' @@ -24098,6 +24213,7 @@ d_gdbmndbm_h_uses_prototypes='$d_gdbmndbm_h_uses_prototypes' d_getaddrinfo='$d_getaddrinfo' d_getcwd='$d_getcwd' d_getespwnam='$d_getespwnam' +d_getfsstat='$d_getfsstat' d_getgrent='$d_getgrent' d_getgrent_r='$d_getgrent_r' d_getgrgid_r='$d_getgrgid_r' @@ -24114,6 +24230,8 @@ d_gethostprotos='$d_gethostprotos' d_getitimer='$d_getitimer' d_getlogin='$d_getlogin' d_getlogin_r='$d_getlogin_r' +d_getmnt='$d_getmnt' +d_getmntent='$d_getmntent' d_getnameinfo='$d_getnameinfo' d_getnbyaddr='$d_getnbyaddr' d_getnbyname='$d_getnbyname' @@ -24154,6 +24272,7 @@ d_gmtime64='$d_gmtime64' d_gmtime_r='$d_gmtime_r' d_gnulibc='$d_gnulibc' d_grpasswd='$d_grpasswd' +d_hasmntopt='$d_hasmntopt' d_htonl='$d_htonl' d_hypot='$d_hypot' d_ilogb='$d_ilogb' @@ -24383,7 +24502,10 @@ d_sresgproto='$d_sresgproto' d_sresuproto='$d_sresuproto' d_stat='$d_stat' d_statblks='$d_statblks' +d_statfs_f_flags='$d_statfs_f_flags' +d_statfs_s='$d_statfs_s' d_static_inline='$d_static_inline' +d_statvfs='$d_statvfs' d_stdio_cnt_lval='$d_stdio_cnt_lval' d_stdio_ptr_lval='$d_stdio_ptr_lval' d_stdio_ptr_lval_nochange_cnt='$d_stdio_ptr_lval_nochange_cnt' @@ -24442,6 +24564,7 @@ d_unordered='$d_unordered' d_unsetenv='$d_unsetenv' d_usleep='$d_usleep' d_usleepproto='$d_usleepproto' +d_ustat='$d_ustat' d_vendorarch='$d_vendorarch' d_vendorbin='$d_vendorbin' d_vendorlib='$d_vendorlib' @@ -24592,6 +24715,7 @@ i_malloc='$i_malloc' i_mallocmalloc='$i_mallocmalloc' i_math='$i_math' i_memory='$i_memory' +i_mntent='$i_mntent' i_ndbm='$i_ndbm' i_netdb='$i_netdb' i_neterrno='$i_neterrno' @@ -24622,6 +24746,7 @@ i_sysioctl='$i_sysioctl' i_syslog='$i_syslog' i_sysmman='$i_sysmman' i_sysmode='$i_sysmode' +i_sysmount='$i_sysmount' i_sysndir='$i_sysndir' i_sysparam='$i_sysparam' i_syspoll='$i_syspoll' @@ -24630,6 +24755,8 @@ i_syssecrt='$i_syssecrt' i_sysselct='$i_sysselct' i_syssockio='$i_syssockio' i_sysstat='$i_sysstat' +i_sysstatfs='$i_sysstatfs' +i_sysstatvfs='$i_sysstatvfs' i_systime='$i_systime' i_systimek='$i_systimek' i_systimes='$i_systimes' @@ -24637,11 +24764,13 @@ i_systypes='$i_systypes' i_sysuio='$i_sysuio' i_sysun='$i_sysun' i_sysutsname='$i_sysutsname' +i_sysvfs='$i_sysvfs' i_syswait='$i_syswait' i_termio='$i_termio' i_termios='$i_termios' i_time='$i_time' i_unistd='$i_unistd' +i_ustat='$i_ustat' i_utime='$i_utime' i_values='$i_values' i_varargs='$i_varargs' diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux index 85d4abb114..cff0e036ef 100644 --- a/Cross/config.sh-arm-linux +++ b/Cross/config.sh-arm-linux @@ -222,8 +222,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='define' +d_fs_data_s='undef' d_fseeko='define' d_fsetpos='define' +d_fstatfs='define' +d_fstatvfs='define' d_fsync='define' d_ftello='define' d_ftime='undef' @@ -233,6 +236,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='define' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -249,6 +253,8 @@ d_gethostprotos='define' d_getitimer='define' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='define' d_getnameinfo='undef' d_getnbyaddr='define' d_getnbyname='define' @@ -289,6 +295,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='define' d_grpasswd='define' +d_hasmntopt='define' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -514,7 +521,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='define' +d_statfs_f_flags='undef' +d_statfs_s='define' d_static_inline='undef' +d_statvfs='define' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='define' d_stdio_ptr_lval_nochange_cnt='undef' @@ -573,6 +583,7 @@ d_unordered='undef' d_unsetenv='define' d_usleep='define' d_usleepproto='define' +d_ustat='define' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -719,6 +730,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='define' i_ndbm='undef' i_netdb='define' i_neterrno='undef' @@ -749,6 +761,7 @@ i_sysioctl='define' i_syslog='define' i_sysmman='define' i_sysmode='undef' +i_sysmount='define' i_sysndir='undef' i_sysparam='define' i_syspoll='undef' @@ -757,6 +770,8 @@ i_syssecrt='undef' i_sysselct='define' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='define' +i_sysstatvfs='define' i_systime='define' i_systimek='undef' i_systimes='define' @@ -764,11 +779,13 @@ i_systypes='define' i_sysuio='define' i_sysun='define' i_sysutsname='define' +i_sysvfs='define' i_syswait='define' i_termio='undef' i_termios='define' i_time='define' i_unistd='define' +i_ustat='define' i_utime='define' i_values='define' i_varargs='undef' diff --git a/Cross/config.sh-arm-linux-n770 b/Cross/config.sh-arm-linux-n770 index 6c803248c2..6ab342ad01 100644 --- a/Cross/config.sh-arm-linux-n770 +++ b/Cross/config.sh-arm-linux-n770 @@ -197,14 +197,18 @@ d_fpclassify='undef' d_fpclassl='undef' d_fpos64_t='undef' d_frexpl='define' +d_fs_data_s='undef' d_fseeko='define' d_fsetpos='define' +d_fstatfs='define' +d_fstatvfs='define' d_fsync='define' d_ftello='define' d_ftime='undef' d_futimes='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='define' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -221,6 +225,8 @@ d_gethostprotos='define' d_getitimer='define' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='define' d_getnbyaddr='define' d_getnbyname='define' d_getnent='define' @@ -259,6 +265,7 @@ d_gettimeod='define' d_gmtime_r='undef' d_gnulibc='define' d_grpasswd='define' +d_hasmntopt='define' d_htonl='define' d_ilogbl='define' d_inc_version_list='define' @@ -434,6 +441,9 @@ d_srandom_r='undef' d_sresgproto='undef' d_sresuproto='undef' d_statblks='define' +d_statfs_f_flags='undef' +d_statfs_s='define' +d_statvfs='define' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='define' d_stdio_ptr_lval_nochange_cnt='undef' @@ -489,6 +499,7 @@ d_unordered='undef' d_unsetenv='define' d_usleep='define' d_usleepproto='define' +d_ustat='define' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -625,6 +636,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='define' i_ndbm='undef' i_netdb='define' i_neterrno='undef' @@ -652,6 +664,7 @@ i_sysioctl='define' i_syslog='define' i_sysmman='define' i_sysmode='undef' +i_sysmount='define' i_sysndir='undef' i_syspoll='define' i_sysparam='define' @@ -660,6 +673,8 @@ i_syssecrt='undef' i_sysselct='define' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='define' +i_sysstatvfs='define' i_systime='define' i_systimek='undef' i_systimes='define' @@ -667,11 +682,13 @@ i_systypes='define' i_sysuio='define' i_sysun='define' i_sysutsname='define' +i_sysvfs='define' i_syswait='define' i_termio='undef' i_termios='define' i_time='define' i_unistd='define' +i_ustat='define' i_utime='define' i_values='define' i_varargs='undef' diff --git a/NetWare/config.wc b/NetWare/config.wc index 7e80150967..e70b4dfd16 100644 --- a/NetWare/config.wc +++ b/NetWare/config.wc @@ -210,8 +210,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='define' @@ -221,6 +224,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -237,6 +241,8 @@ d_gethostprotos='define' d_getitimer='undef' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -278,6 +284,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -504,7 +511,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='undef' +d_statvfs='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdio_ptr_lval_nochange_cnt='undef' @@ -563,6 +573,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -701,6 +712,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='define' i_neterrno='undef' @@ -731,6 +743,7 @@ i_sysioctl='define' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -739,6 +752,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='define' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='undef' @@ -746,11 +761,13 @@ i_systypes='define' i_sysuio='undef' i_sysun='undef' i_sysutsname='define' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='define' i_unistd='undef' +i_ustat='undef' i_utime='define' i_values='undef' i_varargs='undef' diff --git a/NetWare/config_H.wc b/NetWare/config_H.wc index 6df3ad5a5a..d98d830b1a 100644 --- a/NetWare/config_H.wc +++ b/NetWare/config_H.wc @@ -1313,12 +1313,24 @@ */ /*#define HAS_FREXPL /**/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA /**/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO /**/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS /**/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -1361,6 +1373,12 @@ */ /*#define HAS_GETESPWNAM /**/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT /**/ + /* HAS_GETGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for sequential access of the group database. @@ -1428,6 +1446,18 @@ */ /*#define HAS_GETITIMER /**/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT /**/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT /**/ + /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. @@ -1550,6 +1580,11 @@ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT /**/ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl() routine (and @@ -2005,6 +2040,29 @@ /*#define USE_STAT_BLOCKS /**/ #endif +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS /**/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS /**/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS /**/ + /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer @@ -2180,6 +2238,12 @@ /*#define USE_SEMCTL_SEMUN /**/ /*#define USE_SEMCTL_SEMID_DS /**/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT /**/ + /* HAS_VFORK: * This symbol, if defined, indicates that vfork() exists. */ @@ -2395,6 +2459,12 @@ */ /*#define I_MACH_CTHREADS /**/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT /**/ + /* I_NETDB: * This symbol, if defined, indicates that <netdb.h> exists and * should be included. @@ -2501,6 +2571,23 @@ */ /*#define I_SYSMODE /**/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT /**/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS /**/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS /**/ + /* I_SYSUIO: * This symbol, if defined, indicates that <sys/uio.h> exists and * should be included. @@ -2513,6 +2600,12 @@ */ #define I_SYSUTSNAME /**/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS /**/ + /* I_TIME: * This symbol, if defined, indicates to the C program that it should * include <time.h>. @@ -2529,6 +2622,12 @@ /*#define I_SYS_TIME /**/ /*#define I_SYS_TIME_KERNEL /**/ +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT /**/ + /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over * which perl.c:incpush() and lib/lib.pm will automatically diff --git a/Porting/Glossary b/Porting/Glossary index ae8cc79261..68ee298416 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -932,6 +932,10 @@ d_frexpl (d_frexpl.U): This variable conditionally defines the HAS_FREXPL symbol, which indicates to the C program that the frexpl() routine is available. +d_fs_data_s (d_fs_data_s.U): + This variable conditionally defines the HAS_STRUCT_FS_DATA symbol, + which indicates that the struct fs_data is supported. + d_fseeko (d_fseeko.U): This variable conditionally defines the HAS_FSEEKO symbol, which indicates to the C program that the fseeko() routine is available. @@ -940,6 +944,14 @@ d_fsetpos (d_fsetpos.U): This variable conditionally defines HAS_FSETPOS if fsetpos() is available to set the file position indicator. +d_fstatfs (d_fstatfs.U): + This variable conditionally defines the HAS_FSTATFS symbol, which + indicates to the C program that the fstatfs() routine is available. + +d_fstatvfs (d_statvfs.U): + This variable conditionally defines the HAS_FSTATVFS symbol, which + indicates to the C program that the fstatvfs() routine is available. + d_fsync (d_fsync.U): This variable conditionally defines the HAS_FSYNC symbol, which indicates to the C program that the fsync() routine is available. @@ -1010,6 +1022,10 @@ d_getespwnam (d_getespwnam.U): This variable conditionally defines HAS_GETESPWNAM if getespwnam() is available to retrieve enhanced (shadow) password entries by name. +d_getfsstat (d_getfsstat.U): + This variable conditionally defines the HAS_GETFSSTAT symbol, which + indicates to the C program that the getfsstat() routine is available. + d_getgrent (d_getgrent.U): This variable conditionally defines the HAS_GETGRENT symbol, which indicates to the C program that the getgrent() routine is available @@ -1089,6 +1105,16 @@ d_getlogin_r (d_getlogin_r.U): which indicates to the C program that the getlogin_r() routine is available. +d_getmnt (d_getmnt.U): + This variable conditionally defines the HAS_GETMNT symbol, which + indicates to the C program that the getmnt() routine is available + to retrieve one or more mount info blocks by filename. + +d_getmntent (d_getmntent.U): + This variable conditionally defines the HAS_GETMNTENT symbol, which + indicates to the C program that the getmntent() routine is available + to iterate through mounted files to get their mount info. + d_getnameinfo (d_getnameinfo.U): This variable conditionally defines the HAS_GETNAMEINFO symbol, which indicates to the C program that the getnameinfo() function @@ -1284,6 +1310,11 @@ d_grpasswd (i_grp.U): This variable conditionally defines GRPASSWD, which indicates that struct group in <grp.h> contains gr_passwd. +d_hasmntopt (d_hasmntopt.U): + This variable conditionally defines the HAS_HASMNTOPT symbol, which + indicates to the C program that the hasmntopt() routine is available + to query the mount options of file systems. + d_htonl (d_htonl.U): This variable conditionally defines HAS_HTONL if htonl() and its friends are available to do network order byte swapping. @@ -2362,12 +2393,26 @@ d_statblks (d_statblks.U): if this system has a stat structure declaring st_blksize and st_blocks. +d_statfs_f_flags (d_statfs_f_flags.U): + This variable conditionally defines the HAS_STRUCT_STATFS_F_FLAGS + symbol, which indicates to struct statfs from has f_flags member. + This kind of struct statfs is coming from sys/mount.h (BSD), + not from sys/statfs.h (SYSV). + +d_statfs_s (d_statfs_s.U): + This variable conditionally defines the HAS_STRUCT_STATFS symbol, + which indicates that the struct statfs is supported. + d_static_inline (d_static_inline.U): This variable conditionally defines the HAS_STATIC_INLINE symbol, which indicates that the C compiler supports C99-style static inline. That is, the function can't be called from another translation unit. +d_statvfs (d_statvfs.U): + This variable conditionally defines the HAS_STATVFS symbol, which + indicates to the C program that the statvfs() routine is available. + d_stdio_cnt_lval (d_stdstdio.U): This variable conditionally defines STDIO_CNT_LVALUE if the FILE_cnt macro can be used as an lvalue. @@ -2630,6 +2675,10 @@ d_usleepproto (d_usleepproto.U): a prototype for the usleep() function. Otherwise, it is up to the program to supply one. +d_ustat (d_ustat.U): + This variable conditionally defines HAS_USTAT if ustat() is + available to query file system statistics by dev_t. + d_vendorarch (vendorarch.U): This variable conditionally defined PERL_VENDORARCH. @@ -3361,6 +3410,10 @@ i_memory (i_memory.U): This variable conditionally defines the I_MEMORY symbol, and indicates whether a C program should include <memory.h>. +i_mntent (i_mntent.U): + This variable conditionally defines the I_MNTENT symbol, and indicates + whether a C program should include <mntent.h>. + i_ndbm (i_ndbm.U): This variable conditionally defines the I_NDBM symbol, which indicates to the C program that <ndbm.h> exists and should @@ -3494,6 +3547,10 @@ i_sysmode (i_sysmode.U): This variable conditionally defines the I_SYSMODE symbol, and indicates whether a C program should include <sys/mode.h>. +i_sysmount (i_sysmount.U): + This variable conditionally defines the I_SYSMOUNT symbol, + and indicates whether a C program should include <sys/mount.h>. + i_sysndir (i_sysndir.U): This variable conditionally defines the I_SYS_NDIR symbol, and indicates whether a C program should include <sys/ndir.h>. @@ -3528,6 +3585,14 @@ i_sysstat (i_sysstat.U): This variable conditionally defines the I_SYS_STAT symbol, and indicates whether a C program should include <sys/stat.h>. +i_sysstatfs (i_sysstatfs.U): + This variable conditionally defines the I_SYSSTATFS symbol, + and indicates whether a C program should include <sys/statfs.h>. + +i_sysstatvfs (i_sysstatvfs.U): + This variable conditionally defines the I_SYSSTATVFS symbol, + and indicates whether a C program should include <sys/statvfs.h>. + i_systime (i_time.U): This variable conditionally defines I_SYS_TIME, which indicates to the C program that it should include <sys/time.h>. @@ -3558,6 +3623,10 @@ i_sysutsname (i_sysutsname.U): This variable conditionally defines the I_SYSUTSNAME symbol, and indicates whether a C program should include <sys/utsname.h>. +i_sysvfs (i_sysvfs.U): + This variable conditionally defines the I_SYSVFS symbol, + and indicates whether a C program should include <sys/vfs.h>. + i_syswait (i_syswait.U): This variable conditionally defines I_SYS_WAIT, which indicates to the C program that it should include <sys/wait.h>. @@ -3580,6 +3649,10 @@ i_unistd (i_unistd.U): This variable conditionally defines the I_UNISTD symbol, and indicates whether a C program should include <unistd.h>. +i_ustat (i_ustat.U): + This variable conditionally defines the I_USTAT symbol, and indicates + whether a C program should include <ustat.h>. + i_utime (i_utime.U): This variable conditionally defines the I_UTIME symbol, and indicates whether a C program should include <utime.h>. diff --git a/Porting/config.sh b/Porting/config.sh index d22437c11f..b7e75bd311 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -231,8 +231,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='define' +d_fs_data_s='undef' d_fseeko='define' d_fsetpos='define' +d_fstatfs='define' +d_fstatvfs='define' d_fsync='define' d_ftello='define' d_ftime='undef' @@ -242,6 +245,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='define' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='define' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -258,6 +262,8 @@ d_gethostprotos='define' d_getitimer='define' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='define' d_getnameinfo='define' d_getnbyaddr='define' d_getnbyname='define' @@ -298,6 +304,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='define' d_grpasswd='define' +d_hasmntopt='define' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -525,7 +532,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='define' +d_statfs_f_flags='define' +d_statfs_s='define' d_static_inline='define' +d_statvfs='define' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='define' d_stdio_ptr_lval_nochange_cnt='undef' @@ -584,6 +594,7 @@ d_unordered='undef' d_unsetenv='define' d_usleep='define' d_usleepproto='define' +d_ustat='define' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -734,6 +745,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='define' i_ndbm='define' i_netdb='define' i_neterrno='undef' @@ -764,6 +776,7 @@ i_sysioctl='define' i_syslog='define' i_sysmman='define' i_sysmode='undef' +i_sysmount='define' i_sysndir='undef' i_sysparam='define' i_syspoll='define' @@ -772,6 +785,8 @@ i_syssecrt='undef' i_sysselct='define' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='define' +i_sysstatvfs='define' i_systime='define' i_systimek='undef' i_systimes='define' @@ -779,11 +794,13 @@ i_systypes='define' i_sysuio='define' i_sysun='define' i_sysutsname='define' +i_sysvfs='define' i_syswait='define' i_termio='undef' i_termios='define' i_time='define' i_unistd='define' +i_ustat='define' i_utime='define' i_values='define' i_varargs='undef' diff --git a/Porting/config_H b/Porting/config_H index 1b9337a026..08ff181dab 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -3304,12 +3304,24 @@ */ #define HAS_FREXPL /**/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA / **/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ #define HAS_FSEEKO /**/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +#define HAS_FSTATFS /**/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -3347,12 +3359,30 @@ */ /*#define HAS_GETESPWNAM / **/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT / **/ + /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ #define HAS_GETITIMER /**/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT / **/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +#define HAS_GETMNTENT /**/ + /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. @@ -3371,6 +3401,12 @@ */ #define HAS_GETSPNAM /**/ +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +#define HAS_HASMNTOPT /**/ + /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. @@ -3666,6 +3702,29 @@ */ /*#define HAS_SETRESUID_PROTO / **/ +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +#define HAS_STRUCT_STATFS /**/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +#define HAS_FSTATVFS /**/ + /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. @@ -3803,6 +3862,12 @@ */ #define HAS_USLEEP_PROTO /**/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +#define HAS_USTAT /**/ + /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. @@ -3913,6 +3978,12 @@ */ /*#define I_MALLOCMALLOC / **/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +#define I_MNTENT /**/ + /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. @@ -3961,12 +4032,41 @@ */ /*#define I_SYSMODE / **/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +#define I_SYS_MOUNT /**/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +#define I_SYS_STATFS /**/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +#define I_SYS_STATVFS /**/ + /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ #define I_SYSUTSNAME /**/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +#define I_SYS_VFS /**/ + +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +#define I_USTAT /**/ + /* PERL_PRIfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for output. diff --git a/config_h.SH b/config_h.SH index 8bc6b9868e..aa806cfe2d 100755 --- a/config_h.SH +++ b/config_h.SH @@ -3711,12 +3711,24 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_frexpl HAS_FREXPL /**/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +#$d_fs_data_s HAS_STRUCT_FS_DATA /**/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ #$d_fseeko HAS_FSEEKO /**/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +#$d_fstatfs HAS_FSTATFS /**/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -3754,12 +3766,30 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_getespwnam HAS_GETESPWNAM /**/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +#$d_getfsstat HAS_GETFSSTAT /**/ + /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ #$d_getitimer HAS_GETITIMER /**/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +#$d_getmnt HAS_GETMNT /**/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +#$d_getmntent HAS_GETMNTENT /**/ + /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. @@ -3778,6 +3808,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_getspnam HAS_GETSPNAM /**/ +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +#$d_hasmntopt HAS_HASMNTOPT /**/ + /* HAS_HYPOT: * This symbol, if defined, indicates that the hypot routine is * available to do the hypotenuse function. @@ -4287,6 +4323,29 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_sresuproto HAS_SETRESUID_PROTO /**/ +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +#$d_statfs_f_flags HAS_STRUCT_STATFS_F_FLAGS /**/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +#$d_statfs_s HAS_STRUCT_STATFS /**/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +#$d_fstatvfs HAS_FSTATVFS /**/ + /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. @@ -4442,6 +4501,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$d_usleepproto HAS_USLEEP_PROTO /**/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +#$d_ustat HAS_USTAT /**/ + /* HAS_WCSCMP: * This symbol, if defined, indicates that the wcscmp routine is * available to compare two wide character strings. @@ -4578,6 +4643,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_mallocmalloc I_MALLOCMALLOC /**/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +#$i_mntent I_MNTENT /**/ + /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. @@ -4644,12 +4715,41 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$i_sysmode I_SYSMODE /**/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +#$i_sysmount I_SYS_MOUNT /**/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +#$i_sysstatfs I_SYS_STATFS /**/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +#$i_sysstatvfs I_SYS_STATVFS /**/ + /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ #$i_sysutsname I_SYSUTSNAME /**/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +#$i_sysvfs I_SYS_VFS /**/ + +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +#$i_ustat I_USTAT /**/ + /* DOUBLEINFBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes for the double precision infinity. diff --git a/configure.com b/configure.com index 53fdd6afb2..f882e633d3 100644 --- a/configure.com +++ b/configure.com @@ -5277,6 +5277,20 @@ $ d_setreuid = "define" $ d_setsid = "define" $ endif $! +$! VMS V8 powered options +$! We know that it is only available for 8.2 and later on 64 bit platforms. +$! +$ d_fstatvfs = "undef" +$ d_statvfs = "undef" +$ i_sysstatvfs = "undef" +$ if (vms_ver .GES. "8.2") +$ then +$ echo "Found 64 bit OpenVMS ''vms_ver' -- will build with 8.2 routines" +$ d_fstatvfs = "define" +$ d_statvfs = "define" +$ i_sysstatvfs = "define" +$ endif +$! $! Check rand48 and its ilk $! $ echo4 "Using our internal random number implementation..." @@ -6024,8 +6038,11 @@ $ WC "d_fpclassl='undef'" $ WC "d_fpgetround='undef'" $ WC "d_fpos64_t='" + d_fpos64_t + "'" $ WC "d_frexpl='" + d_frexpl + "'" +$ WC "d_fs_data_s='undef'" $ WC "d_fseeko='" + d_fseeko + "'" $ WC "d_fsetpos='define'" +$ WC "d_fstatfs='undef'" +$ WC "d_fstatvfs='" + d_fstatvfs + "'" $ WC "d_fsync='define'" $ WC "d_ftello='" + d_ftello + "'" $ WC "d_ftime='define'" @@ -6035,6 +6052,7 @@ $ WC "d_gdbm_ndbm_h_uses_prototypes='undef'" $ WC "d_getaddrinfo='define'" $ WC "d_getcwd='define'" $ WC "d_getespwnam='undef'" +$ WC "d_getfsstat='undef'" $ WC "d_getgrent='define'" $ WC "d_getgrps='undef'" $ WC "d_gethbyaddr='" + d_gethbyaddr + "'" @@ -6044,6 +6062,8 @@ $ WC "d_gethname='" + d_gethname + "'" $ WC "d_gethostprotos='" + d_gethostprotos + "'" $ WC "d_getitimer='" + d_getitimer + "'" $ WC "d_getlogin='define'" +$ WC "d_getmnt='undef'" +$ WC "d_getmntent='undef'" $ WC "d_getnameinfo='define'" $ WC "d_getnbyaddr='" + d_getnbyaddr + "'" $ WC "d_getnbyname='" + d_getnbyname + "'" @@ -6070,6 +6090,7 @@ $ WC "d_gettimeod='" + d_gettimeod + "'" $ WC "d_gmtime64='undef'" $ WC "d_gnulibc='undef'" $ WC "d_grpasswd='undef'" +$ WC "d_hasmntopt='undef'" $ WC "d_htonl='" + d_htonl + "'" $ WC "d_hypot='" + d_hypot + "'" $ WC "d_ilogb='" + d_ilogb + "'" @@ -6298,6 +6319,9 @@ $ WC "d_sresproto='undef'" $ WC "d_sresuproto='undef'" $ WC "d_stat='define'" $ WC "d_statblks='undef'" +$ WC "d_statfs_f_flags='undef'" +$ WC "d_statfs_s='undef'" +$ WC "d_statfsflags='undef'" $ WC "d_static_inline='define'" $ WC "d_stdio_cnt_lval='" + d_stdio_cnt_lval + "'" $ WC "d_stdio_ptr_lval='" + d_stdio_ptr_lval + "'" @@ -6307,6 +6331,7 @@ $ WC "d_stdio_stream_array='undef'" $ WC "d_stdiobase='" + d_stdiobase + "'" $ WC "d_stdstdio='" + d_stdstdio + "'" $ WC "d_faststdio='" + d_faststdio + "'" +$ WC "d_statvfs='" + d_statvfs + "'" $ WC "d_strchr='define'" $ WC "d_strcoll='" + d_strcoll + "'" $ WC "d_strctcpy='define'" @@ -6363,6 +6388,7 @@ $ WC "d_unsetenv='" + d_unsetenv + "'" $ WC "d_clearenv='" + d_clearenv + "'" $ WC "d_usleep='" + d_usleep + "'" $ WC "d_usleepproto='" + d_usleep + "'" +$ WC "d_ustat='undef'" $ WC "d_vendorarch='undef'" $ WC "d_vendorbin='undef'" $ WC "d_vendorlib='undef'" @@ -6474,6 +6500,7 @@ $ WC "i_malloc='undef'" $ WC "i_mallocmalloc='undef'" $ WC "i_math='define'" $ WC "i_memory='undef'" +$ WC "i_mntent='undef'" $ WC "i_ndbm='undef'" $ WC "i_netdb='" + i_netdb + "'" $ WC "i_neterrno='define'" @@ -6509,6 +6536,7 @@ $ WC "i_sysioctl='" + i_sysioctl + "'" $ WC "i_syslog='" + i_syslog + "'" $ WC "i_sysmman='undef'" $ WC "i_sysmode='" + i_sysmode + "'" +$ WC "i_sysmount='undef'" $ WC "i_sysndir='undef'" $ WC "i_sysparam='undef'" $ WC "i_syspoll='" + i_syspoll + "'" @@ -6517,6 +6545,8 @@ $ WC "i_syssecrt='" + i_syssecrt + "'" $ WC "i_sysselct='undef'" $ WC "i_syssockio='undef'" $ WC "i_sysstat='define'" +$ WC "i_sysstatfs='undef'" +$ WC "i_sysstatvfs='" + i_sysstatvfs + "'" $ WC "i_systime='undef'" $ WC "i_systimek='undef'" $ WC "i_systimes='undef'" @@ -6524,11 +6554,13 @@ $ WC "i_systypes='define'" $ WC "i_sysuio='" + i_sysuio + "'" $ WC "i_sysun='" + i_sysun + "'" $ WC "i_sysutsname='" + i_sysutsname + "'" +$ WC "i_sysvfs='undef'" $ WC "i_syswait='undef'" $ WC "i_termio='undef'" $ WC "i_termios='undef'" $ WC "i_time='define'" $ WC "i_unistd='" + i_unistd + "'" +$ WC "i_ustat='undef'" $ WC "i_utime='" + i_utime + "'" $ WC "i_values='undef'" $ WC "i_varargs='undef'" diff --git a/hints/linux-android.sh b/hints/linux-android.sh index 51fd5f51f6..6a59cb726e 100644 --- a/hints/linux-android.sh +++ b/hints/linux-android.sh @@ -80,6 +80,18 @@ if test "X$android_warn" != X; then fi $cat > try.c << 'EOM' +#include <stdio.h> +#include <mntent.h> +#include <unistd.h> +int main() { (void) getmntent(stdout); return(0); } +EOM +$cc $ccflags try.c -o try +android_warn=`$run ./try 2>&1 | $egrep "$android_stub"` +if test "X$android_warn" != X; then + d_getmntent="$undef" +fi + +$cat > try.c << 'EOM' #include <netdb.h> int main() { (void) getprotobyname("foo"); return(0); } EOM @@ -3834,6 +3834,14 @@ S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript) return rsfp; } +/* Mention + * I_SYSSTATVFS HAS_FSTATVFS + * I_SYSMOUNT + * I_STATFS HAS_FSTATFS HAS_GETFSSTAT + * I_MNTENT HAS_GETMNTENT HAS_HASMNTOPT + * here so that metaconfig picks them up. */ + + #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW /* Don't even need this function. */ #else diff --git a/plan9/config.plan9 b/plan9/config.plan9 index ce7cb0edc2..722e82999e 100644 --- a/plan9/config.plan9 +++ b/plan9/config.plan9 @@ -1478,12 +1478,24 @@ */ /*#define HAS_FREXPL / **/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA / **/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO / **/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS / **/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -1526,6 +1538,12 @@ */ /*#define HAS_GETESPWNAM / **/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT / **/ + /* HAS_GETGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for sequential access of the group database. @@ -1645,6 +1663,18 @@ /*#define HAS_GETLOGIN_R / **/ #define GETLOGIN_R_PROTO 0 /**/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT / **/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT / **/ + /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. @@ -1832,6 +1862,11 @@ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT / **/ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl() routine (and @@ -2390,6 +2425,29 @@ /*#define USE_STAT_BLOCKS / **/ #endif +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS / **/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS / **/ + /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer @@ -2602,6 +2660,12 @@ */ /*#define HAS_UNORDERED / **/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT / **/ + /* HAS_VFORK: * This symbol, if defined, indicates that vfork() exists. */ @@ -2783,6 +2847,12 @@ */ /*#define I_MACH_CTHREADS / **/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT / **/ + /* I_NETDB: * This symbol, if defined, indicates that <netdb.h> exists and * should be included. @@ -2889,6 +2959,23 @@ */ /*#define I_SYSMODE / **/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT / **/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS / **/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS / **/ + /* I_SYSUIO: * This symbol, if defined, indicates that <sys/uio.h> exists and * should be included. @@ -2901,6 +2988,12 @@ */ #define I_SYSUTSNAME /**/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS / **/ + /* Plan 9: P9 has both <time.h> and <sys/time.h> */ /* I_TIME: * This symbol, if defined, indicates to the C program that it should @@ -2926,6 +3019,12 @@ /*#define I_SYS_TIME_KERNEL / **/ /*#define HAS_TM_TM_ZONE / **/ +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT / **/ + /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over * which perl.c:incpush() and lib/lib.pm will automatically diff --git a/plan9/config_h.sample b/plan9/config_h.sample index c89ab71453..d88498430c 100644 --- a/plan9/config_h.sample +++ b/plan9/config_h.sample @@ -1431,12 +1431,24 @@ */ /*#define HAS_FREXPL / **/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA / **/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO / **/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS / **/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -1479,6 +1491,12 @@ */ /*#define HAS_GETESPWNAM / **/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT / **/ + /* HAS_GETGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for sequential access of the group database. @@ -1598,6 +1616,18 @@ /*#define HAS_GETLOGIN_R / **/ #define GETLOGIN_R_PROTO 0 /**/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT / **/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT / **/ + /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. @@ -1785,6 +1815,11 @@ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT / **/ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl() routine (and @@ -2322,6 +2357,29 @@ /*#define USE_STAT_BLOCKS / **/ #endif +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS / **/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS / **/ + /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer @@ -2534,6 +2592,12 @@ */ /*#define HAS_UNORDERED / **/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT / **/ + /* HAS_VFORK: * This symbol, if defined, indicates that vfork() exists. */ @@ -2715,6 +2779,12 @@ */ /*#define I_MACH_CTHREADS / **/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT / **/ + /* I_NETDB: * This symbol, if defined, indicates that <netdb.h> exists and * should be included. @@ -2821,6 +2891,23 @@ */ /*#define I_SYSMODE / **/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT / **/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS / **/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS / **/ + /* I_SYSUIO: * This symbol, if defined, indicates that <sys/uio.h> exists and * should be included. @@ -2833,6 +2920,12 @@ */ #define I_SYSUTSNAME /**/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS / **/ + /* I_TIME: * This symbol, if defined, indicates to the C program that it should * include <time.h>. @@ -2857,6 +2950,12 @@ /*#define I_SYS_TIME_KERNEL / **/ /*#define HAS_TM_TM_ZONE / **/ +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT / **/ + /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over * which perl.c:incpush() and lib/lib.pm will automatically diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample index 86802f02dc..4dd6efb049 100644 --- a/plan9/config_sh.sample +++ b/plan9/config_sh.sample @@ -222,8 +222,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='define' d_ftello='undef' d_ftime='undef' @@ -233,6 +236,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='define' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -249,6 +253,8 @@ d_gethostprotos='undef' d_getitimer='undef' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -289,6 +295,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -514,7 +521,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='undef' +d_statvfs='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdio_ptr_lval_nochange_cnt='undef' @@ -573,6 +583,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -713,6 +724,7 @@ i_malloc='undef' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='define' i_neterrno='undef' @@ -743,6 +755,7 @@ i_sysioctl='define' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='define' i_syspoll='undef' @@ -751,6 +764,8 @@ i_syssecrt='undef' i_sysselct='define' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='define' @@ -758,11 +773,13 @@ i_systypes='define' i_sysuio='define' i_sysun='define' i_sysutsname='define' +i_sysvfs='undef' i_syswait='define' i_termio='undef' i_termios='define' i_time='define' i_unistd='define' +i_ustat='undef' i_utime='define' i_values='undef' i_varargs='undef' diff --git a/symbian/config.sh b/symbian/config.sh index f1cf6ad7b8..a5aa4779a0 100644 --- a/symbian/config.sh +++ b/symbian/config.sh @@ -166,8 +166,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='undef' @@ -178,6 +181,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -194,6 +198,8 @@ d_gethostprotos='define' d_getitimer='undef' d_getlogin='undef' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -235,6 +241,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -462,7 +469,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='undef' +d_statvfs='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdio_ptr_lval_nochange_cnt='undef' @@ -521,6 +531,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='define' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -640,6 +651,7 @@ i_malloc='undef' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='define' i_neterrno='undef' @@ -670,6 +682,7 @@ i_sysioctl='define' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -678,6 +691,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='define' i_systimek='undef' i_systimes='define' @@ -685,11 +700,13 @@ i_systypes='define' i_sysuio='undef' i_sysun='undef' i_sysutsname='undef' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='define' i_unistd='define' +i_ustat='undef' i_utime='undef' i_values='undef' i_varargs='undef' @@ -3676,12 +3676,24 @@ */ /*#define HAS_FREXPL / **/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA / **/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO / **/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS / **/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -3719,12 +3731,30 @@ */ /*#define HAS_GETESPWNAM / **/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT / **/ + /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ /*#define HAS_GETITIMER / **/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT / **/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT / **/ + /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. @@ -3743,6 +3773,12 @@ */ /*#define HAS_GETSPNAM / **/ +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT / **/ + /* HAS_HYPOT: * This symbol, if defined, indicates that the hypot routine is * available to do the hypotenuse function. @@ -4252,6 +4288,29 @@ */ /*#define HAS_SETRESUID_PROTO / **/ +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS / **/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS / **/ + /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. @@ -4407,6 +4466,12 @@ */ /*#define HAS_USLEEP_PROTO / **/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT / **/ + /* HAS_WCSCMP: * This symbol, if defined, indicates that the wcscmp routine is * available to compare two wide character strings. @@ -4543,6 +4608,12 @@ */ /*#define I_MALLOCMALLOC / **/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT / **/ + /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. @@ -4609,12 +4680,41 @@ */ /*#define I_SYSMODE / **/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT / **/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS / **/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS / **/ + /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ /*#define I_SYSUTSNAME / **/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS / **/ + +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT / **/ + /* DOUBLEINFBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes for the double precision infinity. diff --git a/uconfig.sh b/uconfig.sh index 97f55a050b..bd889e30f9 100644 --- a/uconfig.sh +++ b/uconfig.sh @@ -160,8 +160,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='undef' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='undef' @@ -171,6 +174,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='undef' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -187,6 +191,8 @@ d_gethostprotos='undef' d_getitimer='undef' d_getlogin='undef' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -228,6 +234,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='undef' d_hypot='undef' d_ilogb='undef' @@ -453,7 +460,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='undef' +d_statvfs='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdio_ptr_lval_nochange_cnt='undef' @@ -512,6 +522,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -626,6 +637,7 @@ i_malloc='undef' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='undef' i_neterrno='undef' @@ -656,6 +668,7 @@ i_sysioctl='undef' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -664,6 +677,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='undef' @@ -671,11 +686,13 @@ i_systypes='undef' i_sysuio='undef' i_sysun='undef' i_sysutsname='undef' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='define' i_unistd='undef' +i_ustat='undef' i_utime='undef' i_values='undef' i_varargs='undef' diff --git a/uconfig64.sh b/uconfig64.sh index 57b4cae2f3..ec09c1e2f8 100644 --- a/uconfig64.sh +++ b/uconfig64.sh @@ -161,8 +161,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='undef' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='undef' @@ -172,6 +175,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='undef' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -188,6 +192,8 @@ d_gethostprotos='undef' d_getitimer='undef' d_getlogin='undef' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -229,6 +235,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='undef' d_hypot='undef' d_ilogb='undef' @@ -454,7 +461,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='undef' +d_statvfs='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdio_ptr_lval_nochange_cnt='undef' @@ -513,6 +523,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -627,6 +638,7 @@ i_malloc='undef' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='undef' i_neterrno='undef' @@ -657,6 +669,7 @@ i_sysioctl='undef' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -665,6 +678,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='undef' @@ -672,11 +687,13 @@ i_systypes='undef' i_sysuio='undef' i_sysun='undef' i_sysutsname='undef' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='define' i_unistd='undef' +i_ustat='undef' i_utime='undef' i_values='undef' i_varargs='undef' diff --git a/win32/config.ce b/win32/config.ce index c3f1e4906c..3c10d778d7 100644 --- a/win32/config.ce +++ b/win32/config.ce @@ -208,8 +208,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='define' @@ -219,6 +222,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -235,6 +239,8 @@ d_gethostprotos='define' d_getitimer='undef' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -276,6 +282,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -502,7 +509,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='undef' +d_statvfs='undef' d_stdio_cnt_lval='undef' d_stdio_ptr_lval='undef' d_stdio_ptr_lval_nochange_cnt='undef' @@ -561,6 +571,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -697,6 +708,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='undef' i_neterrno='undef' @@ -727,6 +739,7 @@ i_sysioctl='undef' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -735,6 +748,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='undef' @@ -742,11 +757,13 @@ i_systypes='undef' i_sysuio='undef' i_sysun='undef' i_sysutsname='undef' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='undef' i_unistd='undef' +i_ustat='undef' i_utime='define' i_values='undef' i_varargs='undef' diff --git a/win32/config.gc b/win32/config.gc index ac7d288221..e0eb2382b6 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -209,8 +209,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='define' @@ -220,6 +223,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -236,6 +240,8 @@ d_gethostprotos='define' d_getitimer='undef' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -276,6 +282,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -502,7 +509,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='define' +d_statvfs='undef' d_stdio_cnt_lval='define' d_stdio_ptr_lval='define' d_stdio_ptr_lval_nochange_cnt='define' @@ -561,6 +571,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -709,6 +720,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='undef' i_neterrno='undef' @@ -739,6 +751,7 @@ i_sysioctl='undef' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -747,6 +760,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='undef' @@ -754,11 +769,13 @@ i_systypes='define' i_sysuio='undef' i_sysun='undef' i_sysutsname='undef' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='define' i_unistd='undef' +i_ustat='undef' i_utime='define' i_values='undef' i_varargs='undef' diff --git a/win32/config.vc b/win32/config.vc index 2a44a067fd..b4efd32b1b 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -209,8 +209,11 @@ d_fpclassl='undef' d_fpgetround='undef' d_fpos64_t='undef' d_frexpl='undef' +d_fs_data_s='undef' d_fseeko='undef' d_fsetpos='define' +d_fstatfs='undef' +d_fstatvfs='undef' d_fsync='undef' d_ftello='undef' d_ftime='define' @@ -220,6 +223,7 @@ d_gdbmndbm_h_uses_prototypes='undef' d_getaddrinfo='undef' d_getcwd='define' d_getespwnam='undef' +d_getfsstat='undef' d_getgrent='undef' d_getgrent_r='undef' d_getgrgid_r='undef' @@ -236,6 +240,8 @@ d_gethostprotos='define' d_getitimer='undef' d_getlogin='define' d_getlogin_r='undef' +d_getmnt='undef' +d_getmntent='undef' d_getnameinfo='undef' d_getnbyaddr='undef' d_getnbyname='undef' @@ -276,6 +282,7 @@ d_gmtime64='undef' d_gmtime_r='undef' d_gnulibc='undef' d_grpasswd='undef' +d_hasmntopt='undef' d_htonl='define' d_hypot='undef' d_ilogb='undef' @@ -502,7 +509,10 @@ d_sresgproto='undef' d_sresuproto='undef' d_stat='define' d_statblks='undef' +d_statfs_f_flags='undef' +d_statfs_s='undef' d_static_inline='define' +d_statvfs='undef' d_stdio_cnt_lval='define' d_stdio_ptr_lval='define' d_stdio_ptr_lval_nochange_cnt='define' @@ -561,6 +571,7 @@ d_unordered='undef' d_unsetenv='undef' d_usleep='undef' d_usleepproto='undef' +d_ustat='undef' d_vendorarch='undef' d_vendorbin='undef' d_vendorlib='undef' @@ -708,6 +719,7 @@ i_malloc='define' i_mallocmalloc='undef' i_math='define' i_memory='undef' +i_mntent='undef' i_ndbm='undef' i_netdb='undef' i_neterrno='undef' @@ -738,6 +750,7 @@ i_sysioctl='undef' i_syslog='undef' i_sysmman='undef' i_sysmode='undef' +i_sysmount='undef' i_sysndir='undef' i_sysparam='undef' i_syspoll='undef' @@ -746,6 +759,8 @@ i_syssecrt='undef' i_sysselct='undef' i_syssockio='undef' i_sysstat='define' +i_sysstatfs='undef' +i_sysstatvfs='undef' i_systime='undef' i_systimek='undef' i_systimes='undef' @@ -753,11 +768,13 @@ i_systypes='define' i_sysuio='undef' i_sysun='undef' i_sysutsname='undef' +i_sysvfs='undef' i_syswait='undef' i_termio='undef' i_termios='undef' i_time='define' i_unistd='undef' +i_ustat='undef' i_utime='define' i_values='undef' i_varargs='undef' diff --git a/win32/config_H.ce b/win32/config_H.ce index 13f28b2df7..e755bc1312 100644 --- a/win32/config_H.ce +++ b/win32/config_H.ce @@ -1409,12 +1409,24 @@ */ /*#define HAS_FREXPL /**/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA /**/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO /**/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS /**/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -1463,6 +1475,12 @@ */ /*#define HAS_GETESPWNAM /**/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT /**/ + /* HAS_GETGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for sequential access of the group database. @@ -1582,6 +1600,18 @@ /*#define HAS_GETLOGIN_R /**/ #define GETLOGIN_R_PROTO 0 /**/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT /**/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT /**/ + /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. @@ -1769,6 +1799,11 @@ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT /**/ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl() routine (and @@ -2345,6 +2380,29 @@ /*#define USE_STAT_BLOCKS /**/ #endif +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS /**/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS /**/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS /**/ + /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer @@ -2563,6 +2621,12 @@ */ /*#define HAS_UNSETENV /**/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT /**/ + /* HAS_VFORK: * This symbol, if defined, indicates that vfork() exists. */ @@ -2784,6 +2848,12 @@ */ /*#define I_MACH_CTHREADS /**/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT /**/ + /* I_NETDB: * This symbol, if defined, indicates that <netdb.h> exists and * should be included. @@ -2890,6 +2960,23 @@ */ /*#define I_SYSMODE /**/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT /**/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS /**/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS /**/ + /* I_SYSUIO: * This symbol, if defined, indicates that <sys/uio.h> exists and * should be included. @@ -2902,6 +2989,12 @@ */ /*#define I_SYSUTSNAME /**/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS /**/ + /* I_TIME: * This symbol, if defined, indicates to the C program that it should * include <time.h>. @@ -2928,6 +3021,12 @@ /*#define HAS_TM_TM_ZONE /**/ /*#define HAS_TM_TM_GMTOFF /**/ +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT /**/ + /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over * which perl.c:incpush() and lib/lib.pm will automatically diff --git a/win32/config_H.gc b/win32/config_H.gc index 41d8395a47..8480c77bde 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -3638,12 +3638,24 @@ */ /*#define HAS_FREXPL / **/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA / **/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO / **/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS / **/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -3681,12 +3693,30 @@ */ /*#define HAS_GETESPWNAM / **/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT / **/ + /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ /*#define HAS_GETITIMER / **/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT / **/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT / **/ + /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. @@ -3705,6 +3735,12 @@ */ /*#define HAS_GETSPNAM / **/ +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT / **/ + /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. @@ -4037,6 +4073,29 @@ */ /*#define HAS_SETRESUID_PROTO / **/ +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS / **/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS / **/ + /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. @@ -4180,6 +4239,12 @@ */ /*#define HAS_USLEEP_PROTO / **/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT / **/ + /* HAS_WCSCMP: * This symbol, if defined, indicates that the wcscmp routine is * available to compare two wide character strings. @@ -4316,6 +4381,12 @@ */ /*#define I_MALLOCMALLOC / **/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT / **/ + /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. @@ -4376,12 +4447,41 @@ */ /*#define I_SYSMODE / **/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT / **/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS / **/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS / **/ + /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ /*#define I_SYSUTSNAME / **/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS / **/ + +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT / **/ + /* PERL_PRIfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for output. diff --git a/win32/config_H.vc b/win32/config_H.vc index 7a76f1d5df..f1e851794f 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -3630,12 +3630,24 @@ */ /*#define HAS_FREXPL / **/ +/* HAS_STRUCT_FS_DATA: + * This symbol, if defined, indicates that the struct fs_data + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_FS_DATA / **/ + /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO / **/ +/* HAS_FSTATFS: + * This symbol, if defined, indicates that the fstatfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATFS / **/ + /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to @@ -3673,12 +3685,30 @@ */ /*#define HAS_GETESPWNAM / **/ +/* HAS_GETFSSTAT: + * This symbol, if defined, indicates that the getfsstat routine is + * available to stat filesystems in bulk. + */ +/*#define HAS_GETFSSTAT / **/ + /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ /*#define HAS_GETITIMER / **/ +/* HAS_GETMNT: + * This symbol, if defined, indicates that the getmnt routine is + * available to get filesystem mount info by filename. + */ +/*#define HAS_GETMNT / **/ + +/* HAS_GETMNTENT: + * This symbol, if defined, indicates that the getmntent routine is + * available to iterate through mounted file systems to get their info. + */ +/*#define HAS_GETMNTENT / **/ + /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. @@ -3697,6 +3727,12 @@ */ /*#define HAS_GETSPNAM / **/ +/* HAS_HASMNTOPT: + * This symbol, if defined, indicates that the hasmntopt routine is + * available to query the mount options of file systems. + */ +/*#define HAS_HASMNTOPT / **/ + /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. @@ -4029,6 +4065,29 @@ */ /*#define HAS_SETRESUID_PROTO / **/ +/* HAS_STRUCT_STATFS_F_FLAGS: + * This symbol, if defined, indicates that the struct statfs + * does have the f_flags member containing the mount flags of + * the filesystem containing the file. + * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), + * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not + * have statfs() and struct statfs, they have ustat() and getmnt() + * with struct ustat and struct fs_data. + */ +/*#define HAS_STRUCT_STATFS_F_FLAGS / **/ + +/* HAS_STRUCT_STATFS: + * This symbol, if defined, indicates that the struct statfs + * to do statfs() is supported. + */ +/*#define HAS_STRUCT_STATFS / **/ + +/* HAS_FSTATVFS: + * This symbol, if defined, indicates that the fstatvfs routine is + * available to stat filesystems by file descriptors. + */ +/*#define HAS_FSTATVFS / **/ + /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. @@ -4172,6 +4231,12 @@ */ /*#define HAS_USLEEP_PROTO / **/ +/* HAS_USTAT: + * This symbol, if defined, indicates that the ustat system call is + * available to query file system statistics by dev_t. + */ +/*#define HAS_USTAT / **/ + /* HAS_WCSCMP: * This symbol, if defined, indicates that the wcscmp routine is * available to compare two wide character strings. @@ -4308,6 +4373,12 @@ */ /*#define I_MALLOCMALLOC / **/ +/* I_MNTENT: + * This symbol, if defined, indicates that <mntent.h> exists and + * should be included. + */ +/*#define I_MNTENT / **/ + /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. @@ -4368,12 +4439,41 @@ */ /*#define I_SYSMODE / **/ +/* I_SYS_MOUNT: + * This symbol, if defined, indicates that <sys/mount.h> exists and + * should be included. + */ +/*#define I_SYS_MOUNT / **/ + +/* I_SYS_STATFS: + * This symbol, if defined, indicates that <sys/statfs.h> exists. + */ +/*#define I_SYS_STATFS / **/ + +/* I_SYS_STATVFS: + * This symbol, if defined, indicates that <sys/statvfs.h> exists and + * should be included. + */ +/*#define I_SYS_STATVFS / **/ + /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ /*#define I_SYSUTSNAME / **/ +/* I_SYS_VFS: + * This symbol, if defined, indicates that <sys/vfs.h> exists and + * should be included. + */ +/*#define I_SYS_VFS / **/ + +/* I_USTAT: + * This symbol, if defined, indicates that <ustat.h> exists and + * should be included. + */ +/*#define I_USTAT / **/ + /* PERL_PRIfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for output. |