annotate usr/src/ucbhead/stdio.h @ 14050:0c8d9998d589

3747 txg commit callbacks don't work Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Eric Schrock <eric.schrock@delphix.com> Approved by: Christopher Siden <christopher.siden@delphix.com>
author Will Andrews <willa@spectralogic.com>
date Tue, 11 Jun 2013 09:13:51 -0800
parents 34f6da175f72
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
1 /*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
2 * CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
3 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
4 * The contents of this file are subject to the terms of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
5 * Common Development and Distribution License, Version 1.0 only
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
6 * (the "License"). You may not use this file except in compliance
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
7 * with the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
8 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
10 * or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
11 * See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
12 * and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
13 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
14 * When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
16 * If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
17 * fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
18 * information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
19 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
20 * CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
21 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
22 /*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
24 * Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
25 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
26
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
27 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
28 /* All Rights Reserved */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
29
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
30 /*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
31 * University Copyright- Copyright (c) 1982, 1986, 1988
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
32 * The Regents of the University of California
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
33 * All Rights Reserved
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
34 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
35 * University Acknowledgment- Portions of this document are derived from
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
36 * software developed by the University of California, Berkeley, and its
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
37 * contributors.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
38 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
39
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
40 /*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
41 * User-visible pieces of the ANSI C standard I/O package.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
42 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
43
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
44 #ifndef _STDIO_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
45 #define _STDIO_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
46
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
47 #include <sys/feature_tests.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
48 #include <sys/va_list.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
49 #include <stdio_tag.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
50 #include <stdio_impl.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
51
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
52 #ifdef __cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
53 extern "C" {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
54 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
55
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
56 #ifndef BSD
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
57 #define BSD
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
58 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
59
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
60 #ifndef _SIZE_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
61 #define _SIZE_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
62 #if !defined(_LP64) && defined(__cplusplus)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
63 typedef unsigned int size_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
64 #else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
65 typedef unsigned long size_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
66 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
67 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
68
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
69 #ifndef _SSIZE_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
70 #define _SSIZE_T
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
71 #if !defined(_LP64) && defined(__cplusplus)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
72 typedef int ssize_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
73 #else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
74 typedef long ssize_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
75 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
76 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
77
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
78 typedef long fpos_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
79
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
80 #ifndef NULL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
81 #define NULL 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
82 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
83
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
84 #define BUFSIZ 1024
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
85
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
86 #if defined(__i386)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
87 #define _NFILE 60 /* initial number of streams: Intel x86 ABI */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
88 #else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
89 #define _NFILE 20 /* initial number of streams: SPARC ABI and default */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
90 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
91
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
92 #define _SBFSIZ 8 /* compatibility with shared libs */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
93
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
94 #define _IOFBF 0000 /* full buffered */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
95 #define _IOLBF 0100 /* line buffered */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
96 #define _IONBF 0004 /* not buffered */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
97 #define _IOEOF 0020 /* EOF reached on read */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
98 #define _IOERR 0040 /* I/O error from system */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
99
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
100 #define _IOREAD 0001 /* currently reading */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
101 #define _IOWRT 0002 /* currently writing */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
102 #define _IORW 0200 /* opened for reading and writing */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
103 #define _IOMYBUF 0010 /* stdio malloc()'d buffer */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
104
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
105 #ifndef EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
106 #define EOF (-1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
107 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
108
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
109 #define FOPEN_MAX _NFILE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
110 #define FILENAME_MAX 1024 /* max # of characters in a path name */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
111
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
112 #define SEEK_SET 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
113 #define SEEK_CUR 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
114 #define SEEK_END 2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
115 #define TMP_MAX 17576 /* 26 * 26 * 26 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
116
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
117 #if !defined(_STRICT_STDC) || defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
118 #define L_ctermid 9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
119 #define L_cuserid 9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
120 #define P_tmpdir "/var/tmp/"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
121 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
122
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
123 #define L_tmpnam 25 /* (sizeof(P_tmpdir) + 15) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
124
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
125 #define stdin (&__iob[0])
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
126 #define stdout (&__iob[1])
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
127 #define stderr (&__iob[2])
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
128
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
129 #ifndef _FILEDEFED
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
130 #define _FILEDEFED
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
131 typedef __FILE FILE;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
132 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
133
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
134 extern FILE __iob[_NFILE];
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
135 extern FILE *_lastbuf;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
136 extern unsigned char *_bufendtab[];
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
137 extern unsigned char _sibuf[], _sobuf[];
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
138
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
139 /* Large file interfaces */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
140 /* transition back from explicit 64-bit offset to implicit (64-bit) offset */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
141 #if defined(_LP64) && defined(_LARGEFILE64_SOURCE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
142 #ifdef __PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
143 #pragma redefine_extname fopen64 fopen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
144 #pragma redefine_extname freopen64 freopen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
145 #else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
146 #define fopen64 fopen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
147 #define freopen64 freopen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
148 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
149 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
150
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
151 /* transition from 32-bit offset to explicit 64-bit offset */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
152 #if !defined(_LP64) && (_FILE_OFFSET_BITS == 64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
153 #ifdef __PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
154 #pragma redefine_extname fopen fopen64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
155 #pragma redefine_extname freopen freopen64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
156 #else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
157 #define fopen fopen64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
158 #define freopen freopen64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
159 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
160 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
161
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
162
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
163 extern int remove(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
164 extern int rename(const char *, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
165 extern int fclose(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
166 extern int fflush(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
167 extern FILE *fopen(const char *, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
168 extern FILE *freopen(const char *, const char *, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
169 extern void setbuf(FILE *, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
170 extern void setbuffer(FILE *, char *, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
171 extern int setlinebuf(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
172 extern int setvbuf(FILE *, char *, int, size_t);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
173 /* PRINTFLIKE2 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
174 extern int fprintf(FILE *, const char *, ...);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
175 /* SCANFLIKE2 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
176 extern int fscanf(FILE *, const char *, ...);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
177 /* PRINTFLIKE1 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
178 extern int printf(const char *, ...);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
179 /* SCANFLIKE1 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
180 extern int scanf(const char *, ...);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
181 /* PRINTFLIKE2 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
182 extern char *sprintf(const char *, const char *, ...);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
183 /* SCANFLIKE2 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
184 extern int sscanf(const char *, const char *, ...);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
185 extern int vfprintf(FILE *, const char *, __va_list);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
186 extern int vprintf(const char *, __va_list);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
187 extern char *vsprintf(char *, char *, __va_list);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
188 extern int fgetc(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
189 extern char *fgets(char *, int, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
190 extern int fputc(int, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
191 extern int fputs(const char *, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
192 extern int getc(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
193 extern int getchar(void);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
194 extern char *gets(char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
195 extern int putc(int, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
196 extern int putchar(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
197 extern int puts(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
198 extern int ungetc(int, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
199 extern size_t fread(void *, size_t, size_t, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
200 extern size_t fwrite(const void *, size_t, size_t, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
201 extern int fgetpos(FILE *, fpos_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
202 extern int fseek(FILE *, long, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
203 extern int fsetpos(FILE *, const fpos_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
204 extern long ftell(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
205 extern void rewind(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
206 extern void clearerr(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
207 extern int feof(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
208 extern int ferror(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
209 extern void perror(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
210
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
211 extern int __filbuf(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
212 extern int __flsbuf(int, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
213
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
214 #if !defined(_STRICT_STDC) || defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
215 /* non-ANSI standard compilation */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
216
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
217 extern FILE *fdopen(int, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
218 extern FILE *popen(const char *, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
219 extern char *ctermid(char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
220 extern char *cuserid(char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
221 extern char *tempnam(const char *, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
222 extern int getw(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
223 extern int putw(int, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
224 extern int pclose(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
225 extern int system(const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
226 extern int fileno(FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
227
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
228 #endif /* !defined(_STRICT_STDC) */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
229
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
230
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
231 #ifndef __lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
232
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
233 #ifndef _LP64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
234
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
235
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
236 #define getc(p) (--(p)->_cnt < 0 ? __filbuf(p) : (int)*(p)->_ptr++)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
237 #define putc(x, p) (--(p)->_cnt < 0 ? __flsbuf((x), (p)) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
238 : (int)(*(p)->_ptr++ = (x)))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
239
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
240
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
241 #define clearerr(p) ((void) ((p)->_flag &= ~(_IOERR | _IOEOF)))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
242 #define feof(p) ((p)->_flag & _IOEOF)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
243 #define ferror(p) ((p)->_flag & _IOERR)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
244
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
245 #endif /* _LP64 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
246
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
247 #define getchar() getc(stdin)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
248 #define putchar(x) putc((x), stdout)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
249
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
250 #endif /* __lint */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
251
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
252 #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
253 !defined(__PRAGMA_REDEFINE_EXTNAME))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
254 extern FILE *fopen64(const char *, const char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
255 extern FILE *freopen64(const char *, const char *, FILE *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
256 #endif /* _LARGEFILE64_SOURCE... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
257
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
258 #ifdef __cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
259 }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
260 #endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
261
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
262 #endif /* _STDIO_H */