fix race when sosend blocks by returning EPIPE if receiver is gone;
[unix-history] / usr / src / include / stdio.h
CommitLineData
39670376 1/* stdio.h 1.11 85/01/08 */
7002c7bd 2#define BUFSIZ 1024
39670376 3#define _NFILE 48
7002c7bd
MT
4# ifndef FILE
5extern struct _iobuf {
6 int _cnt;
7 char *_ptr;
8 char *_base;
f4c06a32 9 int _bufsiz;
7002c7bd
MT
10 short _flag;
11 char _file;
12} _iob[_NFILE];
13# endif
14
15#define _IOREAD 01
16#define _IOWRT 02
17#define _IONBF 04
18#define _IOMYBUF 010
19#define _IOEOF 020
20#define _IOERR 040
21#define _IOSTRG 0100
22#define _IOLBF 0200
23#define _IORW 0400
24#define NULL 0
25#define FILE struct _iobuf
26#define EOF (-1)
27
28#define stdin (&_iob[0])
29#define stdout (&_iob[1])
30#define stderr (&_iob[2])
d3ea1b0a 31#define getc(p) (--(p)->_cnt>=0? (int)(*(unsigned char *)(p)->_ptr++):_filbuf(p))
7002c7bd 32#define getchar() getc(stdin)
9ad481cf
RC
33#define putc(x, p) (--(p)->_cnt >= 0 ?\
34 (int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
35 (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
36 ((*(p)->_ptr = (x)) != '\n' ?\
37 (int)(*(unsigned char *)(p)->_ptr++) :\
38 _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
39 _flsbuf((unsigned char)(x), p)))
7002c7bd
MT
40#define putchar(x) putc(x,stdout)
41#define feof(p) (((p)->_flag&_IOEOF)!=0)
42#define ferror(p) (((p)->_flag&_IOERR)!=0)
43#define fileno(p) ((p)->_file)
44
45FILE *fopen();
46FILE *fdopen();
47FILE *freopen();
48long ftell();
49char *fgets();
56f5aad0 50char *gets();
7ea21d0a
SL
51#ifdef vax
52char *sprintf(); /* too painful to do right */
53#endif