Merge branch 'vendor/AWK'
[dragonfly.git] / gnu / usr.bin / man / man / ndir.h
1 /*
2         <dir.h> -- definitions for 4.2BSD-compatible directory access
3
4         last edit:      09-Jul-1983     D A Gwyn
5 */
6
7 #define DIRBLKSIZ       512             /* size of directory block */
8 #define MAXNAMLEN       15              /* maximum filename length */
9         /* NOTE:  MAXNAMLEN must be one less than a multiple of 4 */
10
11 struct direct                           /* data from readdir() */
12         {
13         long            d_ino;          /* inode number of entry */
14         unsigned short  d_reclen;       /* length of this record */
15         unsigned short  d_namlen;       /* length of string in d_name */
16         char            d_name[MAXNAMLEN+1];    /* name of file */
17         };
18
19 typedef struct
20         {
21         int     dd_fd;                  /* file descriptor */
22         int     dd_loc;                 /* offset in block */
23         int     dd_size;                /* amount of valid data */
24         char    dd_buf[DIRBLKSIZ];      /* directory block */
25         }       DIR;                    /* stream data from opendir() */
26
27 extern DIR              *opendir();
28 extern struct direct    *readdir();
29 extern long             telldir();
30 extern void             seekdir();
31 extern void             closedir();
32
33 #define rewinddir( dirp )       seekdir( dirp, 0L )