|
|
1.1 ! root 1: /* ! 2: <dir.h> -- definitions for 4.2BSD-compatible directory access ! 3: ! 4: last edit: 09-Jul-1983 D A Gwyn ! 5: */ ! 6: ! 7: #ifdef VMS ! 8: #ifndef FAB$C_BID ! 9: #include <fab.h> ! 10: #endif ! 11: #ifndef NAM$C_BID ! 12: #include <nam.h> ! 13: #endif ! 14: #ifndef RMS$_SUC ! 15: #include <rmsdef.h> ! 16: #endif ! 17: #include "dir.h" ! 18: #endif /* VMS */ ! 19: ! 20: #define DIRBLKSIZ 512 /* size of directory block */ ! 21: #ifdef VMS ! 22: #define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */ ! 23: #define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */ ! 24: #else ! 25: #define MAXNAMLEN 15 /* maximum filename length */ ! 26: #endif /* VMS */ ! 27: /* NOTE: MAXNAMLEN must be one less than a multiple of 4 */ ! 28: ! 29: struct direct /* data from readdir() */ ! 30: { ! 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: char d_name[MAXNAMLEN+1]; /* name of file */ ! 35: }; ! 36: ! 37: typedef struct ! 38: { ! 39: int dd_fd; /* file descriptor */ ! 40: int dd_loc; /* offset in block */ ! 41: int dd_size; /* amount of valid data */ ! 42: char dd_buf[DIRBLKSIZ]; /* directory block */ ! 43: } DIR; /* stream data from opendir() */ ! 44: ! 45: extern DIR *opendir(); ! 46: extern struct direct *readdir(); ! 47: extern long telldir(); ! 48: extern void seekdir(); ! 49: extern void closedir(); ! 50: ! 51: #define rewinddir( dirp ) seekdir( dirp, 0L )
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.