Loading...
gen/FreeBSD/getmntinfo.3.patch Libc-498 Libc-583
--- Libc/Libc-498/gen/FreeBSD/getmntinfo.3.patch
+++ Libc/Libc-583/gen/FreeBSD/getmntinfo.3.patch
@@ -1,11 +1,30 @@
---- getmntinfo.3.orig	2007-01-21 11:53:36.000000000 -0800
-+++ getmntinfo.3	2007-01-21 17:19:17.000000000 -0800
-@@ -46,14 +46,22 @@
+--- 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
-+.Fn getmntinfo64 "struct statfs64 **mntbufp" "int flags"
++.br
++.Fn getmntinfo64 "struct statfs64 **mntbufp" "int flags" ;
++#endif /* UNIFDEF_LEGACY_64_APIS */
  .Sh DESCRIPTION
  The
  .Fn getmntinfo
@@ -15,75 +34,93 @@
 +.Ft statfs
  structures describing each currently mounted file system (see
  .Xr statfs 2 ) .
-+Likewise, the
-+.Fn getmntinfo64
-+function
-+returns an array of
-+.Ft statfs64
-+structures describing each currently mounted file system.
  .Pp
- The
- .Fn getmntinfo
-@@ -61,11 +69,20 @@
- passes its
+@@ -62,6 +66,33 @@
  .Fa flags
  argument transparently to
--.Xr getfsstat 2 .
+ .Xr getfsstat 2 .
++#ifdef UNIFDEF_LEGACY_64_APIS
++.Pp
++Like
 +.Xr getfsstat 2 ,
-+while the
-+.Fn getmntinfo64
-+function
-+passes its
-+.Fa flags
-+argument transparently to
-+.Fn getfsstat64 .
++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
--returns a count of the number of elements in the array.
-+and
+@@ -86,6 +117,24 @@
+ .Xr getfsstat 2
+ or
+ .Xr malloc 3 .
++#ifdef UNIFDEF_LEGACY_64_APIS
++.Sh TRANSITIONAL DESCRIPTION (NOW DEPRECATED)
++The
 +.Fn getmntinfo64
-+return a count of the number of elements in the array.
- The pointer to the array is stored into
- .Fa mntbufp .
- .Pp
-@@ -76,11 +93,15 @@
- .Fa mntbufp
- will be unmodified, any information previously returned by
- .Fn getmntinfo
-+or
-+.Fn getmntinfo64
- will be lost.
- .Sh ERRORS
- The
- .Fn getmntinfo
--function
-+and
-+.Fn getmntinfo64
-+functions
- may fail and set errno for any of the errors specified for the library
- routines
- .Xr getfsstat 2
-@@ -99,15 +120,21 @@
++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
--function writes the array of structures to an internal static object
++#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.