1 /*
2  * @(#) dirent.h 2.0 17 Jun 91   Public Domain.
3  *
4  *  A public domain implementation of BSD directory routines for
5  *  MS-DOS.  Written by Michael Rendell ({uunet,utai}michael@garfield),
6  *  August 1987
7  *
8  *  Enhanced and ported to OS/2 by Kai Uwe Rommel; added scandir() prototype
9  *  December 1989, February 1990
10  *  Change of MAXPATHLEN for HPFS, October 1990
11  *
12  *  Unenhanced and ported to Windows NT by Bill Gallagher
13  *  17 Jun 91
14  *  changed d_name to char * instead of array, removed non-std extensions
15  *
16  *  Cleanup, other hackery, Summer '92, Brian Moran , brianmo@microsoft.com
17  */
18 
19 #ifndef _DIRENT
20 #define _DIRENT
21 
22 #include <direct.h>
23 
24 struct dirent {
25     ino_t d_ino;		/* a bit of a farce */
26     short d_reclen;		/* more farce */
27     short d_namlen;		/* length of d_name */
28     char *d_name;
29 };
30 
31 struct _dircontents {
32     char *_d_entry;
33     struct _dircontents *_d_next;
34 };
35 
36 typedef struct _dirdesc {
37     int dd_id;			/* uniquely identify each open directory */
38     long dd_loc;		/* where we are in directory entry */
39     struct _dircontents *dd_contents;	/* pointer to contents of dir */
40     struct _dircontents *dd_cp;	/* pointer to current position */
41 } DIR;
42 
43 extern DIR *opendir(char *);
44 extern struct dirent *readdir(DIR *);
45 extern void seekdir(DIR *, long);
46 extern long telldir(DIR *);
47 extern void closedir(DIR *);
48 
49 #define rewinddir(dirp) seekdir(dirp, 0L)
50 
51 #endif /* _DIRENT */
52 
53 /* end of dirent.h */
54