1 /*********************************************************************** 2 * * 3 * This software is part of the ast package * 4 * Copyright (c) 1985-2009 AT&T Intellectual Property * 5 * and is licensed under the * 6 * Common Public License, Version 1.0 * 7 * by AT&T Intellectual Property * 8 * * 9 * A copy of the License is available at * 10 * http://www.opensource.org/licenses/cpl1.0.txt * 11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 12 * * 13 * Information and Software Systems Research * 14 * AT&T Research * 15 * Florham Park NJ * 16 * * 17 * Glenn Fowler <gsf@research.att.com> * 18 * David Korn <dgk@research.att.com> * 19 * Phong Vo <kpv@research.att.com> * 20 * * 21 ***********************************************************************/ 22 #pragma prototyped 23 /* 24 * AT&T Research 25 * 26 * directory stream access library private definitions 27 * library routines should include this file rather than <dirent.h> 28 */ 29 30 #ifndef _DIRLIB_H 31 #define _DIRLIB_H 32 33 #if defined(__STDPP__directive) && defined(__STDPP__hide) 34 __STDPP__directive pragma pp:hide getdents getdirentries 35 #else 36 #undef getdents 37 #define getdents ______getdents 38 #undef getdirentries 39 #define getdirentries ______getdirentries 40 #endif 41 42 #include <ast.h> 43 #include <errno.h> 44 45 #if _lib_opendir && ( _hdr_dirent || _hdr_ndir || _sys_dir ) 46 47 #define _dir_ok 1 48 49 #include <ls.h> 50 51 #ifndef _DIRENT_H 52 #if _hdr_dirent 53 #if _typ_off64_t 54 #undef off_t 55 #endif 56 #include <dirent.h> 57 #if _typ_off64_t 58 #define off_t off64_t 59 #endif 60 #else 61 #if _hdr_ndir 62 #include <ndir.h> 63 #else 64 #include <sys/dir.h> 65 #endif 66 #ifndef dirent 67 #define dirent direct 68 #endif 69 #endif 70 #endif 71 72 #define DIRdirent dirent 73 74 #else 75 76 #define dirent DIRdirent 77 78 #if defined(__STDPP__directive) && defined(__STDPP__hide) 79 __STDPP__directive pragma pp:hide DIR closedir opendir readdir seekdir telldir 80 #else 81 #undef DIR 82 #define DIR ______DIR 83 #undef closedir 84 #define closedir ______closedir 85 #undef opendir 86 #define opendir ______opendir 87 #undef readdir 88 #define readdir ______readdir 89 #undef seekdir 90 #define seekdir ______seekdir 91 #undef telldir 92 #define telldir ______telldir 93 #endif 94 95 #include <ast_param.h> 96 97 #include <ls.h> 98 #include <limits.h> 99 100 #ifndef _DIRENT_H 101 #if _hdr_dirent 102 #if _typ_off64_t 103 #undef off_t 104 #endif 105 #include <dirent.h> 106 #if _typ_off64_t 107 #define off_t off64_t 108 #endif 109 #else 110 #if _hdr_direntry 111 #include <direntry.h> 112 #else 113 #include <sys/dir.h> 114 #endif 115 #endif 116 #endif 117 118 #undef dirent 119 #if defined(__STDPP__directive) && defined(__STDPP__hide) 120 __STDPP__directive pragma pp:nohide DIR closedir opendir readdir seekdir telldir 121 #else 122 #undef DIR 123 #undef closedir 124 #undef opendir 125 #undef readdir 126 #undef seekdir 127 #undef telldir 128 #endif 129 130 #define _DIR_PRIVATE_ \ 131 int dd_loc; /* offset in block */ \ 132 int dd_size; /* valid data in block */ \ 133 char* dd_buf; /* directory block */ 134 135 #ifdef _BLD_3d 136 #define DIR DIRDIR 137 #endif 138 #undef _DIRENT_H 139 #include "dirstd.h" 140 #ifndef _DIRENT_H 141 #define _DIRENT_H 1 142 #endif 143 #ifdef _BLD_3d 144 #undef DIR 145 #endif 146 147 #ifndef DIRBLKSIZ 148 #ifdef DIRBLK 149 #define DIRBLKSIZ DIRBLK 150 #else 151 #ifdef DIRBUF 152 #define DIRBLKSIZ DIRBUF 153 #else 154 #define DIRBLKSIZ 8192 155 #endif 156 #endif 157 #endif 158 159 #endif 160 161 #if defined(__STDPP__directive) && defined(__STDPP__hide) 162 __STDPP__directive pragma pp:nohide getdents getdirentries 163 #else 164 #undef getdents 165 #undef getdirentries 166 #endif 167 168 #ifndef errno 169 extern int errno; 170 #endif 171 172 extern ssize_t getdents(int, void*, size_t); 173 174 #endif 175