home *** CD-ROM | disk | FTP | other *** search
- /*
- * dirent.h
- */
-
- #ifndef _DIRENT_H
- # define _DIRENT_H
-
- # include <sys/types.h>
- # include <limits.h>
-
- #define MAXNAMLEN 255 /* maximum filename length */
-
- #ifndef NAME_MAX
- #define NAME_MAX (MAXNAMLEN - 1)
- #endif
-
- struct dirent /* data from getdents()/readdir() */
- {
- ino_t d_ino; /* inode number of entry */
- off_t d_off; /* offset of disk directory entry */
- wchar_t d_reclen; /* length of this record */
- char d_name[MAXNAMLEN + 1];
- };
-
-
- /* The following nonportable ugliness could have been avoided by defining
- * DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments.
- * There shouldn't be any problem if you avoid using the DIRENTSIZ() macro.
- */
-
- #define DIRENTBASESIZ (((struct dirent *)0)->d_name \
- - (char *)&((struct dirent *)0)->d_ino)
-
- #define DIRENTSIZ(namlen) ((DIRENTBASESIZ + sizeof(long) + (namlen)) \
- / sizeof(long) * sizeof(long))
-
-
-
- # ifndef _BOOL_T_DEFINED
- typedef unsigned char bool;
- # define _BOOL_T_DEFINED
- # endif
-
- # define DIRBUF 8192 /* buffer size for fs-indep. dirs */
- /* must in general be larger than the */
- /* filesystem buffer size */
-
- 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 is this */
- struct _dircontents *dd_contents; /* pointer to contents of dir */
- struct _dircontents *dd_cp; /* pointer to current position */
- } DIR;
-
-
- #if defined (__STDC__)
- # define _PROTO(p) p
- #else
- # define _PROTO(p) ()
- # undef const
- # undef volatile
- #endif
-
- /* Functions */
-
- extern DIR * opendir _PROTO ((const char *));
- extern struct dirent * readdir _PROTO ((DIR *));
- extern void rewinddir _PROTO ((DIR *));
-
- extern int closedir _PROTO ((DIR *));
- extern void seekdir _PROTO ((DIR *, off_t));
- extern off_t telldir _PROTO ((DIR *));
-
- extern int chdir _PROTO ((const char *));
- extern char * getcwd _PROTO ((char *, size_t));
-
- extern int mkdir _PROTO ((const char *));
-
- extern int rmdir _PROTO ((const char *));
- extern int scandir _PROTO ((char *,
- struct dirent ***,
- int (*)(const void *, const void *),
- int (*)(const void *, const void *)));
-
- extern int _chdrive _PROTO ((int));
- extern int _getdrive _PROTO ((void));
- extern char * _getdcwd _PROTO ((int, char *, int));
-
- extern bool IsHPFSFileSystem _PROTO ((char *));
-
- #endif
-