sd: remove 'ssd' driver support
[unleashed/tickless.git] / usr / src / lib / libast / common / dir / dirlib.h
blobd6d9aa708e85f51f32f5f022ebbcb4b5df2aaa34
1 /***********************************************************************
2 * *
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 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
24 * AT&T Research
26 * directory stream access library private definitions
27 * library routines should include this file rather than <dirent.h>
30 #ifndef _DIRLIB_H
31 #define _DIRLIB_H
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
42 #include <ast.h>
43 #include <errno.h>
45 #if _lib_opendir && ( _hdr_dirent || _hdr_ndir || _sys_dir )
47 #define _dir_ok 1
49 #include <ls.h>
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
72 #define DIRdirent dirent
74 #else
76 #define dirent DIRdirent
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
95 #include <ast_param.h>
97 #include <ls.h>
98 #include <limits.h>
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
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
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 */
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
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
159 #endif
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
168 #ifndef errno
169 extern int errno;
170 #endif
172 extern ssize_t getdents(int, void*, size_t);
174 #endif