Annotation of researchv10no/cmd/odist/pax/include/dirent.h, revision 1.1.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.