home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progc / snip1091.arj / DIRENT.H < prev    next >
C/C++ Source or Header  |  1991-09-14  |  2KB  |  68 lines

  1. /*
  2. **  DIRENT.H - Posix compliant header
  3. **
  4. **  Original Copyright 1988-1991 by Bob Stout as part of
  5. **  the MicroFirm Function Library (MFL)
  6. **
  7. **  This subset version is functionally identical to the
  8. **  version originally published by the author in Tech Specialist
  9. **  magazine and is hereby donated to the public domain.
  10. */
  11.  
  12. #ifndef DIRENT_H
  13. #define DIRENT_H
  14.  
  15. #include <stdio.h>                      /* For FILENAME_MAX     */
  16. #include <dos.h>
  17.  
  18. #if defined(__ZTC__)
  19.  #define DSTRUCT        FIND            /* ZTC/C++              */
  20.  #define ATTRIBUTE      attribute
  21.  #define NAME           name
  22.  #pragma pack(1)
  23.  #include <direct.h>
  24. #elif defined(__TURBOC__)
  25.  #define DSTRUCT        ffblk           /* TC/C++               */
  26.  #define ATTRIBUTE      ff_attrib
  27.  #define NAME           ff_name
  28.  #include <dir.h>
  29. #else
  30.  #define DSTRUCT        find_t          /* Assume MSC/QC        */
  31.  #define ATTRIBUTE      attrib
  32.  #define NAME           name
  33.  #pragma pack(1)
  34.  #include <direct.h>
  35. #endif
  36.  
  37. #define FA_ANY 0xff
  38. #undef FA_DIREC
  39. #define FA_DIREC 0x10
  40.  
  41. struct DSTRUCT *rfind_1st(char *, unsigned, struct DSTRUCT *);
  42. struct DSTRUCT *rfind_nxt(struct DSTRUCT *);
  43.  
  44. typedef struct
  45. {
  46.       int               dd_fd;
  47.       unsigned          dd_loc,
  48.                         dd_size;
  49.       struct DSTRUCT    dd_buf;
  50.       char              dd_dirname[FILENAME_MAX];
  51. } DOS_DIR;
  52.  
  53. DOS_DIR        *opendir(char *);
  54. int             closedir(DOS_DIR *),
  55.                 rewinddir(DOS_DIR *);
  56. struct DSTRUCT *readdir(DOS_DIR *),
  57.                *seekdir(DOS_DIR *, int, int);
  58. #define         telldir(dd) dd->loc
  59.  
  60. int             patmat(const char *, const char *);
  61. int             dirmask(struct DSTRUCT *,char *,char *,unsigned,unsigned);
  62.  
  63. extern int DFerr;
  64.  
  65. extern DOS_DIR _DIRS[];
  66.  
  67. #endif /* DIRENT_H */
  68.