/app/gcc-3.3.2/lib/gcc-lib/sparc-sun-solaris2.8/3.3.2/include/stdio.h


    1 /*  DO NOT EDIT THIS FILE.
    2 
    3     It has been auto-edited by fixincludes from:
    4 
    5 	"/usr/include/stdio.h"
    6 
    7     This had to be done to correct non-standard usages in the
    8     original, manufacturer supplied header file.  */
    9 
   10 #ifndef FIXINC_WRAP_STDIO_H_STDIO_STDARG_H
   11 #define FIXINC_WRAP_STDIO_H_STDIO_STDARG_H 1
   12 
   13 #define __need___va_list
   14 #include <stdarg.h>
   15 /*	Copyright (c) 1988 AT&T	*/
   16 /*	  All Rights Reserved  	*/
   17 
   18 /*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*/
   19 /*	The copyright notice above does not evidence any   	*/
   20 /*	actual or intended publication of such source code.	*/
   21 
   22 /*
   23  * Copyright (c) 1993-1999, by Sun Microsystems, Inc.
   24  * All rights reserved.
   25  */
   26 
   27 /*
   28  * User-visible pieces of the ANSI C standard I/O package.
   29  */
   30 
   31 #ifndef _STDIO_H
   32 #define	_STDIO_H
   33 
   34 #pragma ident	"@(#)stdio.h	1.78	99/12/08 SMI"	/* SVr4.0 2.34.1.2 */
   35 
   36 #include <iso/stdio_iso.h>
   37 
   38 /*
   39  * If feature test macros are set that enable interfaces that use types
   40  * defined in <sys/types.h>, get those types by doing the include.
   41  *
   42  * Note that in asking for the interfaces associated with this feature test
   43  * macro one also asks for definitions of the POSIX types.
   44  */
   45 
   46 /*
   47  * Allow global visibility for symbols defined in
   48  * C++ "std" namespace in <iso/stdio_iso.h>.
   49  */
   50 #if __cplusplus >= 199711L
   51 using std::FILE;
   52 using std::size_t;
   53 using std::fpos_t;
   54 using std::remove;
   55 using std::rename;
   56 using std::tmpfile;
   57 using std::tmpnam;
   58 using std::fclose;
   59 using std::fflush;
   60 using std::fopen;
   61 using std::freopen;
   62 using std::setbuf;
   63 using std::setvbuf;
   64 using std::fprintf;
   65 using std::fscanf;
   66 using std::printf;
   67 using std::scanf;
   68 using std::sprintf;
   69 using std::sscanf;
   70 using std::vfprintf;
   71 using std::vprintf;
   72 using std::vsprintf;
   73 using std::fgetc;
   74 using std::fgets;
   75 using std::fputc;
   76 using std::fputs;
   77 using std::getc;
   78 using std::getchar;
   79 using std::gets;
   80 using std::putc;
   81 using std::putchar;
   82 using std::puts;
   83 using std::ungetc;
   84 using std::fread;
   85 using std::fwrite;
   86 using std::fgetpos;
   87 using std::fseek;
   88 using std::fsetpos;
   89 using std::ftell;
   90 using std::rewind;
   91 using std::clearerr;
   92 using std::feof;
   93 using std::ferror;
   94 using std::perror;
   95 #endif
   96 
   97 #ifdef	__cplusplus
   98 extern "C" {
   99 #endif
  100 
  101 #if defined(_LARGEFILE_SOURCE) || defined(_XPG5)
  102 #ifndef	_OFF_T
  103 #define	_OFF_T
  104 #if defined(_LP64) || _FILE_OFFSET_BITS == 32
  105 typedef long		off_t;
  106 #else
  107 typedef __longlong_t	off_t;
  108 #endif
  109 #ifdef	_LARGEFILE64_SOURCE
  110 #ifdef _LP64
  111 typedef	off_t		off64_t;
  112 #else
  113 typedef __longlong_t	off64_t;
  114 #endif
  115 #endif /* _LARGEFILE64_SOURCE */
  116 #endif /* _OFF_T */
  117 #endif /* _LARGEFILE_SOURCE */
  118 
  119 #ifdef _LARGEFILE64_SOURCE
  120 #ifdef _LP64
  121 typedef fpos_t		fpos64_t;
  122 #else
  123 typedef __longlong_t	fpos64_t;
  124 #endif
  125 #endif /* _LARGEFILE64_SOURCE */
  126 
  127 /*
  128  * XPG4 requires that __gnuc_va_list be defined in <stdio.h> "as described in
  129  * <stdarg.h>".  ANSI-C and POSIX require that the namespace of <stdio.h>
  130  * not be polluted with this name.
  131  */
  132 #if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) && !defined(_DUMMY_VA_LIST)
  133 #define	_DUMMY_VA_LIST
  134 typedef	__va_list __not_va_list__;
  135 #endif	/* defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4) && ... */
  136 
  137 #if defined(__EXTENSIONS__) || __STDC__ - 0 == 0 || \
  138 		defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
  139 
  140 #define	L_ctermid	9
  141 #define	L_cuserid	9
  142 #endif
  143 
  144 #if defined(__EXTENSIONS__) || ((__STDC__ - 0 == 0 && \
  145 		!defined(_POSIX_C_SOURCE))) || defined(_XOPEN_SOURCE)
  146 
  147 #define	P_tmpdir	"/var/tmp/"
  148 #endif /* defined(__EXTENSIONS__) || ((__STDC__ - 0 == 0 && ... */
  149 
  150 #ifndef _STDIO_ALLOCATE
  151 extern unsigned char	 _sibuf[], _sobuf[];
  152 #endif
  153 
  154 /* large file compilation environment setup */
  155 #if !defined(_LP64) && _FILE_OFFSET_BITS == 64
  156 #ifdef __PRAGMA_REDEFINE_EXTNAME
  157 #pragma redefine_extname	fopen	fopen64
  158 #pragma redefine_extname	freopen	freopen64
  159 #pragma redefine_extname	tmpfile	tmpfile64
  160 #pragma redefine_extname	fgetpos	fgetpos64
  161 #pragma redefine_extname	fsetpos	fsetpos64
  162 #ifdef	_LARGEFILE_SOURCE
  163 #pragma redefine_extname	fseeko	fseeko64
  164 #pragma redefine_extname	ftello	ftello64
  165 #endif
  166 #else	/* __PRAGMA_REDEFINE_EXTNAME */
  167 #if defined(__STDC__)
  168 extern FILE	*fopen64(const char *, const char *);
  169 extern FILE	*freopen64(const char *, const char *, FILE *);
  170 extern FILE	*tmpfile64(void);
  171 extern int	fgetpos64(FILE *, fpos_t *);
  172 extern int	fsetpos64(FILE *, const fpos_t *);
  173 #else	/* defined(__STDC__) */
  174 extern FILE	*fopen64();
  175 extern FILE	*freopen64();
  176 extern FILE	*tmpfile64();
  177 extern int	fgetpos64();
  178 extern int	fsetpos64();
  179 #endif	/* defined(__STDC__) */
  180 #define	fopen			fopen64
  181 #define	freopen			freopen64
  182 #define	tmpfile			tmpfile64
  183 #define	fgetpos			fgetpos64
  184 #define	fsetpos			fsetpos64
  185 #ifdef	_LARGEFILE_SOURCE
  186 #define	fseeko			fseeko64
  187 #define	ftello			ftello64
  188 #endif
  189 #endif	/* __PRAGMA_REDEFINE_EXTNAME */
  190 #endif	/* !_LP64 && _FILE_OFFSET_BITS == 64 */
  191 
  192 #ifndef _LP64
  193 extern unsigned char	*_bufendtab[];
  194 extern FILE		*_lastbuf;
  195 #endif
  196 
  197 /* In the LP64 compilation environment, all APIs are already large file */
  198 #if defined(_LP64) && defined(_LARGEFILE64_SOURCE)
  199 #ifdef __PRAGMA_REDEFINE_EXTNAME
  200 #pragma	redefine_extname	fopen64		fopen
  201 #pragma	redefine_extname	freopen64	freopen
  202 #pragma	redefine_extname	tmpfile64	tmpfile
  203 #pragma	redefine_extname	fgetpos64	fgetpos
  204 #pragma	redefine_extname	fsetpos64	fsetpos
  205 #ifdef	_LARGEFILE_SOURCE
  206 #pragma	redefine_extname	fseeko64	fseeko
  207 #pragma	redefine_extname	ftello64	ftello
  208 #endif
  209 #else	/* __PRAGMA_REDEFINE_EXTNAME */
  210 #define	fopen64		fopen
  211 #define	freopen64	freopen
  212 #define	tmpfile64	tmpfile
  213 #define	fgetpos64	fgetpos
  214 #define	fsetpos64	fsetpos
  215 #ifdef	_LARGEFILE_SOURCE
  216 #define	fseeko64	fseeko
  217 #define	ftello64	ftello
  218 #endif
  219 #endif	/* __PRAGMA_REDEFINE_EXTNAME */
  220 #endif	/* _LP64 && _LARGEFILE64_SOURCE */
  221 
  222 #if defined(__STDC__)
  223 
  224 #if	defined(__EXTENSIONS__) || defined(_REENTRANT)
  225 extern char	*tmpnam_r(char *);
  226 #endif /* defined(__EXTENSIONS__) || defined(_REENTRANT) */
  227 #if defined(__EXTENSIONS__) || (__STDC__ == 0 && \
  228 	!defined(_XOPEN_SOURCE) && !defined(_POSIX_C_SOURCE))
  229 extern void setbuffer(FILE *, char *, size_t);
  230 extern int setlinebuf(FILE *);
  231 #endif
  232 #if defined(__EXTENSIONS__) || (__STDC__ == 0 && \
  233 	!defined(_XOPEN_SOURCE) && !defined(_POSIX_C_SOURCE)) || \
  234 	defined(_XPG5)
  235 /* PRINTFLIKE3 */
  236 extern int	snprintf(char *, size_t, const char *, ...);
  237 #endif
  238 #if defined(__EXTENSIONS__) || (__STDC__ == 0 && \
  239 	!defined(_XOPEN_SOURCE) && !defined(_POSIX_C_SOURCE)) || \
  240 	defined(_XPG5)
  241 extern int	vsnprintf(char *, size_t, const char *, __gnuc_va_list);
  242 #endif	/* defined(__EXTENSIONS__) ||  __STDC__ == 0 ... */
  243 
  244 /*
  245  * The following are known to POSIX and XOPEN, but not to ANSI-C.
  246  */
  247 #if defined(__EXTENSIONS__) || __STDC__ == 0 || \
  248 		defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
  249 
  250 extern FILE	*fdopen(int, const char *);
  251 extern char	*ctermid(char *);
  252 extern int	fileno(FILE *);
  253 
  254 #endif	/* defined(__EXTENSIONS__) ||  __STDC__ == 0 ... */
  255 
  256 /*
  257  * The following are known to POSIX.1c, but not to ANSI-C or XOPEN.
  258  */
  259 #if	defined(__EXTENSIONS__) || defined(_REENTRANT) || \
  260 	    (_POSIX_C_SOURCE - 0 >= 199506L)
  261 extern void	flockfile(FILE *);
  262 extern int	ftrylockfile(FILE *);
  263 extern void	funlockfile(FILE *);
  264 extern int	getc_unlocked(FILE *);
  265 extern int	getchar_unlocked(void);
  266 extern int	putc_unlocked(int, FILE *);
  267 extern int	putchar_unlocked(int);
  268 
  269 #endif	/* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
  270 
  271 /*
  272  * The following are known to XOPEN, but not to ANSI-C or POSIX.
  273  */
  274 #if defined(__EXTENSIONS__) || __STDC__ == 0 || defined(_XOPEN_SOURCE)
  275 
  276 extern FILE	*popen(const char *, const char *);
  277 extern char	*cuserid(char *);
  278 extern char	*tempnam(const char *, const char *);
  279 extern int	getopt(int, char *const *, const char *);
  280 #if !defined(_XOPEN_SOURCE)
  281 extern int	getsubopt(char **, char *const *, char **);
  282 #endif /* !defined(_XOPEN_SOURCE) */
  283 extern char	*optarg;
  284 extern int	optind, opterr, optopt;
  285 extern int	getw(FILE *);
  286 extern int	putw(int, FILE *);
  287 extern int	pclose(FILE *);
  288 
  289 #endif	/* defined(__EXTENSIONS__) ||  __STDC__ == 0 ... */
  290 
  291 /*
  292  * The following are defined as part of the Large File Summit interfaces.
  293  */
  294 #if	defined(_LARGEFILE_SOURCE) || defined(_XPG5)
  295 extern int	fseeko(FILE *, off_t, int);
  296 extern off_t	ftello(FILE *);
  297 #endif
  298 
  299 /*
  300  * The following are defined as part of the transitional Large File Summit
  301  * interfaces.
  302  */
  303 #if	defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
  304 	    !defined(__PRAGMA_REDEFINE_EXTNAME))
  305 extern FILE	*fopen64(const char *, const char *);
  306 extern FILE	*freopen64(const char *, const char *, FILE *);
  307 extern FILE	*tmpfile64(void);
  308 extern int	fgetpos64(FILE *, fpos64_t *);
  309 extern int	fsetpos64(FILE *, const fpos64_t *);
  310 extern int	fseeko64(FILE *, off64_t, int);
  311 extern off64_t	ftello64(FILE *);
  312 #endif
  313 
  314 #else	/* !defined __STDC__ */
  315 
  316 #ifndef	_LP64
  317 #define	_bufend(p)	((fileno(p) < _NFILE) ? _bufendtab[fileno(p)] : \
  318 			(unsigned char *)_realbufend(p))
  319 #define	_bufsiz(p)	(_bufend(p) - (p)->_base)
  320 #endif	/*	_LP64	*/
  321 
  322 #if	defined(__EXTENSIONS__) || defined(_REENTRANT)
  323 extern char	*tmpnam_r();
  324 #endif /* defined(__EXTENSIONS__) || defined(_REENTRANT) */
  325 #if defined(__EXTENSIONS__) || \
  326 	(!defined(_XOPEN_SOURCE) && !defined(_POSIX_C_SOURCE))
  327 extern void setbuffer();
  328 extern int setlinebuf();
  329 #endif
  330 
  331 #if defined(__EXTENSIONS__) || \
  332 		defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
  333 extern FILE	*fdopen();
  334 extern char	*ctermid();
  335 extern int	fileno();
  336 #endif	/* defined(__EXTENSIONS__) ||  defined(_POSIX_C_SOURCE... */
  337 
  338 #if	defined(__EXTENSIONS__) || defined(_REENTRANT) || \
  339 	    (_POSIX_C_SOURCE - 0 >= 199506L)
  340 extern void	flockfile();
  341 extern int	ftrylockfile();
  342 extern void	funlockfile();
  343 extern int	getc_unlocked();
  344 extern int	getchar_unlocked();
  345 extern int	putc_unlocked();
  346 extern int	putchar_unlocked();
  347 #endif	/* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
  348 
  349 #if defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE)
  350 extern FILE	*popen();
  351 extern char	*cuserid();
  352 extern char	*tempnam();
  353 extern int	getopt();
  354 #if !defined(_XOPEN_SOURCE)
  355 extern int	getsubopt();
  356 #endif /* !defined(_XOPEN_SOURCE) */
  357 extern char	*optarg;
  358 extern int	optind, opterr, optopt;
  359 extern int	getw();
  360 extern int	putw();
  361 extern int	pclose();
  362 #endif	/* defined(__EXTENSIONS__) || defined(_XOPEN_SOURCE) */
  363 
  364 #if	defined(_LARGEFILE_SOURCE) || defined(_XPG5)
  365 extern int	fseeko();
  366 extern off_t	ftello();
  367 #endif
  368 
  369 #if	defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
  370 	    !defined(__PRAGMA_REDEFINE_EXTNAME))
  371 extern FILE	*fopen64();
  372 extern FILE	*freopen64();
  373 extern FILE	*tmpfile64();
  374 extern int	fgetpos64();
  375 extern int	fsetpos64();
  376 extern int	fseeko64();
  377 extern off64_t	ftello64();
  378 #endif
  379 
  380 #endif	/* __STDC__ */
  381 
  382 #if !defined(__lint)
  383 
  384 #if	defined(__EXTENSIONS__) || defined(_REENTRANT) || \
  385 	    (_POSIX_C_SOURCE - 0 >= 199506L)
  386 #ifndef	_LP64
  387 #ifdef	__STDC__
  388 #define	getc_unlocked(p)	(--(p)->_cnt < 0 \
  389 					? __filbuf(p) \
  390 					: (int)*(p)->_ptr++)
  391 #define	putc_unlocked(x, p)	(--(p)->_cnt < 0 \
  392 					? __flsbuf((x), (p)) \
  393 					: (int)(*(p)->_ptr++ = \
  394 					(unsigned char) (x)))
  395 #else
  396 #define	getc_unlocked(p)	(--(p)->_cnt < 0 \
  397 					? _filbuf(p) \
  398 					: (int)*(p)->_ptr++)
  399 #define	putc_unlocked(x, p)	(--(p)->_cnt < 0 \
  400 					? _flsbuf((x), (p)) \
  401 					: (int)(*(p)->_ptr++ = \
  402 					(unsigned char) (x)))
  403 #endif	/* __STDC__ */
  404 #endif	/* _LP64 */
  405 #define	getchar_unlocked()	getc_unlocked(stdin)
  406 #define	putchar_unlocked(x)	putc_unlocked((x), stdout)
  407 #endif	/* defined(__EXTENSIONS__) || defined(_REENTRANT).. */
  408 
  409 #endif	/* !defined(__lint) */
  410 
  411 #ifdef	__cplusplus
  412 }
  413 #endif
  414 
  415 #endif	/* _STDIO_H */
  416 
  417 #endif  /* FIXINC_WRAP_STDIO_H_STDIO_STDARG_H */