cleanup
[unix-history] / usr / src / include / stdio.h
CommitLineData
586c39b1
DF
1/*
2 * Copyright (c) 1980 Regents of the University of California.
3 * All rights reserved. The Berkeley software License Agreement
4 * specifies the terms and conditions for redistribution.
5 *
6 * @(#)stdio.h 5.1 (Berkeley) %G%
7 */
8
7002c7bd 9# ifndef FILE
17837603 10#define BUFSIZ 1024
7002c7bd
MT
11extern struct _iobuf {
12 int _cnt;
17837603
S
13 char *_ptr; /* should be unsigned char */
14 char *_base; /* ditto */
f4c06a32 15 int _bufsiz;
7002c7bd 16 short _flag;
17837603
S
17 char _file; /* should be short */
18} _iob[];
7002c7bd
MT
19
20#define _IOREAD 01
21#define _IOWRT 02
22#define _IONBF 04
23#define _IOMYBUF 010
24#define _IOEOF 020
25#define _IOERR 040
26#define _IOSTRG 0100
27#define _IOLBF 0200
28#define _IORW 0400
29#define NULL 0
30#define FILE struct _iobuf
31#define EOF (-1)
32
33#define stdin (&_iob[0])
34#define stdout (&_iob[1])
35#define stderr (&_iob[2])
d3ea1b0a 36#define getc(p) (--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p))
7002c7bd 37#define getchar() getc(stdin)
9ad481cf
RC
38#define putc(x, p) (--(p)->_cnt >= 0 ?\
39 (int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
40 (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
41 ((*(p)->_ptr = (x)) != '\n' ?\
42 (int)(*(unsigned char *)(p)->_ptr++) :\
43 _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
44 _flsbuf((unsigned char)(x), p)))
7002c7bd
MT
45#define putchar(x) putc(x,stdout)
46#define feof(p) (((p)->_flag&_IOEOF)!=0)
47#define ferror(p) (((p)->_flag&_IOERR)!=0)
48#define fileno(p) ((p)->_file)
17837603 49#define clearerr(p) ((p)->_flag &= ~(_IOERR|_IOEOF))
7002c7bd
MT
50
51FILE *fopen();
52FILE *fdopen();
53FILE *freopen();
17837603 54FILE *popen();
7002c7bd 55long ftell();
17837603 56long fseek();
7002c7bd 57char *fgets();
56f5aad0 58char *gets();
7ea21d0a
SL
59#ifdef vax
60char *sprintf(); /* too painful to do right */
61#endif
17837603 62# endif