From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/SNIP/dirent.h | 97 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100755 reference/C/CONTRIB/SNIP/dirent.h (limited to 'reference/C/CONTRIB/SNIP/dirent.h') diff --git a/reference/C/CONTRIB/SNIP/dirent.h b/reference/C/CONTRIB/SNIP/dirent.h new file mode 100755 index 0000000..0121e91 --- /dev/null +++ b/reference/C/CONTRIB/SNIP/dirent.h @@ -0,0 +1,97 @@ +/* +** DIRENT.H - Posix compliant header +** +** Original Copyright 1988-1991 by Bob Stout as part of +** the MicroFirm Function Library (MFL) +** +** This subset version is functionally identical to the +** version originally published by the author in Tech Specialist +** magazine and is hereby donated to the public domain. +*/ + +#ifndef DIRENT_H +#define DIRENT_H + +#include /* For FILENAME_MAX */ +#include + +#ifndef OS2 + #if defined(__ZTC__) + #define DSTRUCT FIND /* ZTC++/SC++ */ + #define ATTRIBUTE attribute + #define NAME name + #define TIME time + #define DATE date + #define FSIZE size + #pragma pack(1) + #include + #elif defined(__TURBOC__) + #define DSTRUCT ffblk /* TC/C++ */ + #define ATTRIBUTE ff_attrib + #define NAME ff_name + #define TIME ff_ftime + #define DATE ff_fdate + #define FSIZE ff_fsize + #include + #else + #define DSTRUCT find_t /* Assume MSC/QC */ + #define ATTRIBUTE attrib + #define NAME name + #define TIME time + #define DATE date + #define FSIZE size + #pragma pack(1) + #include + #endif +#else /* OS/2 */ + #define INCL_DOSFILEMAN + #include + struct DSTRUCT { + BYTE reserved[21]; + BYTE ATTRIBUTE; + FTIME TIME; + FDATE DATE; + ULONG FSIZE; + CHAR NAME[13]; + }; +#endif + +#define FA_ANY 0xff +#undef FA_DIREC +#define FA_DIREC 0x10 + +/* +** Portable find first/next functions from RFIND1ST.C +*/ + +struct DSTRUCT *rfind_1st(char *, unsigned, struct DSTRUCT *); +struct DSTRUCT *rfind_nxt(struct DSTRUCT *); + +typedef struct +{ + int dd_fd; + unsigned dd_loc, + dd_size; + struct DSTRUCT dd_buf; + char dd_dirname[FILENAME_MAX]; +} DOS_DIR; + +DOS_DIR *opendir(char *); +int closedir(DOS_DIR *), + rewinddir(DOS_DIR *); +struct DSTRUCT *readdir(DOS_DIR *), + *seekdir(DOS_DIR *, int, int); +#define telldir(dd) dd->loc + +/* +** Other useful functions from DIRMASK.C and PATMAT.C +*/ + +int dirmask(struct DSTRUCT *,char *,char *,unsigned,unsigned); +int patmat(const char *, const char *); + +extern int DFerr; + +extern DOS_DIR _DIRS[]; + +#endif /* DIRENT_H */ -- cgit v1.2.3-54-g00ecf