1 /*
2   Copyright (c) 1990-2000 Info-ZIP.  All rights reserved.
3 
4   See the accompanying file LICENSE, version 2000-Apr-09 or later
5   (the contents of which are also included in unzip.h) for terms of use.
6   If, for some reason, all these files are missing, the Info-ZIP license
7   also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
8 */
9 /*****************************************************************
10  *
11  *                dirent.h
12  *
13  *****************************************************************/
14 
15 #ifndef __DIRENT_H
16 #define __DIRENT_H
17 
18 #include <errno.h>
19 
20 #ifndef EINVAL
21 #define EINVAL      9
22 #endif
23 
24 #ifndef EIO
25 #define EIO         10
26 #endif
27 
28 #ifndef ENOTDIR
29 #define ENOTDIR     20
30 #endif
31 
32 #ifndef ENOENT
33 #define ENOENT      39
34 #endif
35 
36 #ifndef NAME_MAX
37 #define NAME_MAX    1024
38 #endif
39 
40 struct dirent {
41     unsigned long   d_fileno;
42     short           d_reclen;
43     short           d_namlen;
44     char            d_name[NAME_MAX + 1];
45 };
46 
47 typedef struct {
48     short           ioFDirIndex;
49     short           ioVRefNum;
50     long            ioDrDirID;
51     short           flags;
52     struct dirent   currEntry;
53 } DIR;
54 
55 #define direct dirent
56 
57 DIR *opendir(char *);
58 struct dirent *readdir(DIR *);
59 void rewinddir(DIR *);
60 int closedir(DIR *);
61 
62 #endif /* !__DIRENT_H */
63