summaryrefslogtreecommitdiffstats
path: root/gl/stdio.h
diff options
context:
space:
mode:
Diffstat (limited to 'gl/stdio.h')
-rw-r--r--gl/stdio.h411
1 files changed, 0 insertions, 411 deletions
diff --git a/gl/stdio.h b/gl/stdio.h
deleted file mode 100644
index f09ee83..0000000
--- a/gl/stdio.h
+++ /dev/null
@@ -1,411 +0,0 @@
1/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
2/* A GNU-like <stdio.h>.
3
4 Copyright (C) 2004, 2007-2008 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software Foundation,
18 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
19
20#if defined __need_FILE || defined __need___FILE
21/* Special invocation convention inside glibc header files. */
22
23#include_next <stdio.h>
24
25#else
26/* Normal invocation convention. */
27
28#ifndef _GL_STDIO_H
29
30/* The include_next requires a split double-inclusion guard. */
31#include_next <stdio.h>
32
33#ifndef _GL_STDIO_H
34#define _GL_STDIO_H
35
36#include <stdarg.h>
37#include <stddef.h>
38
39#if (0 && 0) \
40 || (0 && 0) \
41 || (0 && !1) \
42 || (0 && (!1 || 0))
43/* Get off_t and ssize_t. */
44# include <sys/types.h>
45#endif
46
47#ifndef __attribute__
48/* This feature is available in gcc versions 2.5 and later. */
49# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
50# define __attribute__(Spec) /* empty */
51# endif
52/* The __-protected variants of `format' and `printf' attributes
53 are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
54# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
55# define __format__ format
56# define __printf__ printf
57# endif
58#endif
59
60
61/* The definition of GL_LINK_WARNING is copied here. */
62/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
63 a linker warning on most glibc systems.
64 We use a linker warning rather than a preprocessor warning, because
65 #warning cannot be used inside macros. */
66#ifndef GL_LINK_WARNING
67 /* This works on platforms with GNU ld and ELF object format.
68 Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
69 Testing __ELF__ guarantees the ELF object format.
70 Testing __GNUC__ is necessary for the compound expression syntax. */
71# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
72# define GL_LINK_WARNING(message) \
73 GL_LINK_WARNING1 (__FILE__, __LINE__, message)
74# define GL_LINK_WARNING1(file, line, message) \
75 GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */
76# define GL_LINK_WARNING2(file, line, message) \
77 GL_LINK_WARNING3 (file ":" #line ": warning: " message)
78# define GL_LINK_WARNING3(message) \
79 ({ static const char warning[sizeof (message)] \
80 __attribute__ ((__unused__, \
81 __section__ (".gnu.warning"), \
82 __aligned__ (1))) \
83 = message "\n"; \
84 (void)0; \
85 })
86# else
87# define GL_LINK_WARNING(message) ((void) 0)
88# endif
89#endif
90
91
92#ifdef __cplusplus
93extern "C" {
94#endif
95
96
97#if 0
98# if 0
99# define fprintf rpl_fprintf
100extern int fprintf (FILE *fp, const char *format, ...)
101 __attribute__ ((__format__ (__printf__, 2, 3)));
102# endif
103#elif defined GNULIB_POSIXCHECK
104# undef fprintf
105# define fprintf \
106 (GL_LINK_WARNING ("fprintf is not always POSIX compliant - " \
107 "use gnulib module fprintf-posix for portable " \
108 "POSIX compliance"), \
109 fprintf)
110#endif
111
112#if 0
113# if 0
114# define vfprintf rpl_vfprintf
115extern int vfprintf (FILE *fp, const char *format, va_list args)
116 __attribute__ ((__format__ (__printf__, 2, 0)));
117# endif
118#elif defined GNULIB_POSIXCHECK
119# undef vfprintf
120# define vfprintf(s,f,a) \
121 (GL_LINK_WARNING ("vfprintf is not always POSIX compliant - " \
122 "use gnulib module vfprintf-posix for portable " \
123 "POSIX compliance"), \
124 vfprintf (s, f, a))
125#endif
126
127#if 0
128# if 0
129/* Don't break __attribute__((format(printf,M,N))). */
130# define printf __printf__
131extern int printf (const char *format, ...)
132 __attribute__ ((__format__ (__printf__, 1, 2)));
133# endif
134#elif defined GNULIB_POSIXCHECK
135# undef printf
136# define printf \
137 (GL_LINK_WARNING ("printf is not always POSIX compliant - " \
138 "use gnulib module printf-posix for portable " \
139 "POSIX compliance"), \
140 printf)
141/* Don't break __attribute__((format(printf,M,N))). */
142# define format(kind,m,n) format (__##kind##__, m, n)
143# define __format__(kind,m,n) __format__ (__##kind##__, m, n)
144# define ____printf____ __printf__
145# define ____scanf____ __scanf__
146# define ____strftime____ __strftime__
147# define ____strfmon____ __strfmon__
148#endif
149
150#if 0
151# if 0
152# define vprintf rpl_vprintf
153extern int vprintf (const char *format, va_list args)
154 __attribute__ ((__format__ (__printf__, 1, 0)));
155# endif
156#elif defined GNULIB_POSIXCHECK
157# undef vprintf
158# define vprintf(f,a) \
159 (GL_LINK_WARNING ("vprintf is not always POSIX compliant - " \
160 "use gnulib module vprintf-posix for portable " \
161 "POSIX compliance"), \
162 vprintf (f, a))
163#endif
164
165#if 1
166# if 0
167# define snprintf rpl_snprintf
168# endif
169# if 0 || !1
170extern int snprintf (char *str, size_t size, const char *format, ...)
171 __attribute__ ((__format__ (__printf__, 3, 4)));
172# endif
173#elif defined GNULIB_POSIXCHECK
174# undef snprintf
175# define snprintf \
176 (GL_LINK_WARNING ("snprintf is unportable - " \
177 "use gnulib module snprintf for portability"), \
178 snprintf)
179#endif
180
181#if 1
182# if 0
183# define vsnprintf rpl_vsnprintf
184# endif
185# if 0 || !1
186extern int vsnprintf (char *str, size_t size, const char *format, va_list args)
187 __attribute__ ((__format__ (__printf__, 3, 0)));
188# endif
189#elif defined GNULIB_POSIXCHECK
190# undef vsnprintf
191# define vsnprintf(b,s,f,a) \
192 (GL_LINK_WARNING ("vsnprintf is unportable - " \
193 "use gnulib module vsnprintf for portability"), \
194 vsnprintf (b, s, f, a))
195#endif
196
197#if 0
198# if 0
199# define sprintf rpl_sprintf
200extern int sprintf (char *str, const char *format, ...)
201 __attribute__ ((__format__ (__printf__, 2, 3)));
202# endif
203#elif defined GNULIB_POSIXCHECK
204# undef sprintf
205# define sprintf \
206 (GL_LINK_WARNING ("sprintf is not always POSIX compliant - " \
207 "use gnulib module sprintf-posix for portable " \
208 "POSIX compliance"), \
209 sprintf)
210#endif
211
212#if 0
213# if 0
214# define vsprintf rpl_vsprintf
215extern int vsprintf (char *str, const char *format, va_list args)
216 __attribute__ ((__format__ (__printf__, 2, 0)));
217# endif
218#elif defined GNULIB_POSIXCHECK
219# undef vsprintf
220# define vsprintf(b,f,a) \
221 (GL_LINK_WARNING ("vsprintf is not always POSIX compliant - " \
222 "use gnulib module vsprintf-posix for portable " \
223 "POSIX compliance"), \
224 vsprintf (b, f, a))
225#endif
226
227#if 1
228# if 0
229# define asprintf rpl_asprintf
230# define vasprintf rpl_vasprintf
231# endif
232# if 0 || !1
233 /* Write formatted output to a string dynamically allocated with malloc().
234 If the memory allocation succeeds, store the address of the string in
235 *RESULT and return the number of resulting bytes, excluding the trailing
236 NUL. Upon memory allocation error, or some other error, return -1. */
237 extern int asprintf (char **result, const char *format, ...)
238 __attribute__ ((__format__ (__printf__, 2, 3)));
239 extern int vasprintf (char **result, const char *format, va_list args)
240 __attribute__ ((__format__ (__printf__, 2, 0)));
241# endif
242#endif
243
244#if 0
245# if 0
246# define fopen rpl_fopen
247extern FILE * fopen (const char *filename, const char *mode);
248# endif
249#elif defined GNULIB_POSIXCHECK
250# undef fopen
251# define fopen(f,m) \
252 (GL_LINK_WARNING ("fopen on Win32 platforms is not POSIX compatible - " \
253 "use gnulib module fopen for portability"), \
254 fopen (f, m))
255#endif
256
257#if 0
258# if 0
259# define freopen rpl_freopen
260extern FILE * freopen (const char *filename, const char *mode, FILE *stream);
261# endif
262#elif defined GNULIB_POSIXCHECK
263# undef freopen
264# define freopen(f,m,s) \
265 (GL_LINK_WARNING ("freopen on Win32 platforms is not POSIX compatible - " \
266 "use gnulib module freopen for portability"), \
267 freopen (f, m, s))
268#endif
269
270#if 0
271# if 0
272/* Provide fseek, fseeko functions that are aware of a preceding
273 fflush(), and which detect pipes. */
274# define fseeko rpl_fseeko
275extern int fseeko (FILE *fp, off_t offset, int whence);
276# define fseek(fp, offset, whence) fseeko (fp, (off_t)(offset), whence)
277# endif
278#elif defined GNULIB_POSIXCHECK
279# undef fseeko
280# define fseeko(f,o,w) \
281 (GL_LINK_WARNING ("fseeko is unportable - " \
282 "use gnulib module fseeko for portability"), \
283 fseeko (f, o, w))
284#endif
285
286#if 0 && 0
287extern int rpl_fseek (FILE *fp, long offset, int whence);
288# undef fseek
289# if defined GNULIB_POSIXCHECK
290# define fseek(f,o,w) \
291 (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \
292 "on 32-bit platforms - " \
293 "use fseeko function for handling of large files"), \
294 rpl_fseek (f, o, w))
295# else
296# define fseek rpl_fseek
297# endif
298#elif defined GNULIB_POSIXCHECK
299# ifndef fseek
300# define fseek(f,o,w) \
301 (GL_LINK_WARNING ("fseek cannot handle files larger than 4 GB " \
302 "on 32-bit platforms - " \
303 "use fseeko function for handling of large files"), \
304 fseek (f, o, w))
305# endif
306#endif
307
308#if 0
309# if 0
310# define ftello rpl_ftello
311extern off_t ftello (FILE *fp);
312# define ftell(fp) ftello (fp)
313# endif
314#elif defined GNULIB_POSIXCHECK
315# undef ftello
316# define ftello(f) \
317 (GL_LINK_WARNING ("ftello is unportable - " \
318 "use gnulib module ftello for portability"), \
319 ftello (f))
320#endif
321
322#if 0 && 0
323extern long rpl_ftell (FILE *fp);
324# undef ftell
325# if GNULIB_POSIXCHECK
326# define ftell(f) \
327 (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \
328 "on 32-bit platforms - " \
329 "use ftello function for handling of large files"), \
330 rpl_ftell (f))
331# else
332# define ftell rpl_ftell
333# endif
334#elif defined GNULIB_POSIXCHECK
335# ifndef ftell
336# define ftell(f) \
337 (GL_LINK_WARNING ("ftell cannot handle files larger than 4 GB " \
338 "on 32-bit platforms - " \
339 "use ftello function for handling of large files"), \
340 ftell (f))
341# endif
342#endif
343
344#if 0
345# if 0
346# define fflush rpl_fflush
347 /* Flush all pending data on STREAM according to POSIX rules. Both
348 output and seekable input streams are supported.
349 Note! LOSS OF DATA can occur if fflush is applied on an input stream
350 that is _not_seekable_ or on an update stream that is _not_seekable_
351 and in which the most recent operation was input. Seekability can
352 be tested with lseek(fileno(fp),0,SEEK_CUR). */
353 extern int fflush (FILE *gl_stream);
354# endif
355#elif defined GNULIB_POSIXCHECK
356# undef fflush
357# define fflush(f) \
358 (GL_LINK_WARNING ("fflush is not always POSIX compliant - " \
359 "use gnulib module fflush for portable " \
360 "POSIX compliance"), \
361 fflush (f))
362#endif
363
364#if 0
365# if !1
366/* Read input, up to (and including) the next occurrence of DELIMITER, from
367 STREAM, store it in *LINEPTR (and NUL-terminate it).
368 *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
369 bytes of space. It is realloc'd as necessary.
370 Return the number of bytes read and stored at *LINEPTR (not including the
371 NUL terminator), or -1 on error or EOF. */
372extern ssize_t getdelim (char **lineptr, size_t *linesize, int delimiter,
373 FILE *stream);
374# endif
375#elif defined GNULIB_POSIXCHECK
376# undef getdelim
377# define getdelim(l, s, d, f) \
378 (GL_LINK_WARNING ("getdelim is unportable - " \
379 "use gnulib module getdelim for portability"), \
380 getdelim (l, s, d, f))
381#endif
382
383#if 0
384# if 0
385# undef getline
386# define getline rpl_getline
387# endif
388# if !1 || 0
389/* Read a line, up to (and including) the next newline, from STREAM, store it
390 in *LINEPTR (and NUL-terminate it).
391 *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
392 bytes of space. It is realloc'd as necessary.
393 Return the number of bytes read and stored at *LINEPTR (not including the
394 NUL terminator), or -1 on error or EOF. */
395extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream);
396# endif
397#elif defined GNULIB_POSIXCHECK
398# undef getline
399# define getline(l, s, f) \
400 (GL_LINK_WARNING ("getline is unportable - " \
401 "use gnulib module getline for portability"), \
402 getline (l, s, f))
403#endif
404
405#ifdef __cplusplus
406}
407#endif
408
409#endif /* _GL_STDIO_H */
410#endif /* _GL_STDIO_H */
411#endif