summaryrefslogtreecommitdiff
path: root/usr/src/ucbhead/stdio.h
diff options
context:
space:
mode:
authorstevel@tonic-gate <none@none>2005-06-14 00:00:00 -0700
committerstevel@tonic-gate <none@none>2005-06-14 00:00:00 -0700
commit7c478bd95313f5f23a4c958a745db2134aa03244 (patch)
treec871e58545497667cbb4b0a4f2daf204743e1fe7 /usr/src/ucbhead/stdio.h
downloadillumos-joyent-7c478bd95313f5f23a4c958a745db2134aa03244.tar.gz
OpenSolaris Launch
Diffstat (limited to 'usr/src/ucbhead/stdio.h')
-rw-r--r--usr/src/ucbhead/stdio.h339
1 files changed, 339 insertions, 0 deletions
diff --git a/usr/src/ucbhead/stdio.h b/usr/src/ucbhead/stdio.h
new file mode 100644
index 0000000000..7130b93169
--- /dev/null
+++ b/usr/src/ucbhead/stdio.h
@@ -0,0 +1,339 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * User-visible pieces of the ANSI C standard I/O package.
+ */
+
+#ifndef _STDIO_H
+#define _STDIO_H
+
+#pragma ident "%Z%%M% %I% %E% SMI"
+
+#include <sys/feature_tests.h>
+#include <sys/va_list.h>
+#include <stdio_tag.h>
+#include <stdio_impl.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef BSD
+#define BSD
+#endif
+
+#ifndef _SIZE_T
+#define _SIZE_T
+#if !defined(_LP64) && defined(__cplusplus)
+typedef unsigned int size_t;
+#else
+typedef unsigned long size_t;
+#endif
+#endif
+
+#ifndef _SSIZE_T
+#define _SSIZE_T
+#if !defined(_LP64) && defined(__cplusplus)
+typedef int ssize_t;
+#else
+typedef long ssize_t;
+#endif
+#endif
+
+typedef long fpos_t;
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+#if defined(__STDC__)
+
+#if #machine(pdp11)
+#define BUFSIZ 512
+#define _STDIO_REVERSE
+#elif #machine(u370)
+#define BUFSIZ 4096
+#define _STDIO_REVERSE
+#define _STDIO_ALLOCATE
+#else
+#define BUFSIZ 1024
+#endif
+
+#else /* !defined(__STDC__) */
+
+#if pdp11 || u370
+
+#if pdp11
+#define BUFSIZ 512
+#define _STDIO_REVERSE
+#else /* u370 */
+#define BUFSIZ 4096
+#define _STDIO_REVERSE
+#define _STDIO_ALLOCATE
+#endif
+
+#else
+#define BUFSIZ 1024
+#endif
+
+#endif /* __STDC__ */
+
+#if defined(__i386)
+#define _NFILE 60 /* initial number of streams: Intel x86 ABI */
+#else
+#define _NFILE 20 /* initial number of streams: SPARC ABI and default */
+#endif
+
+#define _SBFSIZ 8 /* compatibility with shared libs */
+
+#define _IOFBF 0000 /* full buffered */
+#define _IOLBF 0100 /* line buffered */
+#define _IONBF 0004 /* not buffered */
+#define _IOEOF 0020 /* EOF reached on read */
+#define _IOERR 0040 /* I/O error from system */
+
+#define _IOREAD 0001 /* currently reading */
+#define _IOWRT 0002 /* currently writing */
+#define _IORW 0200 /* opened for reading and writing */
+#define _IOMYBUF 0010 /* stdio malloc()'d buffer */
+
+#ifndef EOF
+#define EOF (-1)
+#endif
+
+#define FOPEN_MAX _NFILE
+#define FILENAME_MAX 1024 /* max # of characters in a path name */
+
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#define TMP_MAX 17576 /* 26 * 26 * 26 */
+
+#if !defined(_STRICT_STDC) || defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE)
+#define L_ctermid 9
+#define L_cuserid 9
+#define P_tmpdir "/var/tmp/"
+#endif
+
+#define L_tmpnam 25 /* (sizeof(P_tmpdir) + 15) */
+
+#if defined(__STDC__)
+#define stdin (&__iob[0])
+#define stdout (&__iob[1])
+#define stderr (&__iob[2])
+#else
+#define stdin (&_iob[0])
+#define stdout (&_iob[1])
+#define stderr (&_iob[2])
+#endif
+
+#ifndef _FILEDEFED
+#define _FILEDEFED
+typedef __FILE FILE;
+#endif
+
+#if defined(__STDC__)
+extern FILE __iob[_NFILE];
+#else
+extern FILE _iob[_NFILE];
+#endif
+extern FILE *_lastbuf;
+extern unsigned char *_bufendtab[];
+#ifndef _STDIO_ALLOCATE
+extern unsigned char _sibuf[], _sobuf[];
+#endif
+
+/* Large file interfaces */
+/* transition back from explicit 64-bit offset to implicit (64-bit) offset */
+#if defined(_LP64) && defined(_LARGEFILE64_SOURCE)
+#ifdef __PRAGMA_REDEFINE_EXTNAME
+#pragma redefine_extname fopen64 fopen
+#pragma redefine_extname freopen64 freopen
+#else
+#define fopen64 fopen
+#define freopen64 freopen
+#endif
+#endif
+
+/* transition from 32-bit offset to explicit 64-bit offset */
+#if !defined(_LP64) && (_FILE_OFFSET_BITS == 64)
+#ifdef __PRAGMA_REDEFINE_EXTNAME
+#pragma redefine_extname fopen fopen64
+#pragma redefine_extname freopen freopen64
+#else
+#define fopen fopen64
+#define freopen freopen64
+#endif
+#endif
+
+#if defined(__STDC__)
+
+extern int remove(const char *);
+extern int rename(const char *, const char *);
+extern int fclose(FILE *);
+extern int fflush(FILE *);
+extern FILE *fopen(const char *, const char *);
+extern FILE *freopen(const char *, const char *, FILE *);
+extern void setbuf(FILE *, char *);
+extern void setbuffer(FILE *, char *, int);
+extern int setlinebuf(FILE *);
+extern int setvbuf(FILE *, char *, int, size_t);
+/* PRINTFLIKE2 */
+extern int fprintf(FILE *, const char *, ...);
+/* SCANFLIKE2 */
+extern int fscanf(FILE *, const char *, ...);
+/* PRINTFLIKE1 */
+extern int printf(const char *, ...);
+/* SCANFLIKE1 */
+extern int scanf(const char *, ...);
+/* PRINTFLIKE2 */
+extern char *sprintf(const char *, const char *, ...);
+/* SCANFLIKE2 */
+extern int sscanf(const char *, const char *, ...);
+extern int vfprintf(FILE *, const char *, __va_list);
+extern int vprintf(const char *, __va_list);
+extern char *vsprintf(char *, char *, __va_list);
+extern int fgetc(FILE *);
+extern char *fgets(char *, int, FILE *);
+extern int fputc(int, FILE *);
+extern int fputs(const char *, FILE *);
+extern int getc(FILE *);
+extern int getchar(void);
+extern char *gets(char *);
+extern int putc(int, FILE *);
+extern int putchar(int);
+extern int puts(const char *);
+extern int ungetc(int, FILE *);
+extern size_t fread(void *, size_t, size_t, FILE *);
+extern size_t fwrite(const void *, size_t, size_t, FILE *);
+extern int fgetpos(FILE *, fpos_t *);
+extern int fseek(FILE *, long, int);
+extern int fsetpos(FILE *, const fpos_t *);
+extern long ftell(FILE *);
+extern void rewind(FILE *);
+extern void clearerr(FILE *);
+extern int feof(FILE *);
+extern int ferror(FILE *);
+extern void perror(const char *);
+
+extern int __filbuf(FILE *);
+extern int __flsbuf(int, FILE *);
+
+#if !defined(_STRICT_STDC) || defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE)
+ /* non-ANSI standard compilation */
+
+extern FILE *fdopen(int, const char *);
+extern FILE *popen(const char *, const char *);
+extern char *ctermid(char *);
+extern char *cuserid(char *);
+extern char *tempnam(const char *, const char *);
+extern int getw(FILE *);
+extern int putw(int, FILE *);
+extern int pclose(FILE *);
+extern int system(const char *);
+extern int fileno(FILE *);
+
+#endif /* !defined(_STRICT_STDC) */
+
+#else /* !defined __STDC__ */
+#define _bufend(p) _bufendtab[fileno(p)]
+#define _bufsiz(p) (_bufend(p) - (p)->_base)
+
+extern FILE *fopen(), *fdopen(), *freopen(), *popen();
+extern long ftell();
+extern void rewind(), setbuf(), setbuffer();
+extern int setlinebuf();
+extern char *ctermid(), *cuserid(), *fgets(), *gets(), *sprintf(),
+ *vsprintf();
+extern int fclose(), fflush(), fread(), fwrite(), fseek(), fgetc(),
+ getw(), pclose(), printf(), fprintf(),
+ vprintf(), vfprintf(), fputc(), putw(),
+ puts(), fputs(), scanf(), fscanf(), sscanf(),
+ setvbuf(), system(), ungetc();
+extern int fileno();
+extern int getc(), getchar(), putc(), putchar(), feof(), ferror();
+extern void clearerr();
+
+#endif /* __STDC__ */
+
+#ifndef __lint
+
+#ifndef _LP64
+
+#ifdef __STDC__
+
+#define getc(p) (--(p)->_cnt < 0 ? __filbuf(p) : (int)*(p)->_ptr++)
+#define putc(x, p) (--(p)->_cnt < 0 ? __flsbuf((x), (p)) \
+ : (int)(*(p)->_ptr++ = (x)))
+
+#else /* __STDC__ */
+
+#define getc(p) (--(p)->_cnt < 0 ? _filbuf(p) : (int)*(p)->_ptr++)
+#define putc(x, p) (--(p)->_cnt < 0 ? \
+ _flsbuf((unsigned char) (x), (p)) : \
+ (int)(*(p)->_ptr++ = (unsigned char)(x)))
+#endif /* __STDC__ */
+
+#define clearerr(p) ((void) ((p)->_flag &= ~(_IOERR | _IOEOF)))
+#define feof(p) ((p)->_flag & _IOEOF)
+#define ferror(p) ((p)->_flag & _IOERR)
+
+#endif /* _LP64 */
+
+#define getchar() getc(stdin)
+#define putchar(x) putc((x), stdout)
+
+#endif /* __lint */
+
+#if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \
+ !defined(__PRAGMA_REDEFINE_EXTNAME))
+#if defined(__STDC__)
+extern FILE *fopen64(const char *, const char *);
+extern FILE *freopen64(const char *, const char *, FILE *);
+#else
+extern FILE *fopen64(), *freopen64();
+#endif
+#endif /* _LARGEFILE64_SOURCE... */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _STDIO_H */