home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / fileutil / rh / dir.h < prev    next >
C/C++ Source or Header  |  1990-02-13  |  1KB  |  49 lines

  1. /*
  2.  * @(#) dir.h 1.4 87/11/06   Public Domain.
  3.  *
  4.  *  A public domain implementation of BSD directory routines for
  5.  *  MS-DOS.  Written by Michael Rendell ({uunet,utai}michael@garfield),
  6.  *  August 1897
  7.  *  Ported to OS/2 by Kai Uwe Rommel and added scandir prototype
  8.  *  December 1989
  9.  */
  10.  
  11. #define    rewinddir(dirp)    seekdir(dirp, 0L)
  12.  
  13. #define    MAXNAMLEN    12
  14.  
  15. struct direct 
  16. {
  17.     ino_t    d_ino;            /* a bit of a farce */
  18.     int    d_reclen;        /* more farce */
  19.     int    d_namlen;        /* length of d_name */
  20.         char    d_name[MAXNAMLEN + 1];  /* garentee null termination */
  21. };
  22.  
  23. struct _dircontents 
  24. {
  25.     char    *_d_entry;
  26.     struct _dircontents    *_d_next;
  27. };
  28.  
  29. typedef struct _dirdesc 
  30. {
  31.     int        dd_id;    /* uniquely identify each open directory */
  32.     long        dd_loc;    /* where we are in directory entry is this */
  33.     struct _dircontents    *dd_contents;    /* pointer to contents of dir */
  34.     struct _dircontents    *dd_cp;    /* pointer to current position */
  35. } DIR;
  36.  
  37. extern  DIR            *opendir(char *);
  38. extern  struct direct  *readdir(DIR *);
  39. extern  void            seekdir(DIR *, long);
  40. extern  long            telldir(DIR *);
  41. extern  void            closedir(DIR *);
  42.  
  43. extern  int             scandir(char *, struct direct ***,
  44.                                 int (*)(struct direct *), 
  45.                 int (*)(struct direct *, struct direct *));
  46.  
  47. extern  int         getfmode(char *);
  48. extern  int        setfmode(char *, unsigned);
  49.