|
|
1.1 root 1: /* @(#)ndir.h 1.7 10/7/87 */
2: #if defined(HP9K5)
3: /* He should have included it instead of this, but prevent confusion */
4: #include <ndir.h>
5: #else /* other */
6: #ifndef DEV_BSIZE
7: #define DEV_BSIZE 512
8: #endif
9: #define DIRBLKSIZ DEV_BSIZE
10: #define MAXNAMLEN 255
11:
12: struct direct {
13: long d_ino; /* inode number of entry */
14: short d_reclen; /* length of this record */
15: short d_namlen; /* length of string in d_name */
16: char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */
17: };
18:
19: /*
20: * The DIRSIZ macro gives the minimum record length which will hold
21: * the directory entry. This requires the amount of space in struct direct
22: * without the d_name field, plus enough space for the name with a terminating
23: * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
24: */
25:
26: #ifdef DIRSIZ
27: #undef DIRSIZ
28: #endif /* DIRSIZ */
29: #define DIRSIZ(dp) \
30: ((sizeof (struct direct) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
31:
32: /*
33: * Definitions for library routines operating on directories.
34: */
35: typedef struct _dirdesc {
36: int dd_fd;
37: long dd_loc;
38: long dd_size;
39: char dd_buf[DIRBLKSIZ];
40: } DIR;
41: #ifndef NULL
42: #define NULL 0
43: #endif
44: extern DIR *opendir();
45: extern struct direct *readdir();
46: extern void closedir();
47:
48: #define rewinddir(dirp) seekdir((dirp), (long)0)
49: #endif /* other */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.