Annotation of researchv10no/cmd/odist/pax/include/dirent.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * AT&T Bell Laboratories
        !             3:  * directory stream access definitions
        !             4:  *
        !             5:  *     #include <sys/types.h>
        !             6:  *     #include <dirent.h>
        !             7:  *
        !             8:  * : : generated by mkhdr and  genhdr : :
        !             9:  */
        !            10: 
        !            11: #ifndef __DIRENT_H__
        !            12: 
        !            13: #include <lcldirent.h>
        !            14: 
        !            15: #ifndef __DIRENT_H__
        !            16: #define __DIRENT_H__
        !            17: #endif
        !            18: 
        !            19: #define _dir_sys       1       /* #include <sys/dir.h> ok */
        !            20: 
        !            21: #ifndef d_fileno
        !            22: #define d_fileno       d_ino
        !            23: #endif
        !            24: 
        !            25: #ifndef _lcl_dirent
        !            26: 
        !            27: #ifdef _dir_sys
        !            28: 
        !            29: #include <sys/dir.h>
        !            30: 
        !            31: #else
        !            32: 
        !            33: #undef _dir_rewinddir
        !            34: 
        !            35: #define DIRSIZ 14
        !            36: 
        !            37: struct direct
        !            38: {
        !            39:        short   d_ino;
        !            40:        char    d_name[DIRSIZ];
        !            41: };
        !            42: 
        !            43: #endif
        !            44: 
        !            45: #ifdef _dir_rewinddir
        !            46: 
        !            47: /*
        !            48:  * variable length directory entry format
        !            49:  */
        !            50: 
        !            51: #define _dir_variable
        !            52: 
        !            53: #ifndef dirent
        !            54: #define dirent direct
        !            55: #endif
        !            56: 
        !            57: #else
        !            58: 
        !            59: /*
        !            60:  * fixed length directory entry format
        !            61:  */
        !            62: 
        !            63: #define _dir_fixed
        !            64: 
        !            65: #ifndef DIRSIZ
        !            66: #define DIRSIZ         14              /* maximum entry link length    */
        !            67: #endif
        !            68: 
        !            69: #ifndef MAXNAMLEN
        !            70: #define        MAXNAMLEN       DIRSIZ          /* maximum filename length      */
        !            71: #endif
        !            72: 
        !            73: #ifdef _dir_getdents
        !            74: 
        !            75: struct dirent                          /* data from local getdents()   */
        !            76: {
        !            77:        long            d_ino;          /* file number of entry         */
        !            78:        long            d_off;          /* entry seek offset            */
        !            79:        unsigned short  d_reclen;       /* length of this record        */
        !            80:        char            d_name[1];      /* link name                    */
        !            81: };
        !            82: 
        !            83: #else
        !            84: 
        !            85: #ifndef _dir_namlen
        !            86: #define _dir_namlen    1
        !            87: #endif
        !            88: 
        !            89: struct dirent                          /* data from readdir()          */
        !            90: {
        !            91:        long            d_fileno;       /* file number of entry         */
        !            92:        unsigned short  d_reclen;       /* length of this record        */
        !            93:        unsigned short  d_namlen;       /* strlen(d_name)               */
        !            94:        char            d_name[1];      /* link name                    */
        !            95: };
        !            96: 
        !            97: #endif
        !            98: 
        !            99: typedef struct
        !           100: {
        !           101:        int             dd_fd;          /* file descriptor              */
        !           102:        int             dd_loc;         /* offset in block              */
        !           103:        int             dd_size;        /* amount of valid data         */
        !           104:        char*           dd_buf;         /* directory block              */
        !           105: } DIR;                                 /* stream data from opendir()   */
        !           106: 
        !           107: extern DIR*            opendir();
        !           108: extern struct dirent*  readdir();
        !           109: extern long            telldir();
        !           110: extern void            seekdir();
        !           111: extern void            closedir();
        !           112: 
        !           113: #if !_dir_local
        !           114: #define rewinddir(dirp)        seekdir(dirp,0L)
        !           115: #endif
        !           116: 
        !           117: #endif
        !           118: 
        !           119: #endif
        !           120: 
        !           121: #if _dir_namlen
        !           122: #define DIRNAMLEN(d)   ((d)->d_namlen)
        !           123: #else
        !           124: #define DIRNAMLEN(d)   strlen((d)->d_name)
        !           125: #endif
        !           126: 
        !           127: #endif

unix.superglobalmegacorp.com

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