|
|
1.1 ! root 1: /* ! 2: <sys/dirent.h> -- file system independent directory entry (SVR3) ! 3: ! 4: last edit: 25-Apr-1987 D A Gwyn ! 5: ! 6: prerequisite: <sys/types.h> ! 7: */ ! 8: ! 9: ! 10: /* The following nonportable ugliness could have been avoided by defining ! 11: DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments. */ ! 12: #define DIRENTBASESIZ (((struct dirent *)0)->d_name \ ! 13: - (char *)&((struct dirent *)0)->d_ino) ! 14: #define DIRENTSIZ( namlen ) ((DIRENTBASESIZ + sizeof(long) + (namlen)) \ ! 15: / sizeof(long) * sizeof(long)) ! 16: ! 17: /* DAG -- the following was moved from <dirent.h>, which was the wrong place */ ! 18: #define MAXNAMLEN 512 /* maximum filename length */ ! 19: ! 20: #ifndef NAME_MAX ! 21: #define NAME_MAX (MAXNAMLEN - 1) /* DAG -- added for POSIX */ ! 22: #endif ! 23: ! 24: ! 25: #ifdef dirent ! 26: #undef dirent ! 27: #endif ! 28: struct dirent /* data from getdents()/readdir() */ ! 29: { ! 30: #ifdef apollo ! 31: long d_ino; /* inode number of entry */ ! 32: unsigned short d_reclen; /* length of this record */ ! 33: unsigned short d_namlen; /* length of string in d_name */ ! 34: off_t d_off; /* offset of disk directory entry */ ! 35: char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */ ! 36: #else ! 37: long d_ino; /* inode number of entry */ ! 38: off_t d_off; /* offset of disk directory entry */ ! 39: unsigned short d_reclen; /* length of this record */ ! 40: char d_name[1]; /* name of file */ /* non-POSIX */ ! 41: #endif ! 42: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.