home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / GNUMAN.ZIP / ndir.h < prev    next >
C/C++ Source or Header  |  1991-01-10  |  1KB  |  52 lines

  1. /*
  2.     <dir.h> -- definitions for 4.2BSD-compatible directory access
  3.  
  4.     last edit:    09-Jul-1983    D A Gwyn
  5. */
  6.  
  7. #ifdef VMS
  8. #ifndef FAB$C_BID
  9. #include <fab.h>
  10. #endif
  11. #ifndef NAM$C_BID
  12. #include <nam.h>
  13. #endif
  14. #ifndef RMS$_SUC
  15. #include <rmsdef.h>
  16. #endif
  17. #include "dir.h"
  18. #endif /* VMS */
  19.  
  20. #define DIRBLKSIZ    512        /* size of directory block */
  21. #ifdef VMS
  22. #define MAXNAMLEN    (DIR$S_NAME + 7) /* 80 plus room for version #.  */
  23. #define MAXFULLSPEC    NAM$C_MAXRSS /* Maximum full spec */
  24. #else
  25. #define MAXNAMLEN    15        /* maximum filename length */
  26. #endif /* VMS */
  27.     /* NOTE:  MAXNAMLEN must be one less than a multiple of 4 */
  28.  
  29. struct direct                /* data from readdir() */
  30.     {
  31.     long        d_ino;        /* inode number of entry */
  32.     unsigned short    d_reclen;    /* length of this record */
  33.     unsigned short    d_namlen;    /* length of string in d_name */
  34.     char        d_name[MAXNAMLEN+1];    /* name of file */
  35.     };
  36.  
  37. typedef struct
  38.     {
  39.     int    dd_fd;            /* file descriptor */
  40.     int    dd_loc;            /* offset in block */
  41.     int    dd_size;        /* amount of valid data */
  42.     char    dd_buf[DIRBLKSIZ];    /* directory block */
  43.     }    DIR;            /* stream data from opendir() */
  44.  
  45. extern DIR        *opendir();
  46. extern struct direct    *readdir();
  47. extern long        telldir();
  48. extern void        seekdir();
  49. extern void        closedir();
  50.  
  51. #define rewinddir( dirp )    seekdir( dirp, 0L )
  52.