This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "Remove unused filesystem stat symbols."
authorJarkko Hietaniemi <jhi@iki.fi>
Fri, 30 Oct 2015 21:50:42 +0000 (17:50 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Fri, 30 Oct 2015 21:50:42 +0000 (17:50 -0400)
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

25 files changed:
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
NetWare/config.wc
NetWare/config_H.wc
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
configure.com
hints/linux-android.sh
perl.c
plan9/config.plan9
plan9/config_h.sample
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc

index 3df0b1b..18bab85 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -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'
index 85d4abb..cff0e03 100644 (file)
@@ -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'
index 6c80324..6ab342a 100644 (file)
@@ -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'
index 7e80150..e70b4df 100644 (file)
@@ -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'
index 6df3ad5..d98d830 100644 (file)
  */
 /*#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
  */
 /*#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.
  */
 /*#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.
 #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
 /*#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
 /*#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.
  */
  */
 /*#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.
  */
 /*#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.
  */
 #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>.
 /*#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
index ae8cc79..68ee298 100644 (file)
@@ -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>.
index d22437c..b7e75bd 100644 (file)
@@ -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'
index 1b9337a..08ff181 100644 (file)
  */
 #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
  */
 /*#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.
  */
 #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.
  */
 /*#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.
  */
 #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.
  */
 /*#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>.
  */
 /*#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.
index 8bc6b98..aa806cf 100755 (executable)
@@ -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.
index 53fdd6a..f882e63 100644 (file)
@@ -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'"
index 51fd5f5..6a59cb7 100644 (file)
@@ -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
diff --git a/perl.c b/perl.c
index e3d6545..f0d056f 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -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
index ce7cb0e..722e829 100644 (file)
  */
 /*#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
  */
 /*#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.
 /*#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.
 #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
 /*#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
  */
 /*#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.
  */
  */
 /*#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.
  */
 /*#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.
  */
 #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
 /*#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
index c89ab71..d884984 100644 (file)
  */
 /*#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
  */
 /*#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.
 /*#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.
 #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
 /*#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
  */
 /*#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.
  */
  */
 /*#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.
  */
 /*#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.
  */
 #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>.
 /*#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
index 86802f0..4dd6efb 100644 (file)
@@ -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'
index f1cf6ad..a5aa477 100644 (file)
@@ -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'
index 127d0a9..58dc073 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#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
  */
 /*#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.
  */
 /*#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.
  */
 /*#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.
  */
 /*#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.
  */
 /*#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>.
  */
 /*#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.
index 97f55a0..bd889e3 100644 (file)
@@ -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'
index 57b4cae..ec09c1e 100644 (file)
@@ -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'
index c3f1e49..3c10d77 100644 (file)
@@ -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'
index ac7d288..e0eb238 100644 (file)
@@ -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'
index 2a44a06..b4efd32 100644 (file)
@@ -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'
index 13f28b2..e755bc1 100644 (file)
  */
 /*#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
  */
 /*#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.
 /*#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.
 #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
 /*#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
  */
 /*#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.
  */
  */
 /*#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.
  */
 /*#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.
  */
 /*#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>.
 /*#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
index 41d8395..8480c77 100644 (file)
  */
 /*#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
  */
 /*#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.
  */
 /*#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.
  */
 /*#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.
  */
 /*#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.
  */
 /*#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>.
  */
 /*#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.
index 7a76f1d..f1e8517 100644 (file)
  */
 /*#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
  */
 /*#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.
  */
 /*#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.
  */
 /*#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.
  */
 /*#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.
  */
 /*#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>.
  */
 /*#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.