home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / e20313sr.zip / emacs / 20.3.1 / src / ndir.h < prev    next >
C/C++ Source or Header  |  1999-07-31  |  1KB  |  56 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 "vmsdir.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. #ifdef WINDOWSNT
  26. #define MAXNAMLEN    255
  27. #else  /* not WINDOWSNT */
  28. #define MAXNAMLEN    15        /* maximum filename length */
  29. #endif /* not WINDOWSNT */
  30. #endif /* VMS */
  31.     /* NOTE:  MAXNAMLEN must be one less than a multiple of 4 */
  32.  
  33. struct direct                /* data from readdir() */
  34.     {
  35.     long        d_ino;        /* inode number of entry */
  36.     unsigned short    d_reclen;    /* length of this record */
  37.     unsigned short    d_namlen;    /* length of string in d_name */
  38.     char        d_name[MAXNAMLEN+1];    /* name of file */
  39.     };
  40.  
  41. typedef struct
  42.     {
  43.     int    dd_fd;            /* file descriptor */
  44.     int    dd_loc;            /* offset in block */
  45.     int    dd_size;        /* amount of valid data */
  46.     char    dd_buf[DIRBLKSIZ];    /* directory block */
  47.     }    DIR;            /* stream data from opendir() */
  48.  
  49. extern DIR        *opendir();
  50. extern struct direct    *readdir();
  51. extern long        telldir();
  52. extern void        seekdir();
  53. extern void        closedir();
  54.  
  55. #define rewinddir( dirp )    seekdir( dirp, 0L )
  56.