]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/man/man2/getdirentries.2
xnu-3248.60.10.tar.gz
[apple/xnu.git] / bsd / man / man2 / getdirentries.2
index b0fedddaa7c4fa52c3448570cbb0d1804b7eec35..a513ea8e879eb3994c9abec0f1bb65d98e3c1337 100644 (file)
@@ -40,6 +40,7 @@
 .Nm getdirentries
 .Nd "get directory entries in a filesystem independent format"
 .Sh SYNOPSIS
+.Fd #include <dirent.h>
 .Fd #include <sys/types.h>
 .Fd #include <sys/dirent.h>
 .Ft int
@@ -66,14 +67,8 @@ with buffers smaller than this size.
 .Pp
 The data in the buffer is a series of
 .Em dirent
-structures each containing the following entries:
-.Bd -literal -offset indent
-u_int32_t      d_fileno;             /* file number of entry */
-u_int16_t      d_reclen;             /* length of this record */
-u_int8_t       d_type;               /* file type, see below */
-u_int8_t       d_namlen;             /* length of string in d_name */
-char           d_name[MAXNAMELEN + 1]; /* see below */
-.Ed
+structures (see
+.Xr dir 5 )
 .Pp
 The
 .Fa d_fileno
@@ -144,6 +139,32 @@ The current position pointer should only be set to a value returned by
 a value returned in the location pointed to by
 .Fa basep ,
 or zero.
+.Sh NOTES
+.Fn getdirentries
+should rarely be used directly; instead,
+.Xr opendir 3
+and
+.Xr readdir 3
+should be used.
+.Pp
+As of Mac OS X 10.6,
+.Fn getdirentries
+is deprecated, and it is recommended that applications
+use
+.Xr readdir 3
+rather than using
+.Fn getdirentries
+directly.  Due to limitations with the system call, 
+.Fn getdirentries
+will not work
+with 64-bit inodes; in order to use
+.Fn getdirentries ,
+.Dv _DARWIN_NO_64_BIT_INODE
+must be defined.  See
+.Xr stat 2
+for more information on
+.Dv _DARWIN_NO_64_BIT_INODE
+and its other effects.
 .Sh RETURN VALUES
 If successful, the number of bytes actually transferred is returned.
 Otherwise, -1 is returned and the global variable
@@ -169,7 +190,11 @@ error occurred while reading from or writing to the file system.
 .El
 .Sh SEE ALSO
 .Xr lseek 2 ,
-.Xr open 2
+.Xr open 2 ,
+.Xr stat 2 ,
+.Xr opendir 3 ,
+.Xr readdir 3 ,
+.Xr dir 5
 .Sh HISTORY
 The
 .Fn getdirentries