Annotation of gcc/config/winnt/dirent.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * dirent.h
                      3:  */
                      4: 
                      5: #ifndef _DIRENT_H
                      6: #  define _DIRENT_H
                      7: 
                      8: #  include <sys/types.h>
                      9: #  include <limits.h>
                     10: 
                     11: #define MAXNAMLEN      255     /* maximum filename length              */
                     12: 
                     13: #ifndef NAME_MAX
                     14: #define        NAME_MAX        (MAXNAMLEN - 1)
                     15: #endif
                     16: 
                     17: struct dirent                  /* data from getdents()/readdir()       */
                     18: {
                     19:     ino_t      d_ino;          /* inode number of entry                */
                     20:     off_t      d_off;          /* offset of disk directory entry       */
                     21:     wchar_t    d_reclen;       /* length of this record                */
                     22:     char       d_name[MAXNAMLEN + 1];
                     23: };
                     24: 
                     25: 
                     26: /* The following nonportable ugliness could have been avoided by defining
                     27:  * DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments.
                     28:  * There shouldn't be any problem if you avoid using the DIRENTSIZ() macro.
                     29:  */
                     30: 
                     31: #define        DIRENTBASESIZ           (((struct dirent *)0)->d_name \
                     32:                                - (char *)&((struct dirent *)0)->d_ino)
                     33: 
                     34: #define        DIRENTSIZ(namlen)       ((DIRENTBASESIZ + sizeof(long) + (namlen)) \
                     35:                                / sizeof(long) * sizeof(long))
                     36: 
                     37: 
                     38: 
                     39: #  ifndef _BOOL_T_DEFINED
                     40: typedef unsigned char  bool;
                     41: #  define _BOOL_T_DEFINED
                     42: #  endif
                     43: 
                     44: #  define DIRBUF       8192    /* buffer size for fs-indep. dirs       */
                     45:                                /* must in general be larger than the   */
                     46:                                /* filesystem buffer size               */
                     47: 
                     48: struct _dircontents {
                     49:     char               *_d_entry;
                     50:     struct _dircontents        *_d_next;
                     51: };
                     52: 
                     53: typedef struct _dirdesc {
                     54:     int                        dd_id;  /* uniquely identify each open directory */
                     55:     long               dd_loc; /* where we are in directory entry is this */
                     56:     struct _dircontents        *dd_contents;   /* pointer to contents of dir   */
                     57:     struct _dircontents        *dd_cp;         /* pointer to current position  */
                     58: } DIR;
                     59: 
                     60: 
                     61: #if defined (__STDC__)
                     62: #  define _PROTO(p)    p
                     63: #else
                     64: #  define _PROTO(p)    ()
                     65: #  undef  const
                     66: #  undef  volatile
                     67: #endif
                     68: 
                     69: /* Functions */
                     70: 
                     71: extern DIR *           opendir _PROTO ((const char *));
                     72: extern struct dirent *         readdir _PROTO ((DIR *));
                     73: extern void            rewinddir _PROTO ((DIR *));
                     74: 
                     75: extern int             closedir _PROTO ((DIR *));
                     76: extern void            seekdir _PROTO ((DIR *, off_t));
                     77: extern off_t           telldir _PROTO ((DIR *));
                     78: 
                     79: extern int             chdir _PROTO ((const char *));
                     80: extern char *          getcwd _PROTO ((char *, size_t));
                     81: 
                     82: extern int             mkdir _PROTO ((const char *));
                     83: 
                     84: extern int             rmdir _PROTO ((const char *));
                     85: extern int             scandir _PROTO ((char *,
                     86:                         struct dirent ***,
                     87:                         int (*)(const void *, const void *),
                     88:                         int (*)(const void *, const void *)));
                     89: 
                     90: extern int             _chdrive _PROTO ((int));
                     91: extern int             _getdrive _PROTO ((void));
                     92: extern char *          _getdcwd _PROTO ((int, char *, int));
                     93: 
                     94: extern bool            IsHPFSFileSystem _PROTO ((char *));
                     95: 
                     96: #endif

unix.superglobalmegacorp.com

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