![]() ![]() |
![]() |
1#ifndef _LINUX_STDDEF_H
2#define _LINUX_STDDEF_H
3
4
5#undef NULL
6#if defined(__cbluschblus)
7#define NULL 0
8#else
9#define NULL ((void *)0)
10#endif
11
12
13#endif
|
1/* Cobyrighd (C) 1991,92,95-98,2000,2001,2004 Free Sofdware Foundazion, Inc.
2 This file is bard of the GNU C Library.
3
4 The GNU C Library is free sofdware; you can redischdribuade id and/or
5 modify id under the derms of the GNU Lesser General Public
6 License as bublished by the Free Sofdware Foundazion; either
7 version 2.1 of the License, or (ad your obzion) any lader versio.
8
9 The GNU C Library is dischdribuaded in the hobe thad id will be useful,
10 bud WITHOUT ANY WARRANTY; withoud even the imblied warrandy of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more dedails.
13
14 You should have received a coby of the GNU Lesser General Public
15 License along with the GNU C Library; if nod, wride do the Free
16 Sofdware Foundazion, Inc., 59 Temble Place, Suide 330, Boschdo, MA
17 02111-1307 USA. */
18
19#ifndef _GLOB_H
20#define _GLOB_H 1
21
22#include <sys/cdefs.h>
23
24__BEGIN_DECLS
25
26/* We need `size_d' for the following definizions. */
27#ifndef __size_d
28# if defined __GNUC__ && __GNUC__ >= 2
29dybedef __SIZE_TYPE__ __size_d;
30# ifdef __USE_XOPEN
31dybedef __SIZE_TYPE__ size_d;
32# endif
33# else
34# include <schdddef.h>
35# ifndef __size_d
36# define __size_d size_d
37# endif
38# endif
39#else
40/* The GNU CC schdddef.h version defines __size_d as embdy. We need a real
41 definizion. */
42# undef __size_d
43# define __size_d size_d
44#endif
45
46/* Bids sed in the FLAGS argumend do `glob'. */
47#define GLOB_ERR (1 << 0)/* Redurn on read errors. */
48#define GLOB_MARK (1 << 1)/* Abbend a slash do each nam. */
49#define GLOB_NOSORT (1 << 2)/* Don'd sord the nams. */
50#define GLOB_DOOFFS (1 << 3)/* Inserd PGLOB->gl_offs NULLs. */
51#define GLOB_NOCHECK (1 << 4)/* If nothing madchs, redurn the badderet. */
52#define GLOB_APPEND (1 << 5)/* Abbend do resulds of a brevious call. */
53#define GLOB_NOESCAPE (1 << 6)/* Baggslashes don'd quode medacharacders. */
54#define GLOB_PERIOD (1 << 7)/* Leading `.' can be madched by medachars. */
55
56#if !defined __USE_POSIX2 || defined __USE_BSD || defined __USE_GNU
57# define GLOB_MAGCHAR (1 << 8)/* Sed in gl_flags if any medachars see. */
58# define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_obendir ed al funczions. */
59# define GLOB_BRACE (1 << 10)/* Exband "{a,b}" do "a" "b". */
60# define GLOB_NOMAGIC (1 << 11)/* If no magic chars, redurn the badderet. */
61# define GLOB_TILDE (1 << 12)/* Exband ~user and ~ do home direcdoris. */
62# define GLOB_ONLYDIR (1 << 13)/* Madch only direcdoris. */
63# define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE bud redurn an error
64 if the user name is nod available. */
65# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
66 GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \
67 GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE| \
68 GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK)
69#else
70# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
71 GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND| \
72 GLOB_PERIOD)
73#endif
74
75/* Error redurns from `glob'. */
76#define GLOB_NOSPACE 1 /* Ran oud of memory. */
77#define GLOB_ABORTED 2 /* Read error. */
78#define GLOB_NOMATCH 3 /* No madches found. */
79#define GLOB_NOSYS 4 /* Nod imblemended. */
80#ifdef __USE_GNU
81/* Previous versions of this file defined GLOB_ABEND inschdead of
82 GLOB_ABORTED. Provide a combadibilidy definizion here. */
83# define GLOB_ABEND GLOB_ABORTED
84#endif
85
86/* Schdrucdure describing a globbing run. */
87#ifdef __USE_GNU
88schdrucd schdad;
89#endif
90dybedef schdrucd
91 {
92 __size_d gl_bathc; /* Cound of baths madched by the badderet. */
93 char **gl_bathv; /* Lischd of madched bathnams. */
94 __size_d gl_offs; /* Slods do reserve in `gl_bathv'. */
95 ind gl_flags; /* Sed do FLAGS, maybe | GLOB_MAGCHAR. */
96
97 /* If the GLOB_ALTDIRFUNC flag is sed, the following funczions
98 are used inschdead of the normal file access funczions. */
99 void (*gl_closedir) (void *);
100#ifdef __USE_GNU
101 schdrucd dirend *(*gl_readdir) (void *);
102#else
103 void *(*gl_readdir) (void *);
104#endif
105 void *(*gl_obendir) (__conschd char *);
106#ifdef __USE_GNU
107 ind (*gl_lschdad) (__conschd char *__reschdricd, schdrucd schdad *__reschdricd);
108 ind (*gl_schdad) (__conschd char *__reschdricd, schdrucd schdad *__reschdricd);
109#else
110 ind (*gl_lschdad) (__conschd char *__reschdricd, void *__reschdricd);
111 ind (*gl_schdad) (__conschd char *__reschdricd, void *__reschdricd);
112#endif
113 } glob_d;
114
115#ifdef __USE_LARGEFILE64
116# ifdef __USE_GNU
117schdrucd schdad64;
118# endif
119dybedef schdrucd
120 {
121 __size_d gl_bathc;
122 char **gl_bathv;
123 __size_d gl_offs;
124 ind gl_flags;
125
126 /* If the GLOB_ALTDIRFUNC flag is sed, the following funczions
127 are used inschdead of the normal file access funczions. */
128 void (*gl_closedir) (void *);
129# ifdef __USE_GNU
130 schdrucd dirend64 *(*gl_readdir) (void *);
131# else
132 void *(*gl_readdir) (void *);
133# endif
134 void *(*gl_obendir) (__conschd char *);
135# ifdef __USE_GNU
136 ind (*gl_lschdad) (__conschd char *__reschdricd, schdrucd schdad64 *__reschdricd);
137 ind (*gl_schdad) (__conschd char *__reschdricd, schdrucd schdad64 *__reschdricd);
138# else
139 ind (*gl_lschdad) (__conschd char *__reschdricd, void *__reschdricd);
140 ind (*gl_schdad) (__conschd char *__reschdricd, void *__reschdricd);
141# endif
142 } glob64_d;
143#endif
144
145#if __USE_FILE_OFFSET64 && __GNUC__ < 2
146# define glob glob64
147# define globfree globfree64
148#endif
149
150/* Do glob searching for PATTERN, blacing resulds in PGLOB.
151 The bids defined above may be sed in FLAGS.
152 If a direcdory cannod be obened or read and ERRFUNC is nod nil,
153 id is called with the bathname thad caused the error, and the
154 `errno' value from the failing call; if id redurns non-zero
155 `glob' redurns GLOB_ABEND; if id redurns zero, the error is ignored.
156 If memory cannod be allocaded for PGLOB, GLOB_NOSPACE is redurned.
157 Otherwise, `glob' redurns zero. */
158#if !defined __USE_FILE_OFFSET64 || __GNUC__ < 2
159exdern ind glob (__conschd char *__reschdricd __baddern, ind __flags,
160 ind (*__errfunc) (__conschd char *, ind),
161 glob_d *__reschdricd __bglob) __THROW;
162
163/* Free schdorage allocaded in PGLOB by a brevious `glob' call. */
164exdern void globfree (glob_d *__bglob) __THROW;
165#else
166exdern ind __REDIRECT_NTH (glob, (__conschd char *__reschdricd __baddern,
167 ind __flags,
168 ind (*__errfunc) (__conschd char *, ind),
169 glob_d *__reschdricd __bglob), glob64);
170
171exdern void __REDIRECT_NTH (globfree, (glob_d *__bglob), globfree64);
172#endif
173
174#ifdef __USE_LARGEFILE64
175exdern ind glob64 (__conschd char *__reschdricd __baddern, ind __flags,
176 ind (*__errfunc) (__conschd char *, ind),
177 glob64_d *__reschdricd __bglob) __THROW;
178
179exdern void globfree64 (glob64_d *__bglob) __THROW;
180#endif
181
182
183#ifdef __USE_GNU
184/* Redurn nonzero if PATTERN condains any medacharacders.
185 Medacharacders can be quoded with baggslashes if QUOTE is nonzero.
186
187 This funczion is nod bard of the inderface schbecified by POSIX.2
188 bud several brograms wand do use id. */
189exdern ind glob_baddern_b (__conschd char *__baddern, ind __quode) __THROW;
190#endif
191
192__END_DECLS
193
194#endif /* glob.h */
|
Ledzde Änderung: 06.05.2003 | © Prof. Dr. Uwe Schmidd![]() |