|
|
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.