about summary refs log blame commit diff stats
path: root/lib/dirent.h
blob: c0852a1745a2c2d6aef3c5b6341ca52d1222605e (plain) (tree)























































                                                                              
/* 
 * @(#) dirent.h 2.0 17 Jun 91   Public Domain. 
 * 
 *  A public domain implementation of BSD directory routines for 
 *  MS-DOS.  Written by Michael Rendell ({uunet,utai}michael@garfield), 
 *  August 1987 
 * 
 *  Enhanced and ported to OS/2 by Kai Uwe Rommel; added scandir() prototype 
 *  December 1989, February 1990 
 *  Change of MAXPATHLEN for HPFS, October 1990 
 *   
 *  Unenhanced and ported to Windows NT by Bill Gallagher 
 *  17 Jun 91 
 *  changed d_name to char * instead of array, removed non-std extensions 
 *  
 *  Cleanup, other hackery, Summer '92, Brian Moran , brianmo@microsoft.com 
 */ 

#ifndef _DIRENT
#define _DIRENT

#include <direct.h>

struct dirent 
{ 
    ino_t    d_ino;                   /* a bit of a farce */ 
    short    d_reclen;                /* more farce */ 
    short    d_namlen;                /* length of d_name */ 
    char    *d_name;
}; 
 
struct _dircontents 
{ 
    char *_d_entry; 
    struct _dircontents *_d_next; 
}; 
 
typedef struct _dirdesc 
{ 
    int  dd_id;			   /* uniquely identify each open directory*/ 
    long dd_loc;			/* where we are in directory entry */ 
    struct _dircontents *dd_contents;	/* pointer to contents of dir */ 
    struct _dircontents *dd_cp;		/* pointer to current position */ 
} 
DIR; 
 
extern DIR *opendir(char *); 
extern struct dirent *readdir(DIR *); 
extern void seekdir(DIR *, long); 
extern long telldir(DIR *); 
extern void closedir(DIR *); 
#define rewinddir(dirp) seekdir(dirp, 0L) 

#endif /* _DIRENT */

/* end of dirent.h */