/******************************************************************************
 *
 * Component: OGDI Core C API
 * Purpose: Implementation of BSD directory routines for MS-DOS.
 * 
 ******************************************************************************
 * @(#) 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 
 ******************************************************************************
 *
 * $Log$
 * Revision 1.2  2001-04-09 15:04:34  warmerda
 * applied new source headers
 *
 */

#ifndef _DIRENT
#define _DIRENT

#ifndef _WINDOWS
#include <sys/dir.h>

#define dirent direct

#else

#include <direct.h>

struct dirent 
{ 
    long    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 /* _WINDOWS */ 
#endif /* _DIRENT */

/* end of dirent.h */ 
