2 <sys/dirent.h> -- file system independent directory entry (SVR3)
4 last edit: 25-Apr-1987 D A Gwyn
6 prerequisite: <sys/types.h>
8 /* $Id: dirent.h,v 1.3 1994/06/24 11:41:52 ceriel Exp $ */
10 #if !defined(_SYS_DIRENT_H)
13 struct dirent /* data from getdents()/readdir() */
15 long d_ino; /* inode number of entry */
16 off_t d_off; /* offset of disk directory entry */
17 unsigned short d_reclen; /* length of this record */
18 char d_name[1]; /* name of file */ /* non-POSIX */
21 /* The following nonportable ugliness could have been avoided by defining
22 DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments. */
23 #define DIRENTBASESIZ (((struct dirent *)0)->d_name \
24 - (char *)&((struct dirent *)0)->d_ino)
25 #define DIRENTSIZ( namlen ) ((DIRENTBASESIZ + sizeof(long) + (namlen)) \
26 / sizeof(long) * sizeof(long))
28 /* DAG -- the following was moved from <dirent.h>, which was the wrong place */
29 #define MAXNAMLEN 512 /* maximum filename length */
31 #if !defined(NAME_MAX)
32 #define NAME_MAX (MAXNAMLEN - 1) /* DAG -- added for POSIX */
35 #endif /* _SYS_DIRENT_H */