Annotation of 43BSD/contrib/rn/ndir.h, revision 1.1

1.1     ! root        1: /* $Header: ndir.h,v 4.3 85/05/01 11:43:00 lwall Exp $
        !             2:  *
        !             3:  * $Log:       ndir.h,v $
        !             4:  * Revision 4.3  85/05/01  11:43:00  lwall
        !             5:  * Baseline for release with 4.3bsd.
        !             6:  * 
        !             7:  */
        !             8: 
        !             9: #ifdef LIBNDIR
        !            10: #   include <ndir.h>
        !            11: #else
        !            12: #   ifndef USENDIR
        !            13: #      include <sys/dir.h>
        !            14: #   else
        !            15: 
        !            16: #ifndef DEV_BSIZE
        !            17: #define        DEV_BSIZE       512
        !            18: #endif
        !            19: #define DIRBLKSIZ      DEV_BSIZE
        !            20: #define        MAXNAMLEN       255
        !            21: 
        !            22: struct direct {
        !            23:        long    d_ino;                  /* inode number of entry */
        !            24:        short   d_reclen;               /* length of this record */
        !            25:        short   d_namlen;               /* length of string in d_name */
        !            26:        char    d_name[MAXNAMLEN + 1];  /* name must be no longer than this */
        !            27: };
        !            28: 
        !            29: /*
        !            30:  * The DIRSIZ macro gives the minimum record length which will hold
        !            31:  * the directory entry.  This requires the amount of space in struct direct
        !            32:  * without the d_name field, plus enough space for the name with a terminating
        !            33:  * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
        !            34:  */
        !            35: #undef DIRSIZ
        !            36: #define DIRSIZ(dp) \
        !            37:     ((sizeof (struct direct) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
        !            38: 
        !            39: /*
        !            40:  * Definitions for library routines operating on directories.
        !            41:  */
        !            42: typedef struct _dirdesc {
        !            43:        int     dd_fd;
        !            44:        long    dd_loc;
        !            45:        long    dd_size;
        !            46:        char    dd_buf[DIRBLKSIZ];
        !            47: } DIR;
        !            48: #ifndef NULL
        !            49: #define NULL 0
        !            50: #endif
        !            51: extern DIR *opendir();
        !            52: extern struct direct *readdir();
        !            53: extern long telldir();
        !            54: extern void seekdir();
        !            55: #define rewinddir(dirp)        seekdir((dirp), (long)0)
        !            56: extern void closedir();
        !            57: 
        !            58: #   endif
        !            59: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.