diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/libstdio/iolib.h |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/libstdio/iolib.h')
-rwxr-xr-x | sys/src/libstdio/iolib.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/sys/src/libstdio/iolib.h b/sys/src/libstdio/iolib.h new file mode 100755 index 000000000..8748b5518 --- /dev/null +++ b/sys/src/libstdio/iolib.h @@ -0,0 +1,44 @@ +/* + * pANS stdio -- definitions + * The following names are defined in the pANS: + * FILE fpos_t _IOFBF _IOLBF _IONBF + * BUFSIZ EOF FOPEN_MAX FILENAME_MAX L_tmpnam + * SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr + * stdin stdout remove rename tmpfile + * tmpnam fclose fflush fopen freopen + * setbuf setvbuf fprintf fscanf printf + * scanf sprintf sscanf vfprintf vprintf + * vsprintf fgetc fgets fputc fputs + * getc getchar gets putc putchar + * puts ungetc fread fwrite fgetpos + * fseek fsetpos ftell rewind clearerr + * feof ferror perror + * + * (But plan9 version omits remove and rename, because they are in libc) + */ +#include <u.h> +#include <libc.h> +#undef END +#include "Stdio.h" +/* + * Flag bits + */ +#define BALLOC 1 /* did stdio malloc fd->buf? */ +#define LINEBUF 2 /* is stream line buffered? */ +#define STRING 4 /* output to string, instead of file */ +#define APPEND 8 /* append mode output */ +/* + * States + */ +#define CLOSED 0 /* file not open */ +#define OPEN 1 /* file open, but no I/O buffer allocated yet */ +#define RDWR 2 /* open, buffer allocated, ok to read or write */ +#define RD 3 /* open, buffer allocated, ok to read but not write */ +#define WR 4 /* open, buffer allocated, ok to write but not read */ +#define ERR 5 /* open, but an uncleared error occurred */ +#define END 6 /* open, but at eof */ + +int _IO_setvbuf(FILE *); + +/* half hearted attempt to make multi threaded */ +extern QLock _stdiolk; |