stdio.h
typedef struct __iobuf FILE;
struct __iobuf {
unsigned char *_ptr; /* next character position */
int _cnt; /* number of characters left */
struct __stream_link *_link; /* location of associated struct */
unsigned _flag; /* mode of file access */
int _handle; /* file handle */
unsigned _bufsize; /* size of buffer */
unsigned short _ungotten; /* used by ungetc and ungetwc */
};
typedef struct __stream_link {
struct __stream_link * next;
struct __iobuf * stream;
unsigned char * _base; /* location of buffer */
int _orientation; /* wide/byte/not oriented */
int _extflags; /* extended flags */
unsigned char _tmpfchar; /* tmpfile number */
unsigned char _filler[sizeof(int)-1];/* explicit padding */
struct __pipe_info pipeInfo; /* pipe-related fields */
} __stream_link;
struct __pipe_info {
int isPipe; /* non-zero if it's a pipe */
int pid; /* PID of spawned process */
};