home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume9 / gwyn-dir-lib / sys.dirent.h < prev    next >
C/C++ Source or Header  |  1987-04-30  |  980b  |  30 lines

  1. /*
  2.     <sys/dirent.h> -- file system independent directory entry (SVR3)
  3.  
  4.     last edit:    25-Apr-1987    D A Gwyn
  5.  
  6.     prerequisite:    <sys/types.h>
  7. */
  8.  
  9. struct dirent                /* data from getdents()/readdir() */
  10.     {
  11.     long        d_ino;        /* inode number of entry */
  12.     off_t        d_off;        /* offset of disk directory entry */
  13.     unsigned short    d_reclen;    /* length of this record */
  14.     char        d_name[1];    /* name of file */    /* non-POSIX */
  15.     };
  16.  
  17. /* The following nonportable ugliness could have been avoided by defining
  18.    DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments. */
  19. #define    DIRENTBASESIZ        (((struct dirent *)0)->d_name \
  20.                 - (char *)&((struct dirent *)0)->d_ino)
  21. #define    DIRENTSIZ( namlen )    ((DIRENTBASESIZ + sizeof(long) + (namlen)) \
  22.                 / sizeof(long) * sizeof(long))
  23.  
  24. /* DAG -- the following was moved from <dirent.h>, which was the wrong place */
  25. #define    MAXNAMLEN    512        /* maximum filename length */
  26.  
  27. #ifndef NAME_MAX
  28. #define    NAME_MAX    (MAXNAMLEN - 1)    /* DAG -- added for POSIX */
  29. #endif
  30.