|
|
1.1 ! root 1: /* $Header: ndir.h,v 4.3 85/05/01 11:43:00 lwall Exp $ ! 2: * ! 3: * $Log: ndir.h,v $ ! 4: * Revision 4.3 85/05/01 11:43:00 lwall ! 5: * Baseline for release with 4.3bsd. ! 6: * ! 7: */ ! 8: ! 9: #ifdef LIBNDIR ! 10: # include <ndir.h> ! 11: #else ! 12: # ifndef USENDIR ! 13: # include <sys/dir.h> ! 14: # else ! 15: ! 16: #ifndef DEV_BSIZE ! 17: #define DEV_BSIZE 512 ! 18: #endif ! 19: #define DIRBLKSIZ DEV_BSIZE ! 20: #define MAXNAMLEN 255 ! 21: ! 22: struct direct { ! 23: long d_ino; /* inode number of entry */ ! 24: short d_reclen; /* length of this record */ ! 25: short d_namlen; /* length of string in d_name */ ! 26: char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */ ! 27: }; ! 28: ! 29: /* ! 30: * The DIRSIZ macro gives the minimum record length which will hold ! 31: * the directory entry. This requires the amount of space in struct direct ! 32: * without the d_name field, plus enough space for the name with a terminating ! 33: * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. ! 34: */ ! 35: #undef DIRSIZ ! 36: #define DIRSIZ(dp) \ ! 37: ((sizeof (struct direct) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) ! 38: ! 39: /* ! 40: * Definitions for library routines operating on directories. ! 41: */ ! 42: typedef struct _dirdesc { ! 43: int dd_fd; ! 44: long dd_loc; ! 45: long dd_size; ! 46: char dd_buf[DIRBLKSIZ]; ! 47: } DIR; ! 48: #ifndef NULL ! 49: #define NULL 0 ! 50: #endif ! 51: extern DIR *opendir(); ! 52: extern struct direct *readdir(); ! 53: extern long telldir(); ! 54: extern void seekdir(); ! 55: #define rewinddir(dirp) seekdir((dirp), (long)0) ! 56: extern void closedir(); ! 57: ! 58: # endif ! 59: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.