Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | --- getmntinfo.3.orig 2008-05-13 13:37:51.000000000 -0700 +++ getmntinfo.3 2008-05-15 19:58:50.000000000 -0700 @@ -32,26 +32,30 @@ .\" @(#)getmntinfo.3 8.1 (Berkeley) 6/9/93 .\" $FreeBSD: src/lib/libc/gen/getmntinfo.3,v 1.12 2002/12/19 09:40:21 ru Exp $ .\" -.Dd June 9, 1993 +.Dd May 15, 2008 .Dt GETMNTINFO 3 .Os .Sh NAME .Nm getmntinfo .Nd get information about mounted file systems -.Sh LIBRARY -.Lb libc .Sh SYNOPSIS .In sys/param.h .In sys/ucred.h .In sys/mount.h .Ft int .Fn getmntinfo "struct statfs **mntbufp" "int flags" +#ifdef UNIFDEF_LEGACY_64_APIS +.Sh TRANSITIIONAL SYNOPSIS (NOW DEPRECATED) +.Ft int +.br +.Fn getmntinfo64 "struct statfs64 **mntbufp" "int flags" ; +#endif /* UNIFDEF_LEGACY_64_APIS */ .Sh DESCRIPTION The .Fn getmntinfo function returns an array of -.Fn statfs +.Ft statfs structures describing each currently mounted file system (see .Xr statfs 2 ) . .Pp @@ -62,6 +66,33 @@ .Fa flags argument transparently to .Xr getfsstat 2 . +#ifdef UNIFDEF_LEGACY_64_APIS +.Pp +Like +.Xr getfsstat 2 , +when the macro +.Dv _DARWIN_FEATURE_64_BIT_INODE +is defined, the +.Ft ino_t +type will be 64-bits (force 64-bit inode mode by defining the +.Dv _DARWIN_USE_64_BIT_INODE +macro before including header files). +This will cause the symbol variant of +.Fn getmntinfo , +with the +.Fa $INODE64 +suffixes, to be automatically linked in. +In addition, the +.Ft statfs +structure will be the 64-bit inode version. +If +.Dv _DARWIN_USE_64_BIT_INODE +is not defined, both +.Fn getmntinfo +and the +.Ft statfs +structure will refer to the 32-bit inode versions. +#endif /* UNIFDEF_LEGACY_64_APIS */ .Sh RETURN VALUES On successful completion, .Fn getmntinfo @@ -86,6 +117,24 @@ .Xr getfsstat 2 or .Xr malloc 3 . +#ifdef UNIFDEF_LEGACY_64_APIS +.Sh TRANSITIONAL DESCRIPTION (NOW DEPRECATED) +The +.Fn getmntinfo64 +routine is equivalent to its corresponding non-64-suffixed routine, +when 64-bit inodes are in effect. +It was added before there was support for the symbol variants, and so is +now deprecated. +Instead of using it, set the +.Dv _DARWIN_USE_64_BIT_INODE +macro before including header files to force 64-bit inode support. +.Pp +The +.Ft statfs64 +structure used by this deprecated routine is the same as the +.Ft statfs +structure when 64-bit inodes are in effect. +#endif /* UNIFDEF_LEGACY_64_APIS */ .Sh SEE ALSO .Xr getfsstat 2 , .Xr mount 2 , @@ -99,15 +148,29 @@ .Sh BUGS The .Fn getmntinfo +#ifdef UNIFDEF_LEGACY_64_APIS +and +.Fn getmntinfo64 +functions write the array of structures to an internal static object +#else /* !UNIFDEF_LEGACY_64_APIS */ function writes the array of structures to an internal static object +#endif /* UNIFDEF_LEGACY_64_APIS */ and returns a pointer to that object. Subsequent calls to .Fn getmntinfo +#ifdef UNIFDEF_LEGACY_64_APIS +and +.Fn getmntinfo64 +#endif /* UNIFDEF_LEGACY_64_APIS */ will modify the same object. .Pp The memory allocated by .Fn getmntinfo +#ifdef UNIFDEF_LEGACY_64_APIS +and +.Fn getmntinfo64 +#endif /* UNIFDEF_LEGACY_64_APIS */ cannot be .Xr free 3 Ns 'd by the application. |