Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtksh / ksh93 / src / lib / libast / dir / dirlib.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: dirlib.h /main/3 1995/11/01 17:21:59 rswiston $ */
24 /***************************************************************
25 *                                                              *
26 *                      AT&T - PROPRIETARY                      *
27 *                                                              *
28 *         THIS IS PROPRIETARY SOURCE CODE LICENSED BY          *
29 *                          AT&T CORP.                          *
30 *                                                              *
31 *                Copyright (c) 1995 AT&T Corp.                 *
32 *                     All Rights Reserved                      *
33 *                                                              *
34 *           This software is licensed by AT&T Corp.            *
35 *       under the terms and conditions of the license in       *
36 *       http://www.research.att.com/orgs/ssr/book/reuse        *
37 *                                                              *
38 *               This software was created by the               *
39 *           Software Engineering Research Department           *
40 *                    AT&T Bell Laboratories                    *
41 *                                                              *
42 *               For further information contact                *
43 *                     gsf@research.att.com                     *
44 *                                                              *
45 ***************************************************************/
46
47 /* : : generated by proto : : */
48                   
49 /*
50  * AT&T Bell Laboratories
51  *
52  * directory stream access library private definitions
53  * library routines should include this file rather than <dirent.h>
54  */
55
56 #ifndef _DIRLIB_H
57 #if !defined(__PROTO__)
58 #if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
59 #if defined(__cplusplus)
60 #define __MANGLE__      "C"
61 #else
62 #define __MANGLE__
63 #endif
64 #define __STDARG__
65 #define __PROTO__(x)    x
66 #define __OTORP__(x)
67 #define __PARAM__(n,o)  n
68 #if !defined(__STDC__) && !defined(__cplusplus)
69 #if !defined(c_plusplus)
70 #define const
71 #endif
72 #define signed
73 #define void            int
74 #define volatile
75 #define __V_            char
76 #else
77 #define __V_            void
78 #endif
79 #else
80 #define __PROTO__(x)    ()
81 #define __OTORP__(x)    x
82 #define __PARAM__(n,o)  o
83 #define __MANGLE__
84 #define __V_            char
85 #define const
86 #define signed
87 #define void            int
88 #define volatile
89 #endif
90 #if defined(__cplusplus) || defined(c_plusplus)
91 #define __VARARG__      ...
92 #else
93 #define __VARARG__
94 #endif
95 #if defined(__STDARG__)
96 #define __VA_START__(p,a)       va_start(p,a)
97 #else
98 #define __VA_START__(p,a)       va_start(p)
99 #endif
100 #endif
101
102 #define _DIRLIB_H
103
104 #if defined(__STDPP__directive) && defined(__STDPP__hide)
105 __STDPP__directive pragma pp:hide getdents
106 #else
107 #define getdents        ______getdents
108 #endif
109
110 #include <ast.h>
111 #include <errno.h>
112
113 #if _lib_opendir && ( _hdr_dirent || _hdr_ndir || _sys_dir )
114
115 #define _dir_ok         1
116
117 #include <ls.h>
118 #ifndef _DIRENT_H
119 #if _hdr_dirent
120 #include <dirent.h>
121 #else
122 #if _hdr_ndir
123 #include <ndir.h>
124 #else
125 #include <sys/dir.h>
126 #endif
127 #ifndef dirent
128 #define dirent  direct
129 #endif
130 #endif
131 #endif
132
133 #else
134
135 #if defined(__STDPP__directive) && defined(__STDPP__hide)
136 __STDPP__directive pragma pp:hide DIR closedir dirent opendir readdir seekdir telldir
137 #else
138 #define DIR             ______DIR
139 #define closedir        ______closedir
140 #define dirent          ______dirent
141 #define opendir         ______opendir
142 #define readdir         ______readdir
143 #define seekdir         ______seekdir
144 #define telldir         ______telldir
145 #endif
146
147 #include <ast_param.h>
148
149 #include <ls.h>
150 #include <limits.h>
151 #include <sys/dir.h>
152
153 #if defined(__STDPP__directive) && defined(__STDPP__hide)
154 __STDPP__directive pragma pp:nohide DIR closedir dirent opendir readdir seekdir telldir
155 #else
156 #undef  DIR
157 #undef  closedir
158 #undef  dirent
159 #undef  opendir
160 #undef  readdir
161 #undef  seekdir
162 #undef  telldir
163 #endif
164
165 #define _DIR_PRIVATE_ \
166         int             dd_loc;         /* offset in block              */ \
167         int             dd_size;        /* valid data in block          */ \
168         char*           dd_buf;         /* directory block              */
169
170 #include "dirstd.h"
171
172 #ifndef DIRBLKSIZ
173 #ifdef  DIRBLK
174 #define DIRBLKSIZ       DIRBLK
175 #else
176 #ifdef  DIRBUF
177 #define DIRBLKSIZ       DIRBUF
178 #else
179 #define DIRBLKSIZ       8192
180 #endif
181 #endif
182 #endif
183
184 #endif
185
186 #if defined(__STDPP__directive) && defined(__STDPP__hide)
187 __STDPP__directive pragma pp:nohide getdents
188 #else
189 #undef  getdents
190 #endif
191
192 #ifndef errno
193 extern __MANGLE__ int   errno;
194 #endif
195
196 extern __MANGLE__ ssize_t               getdents __PROTO__((int, __V_*, size_t));
197
198 #endif