wyatt8740

sysv stdio.h

Oct 1st, 2015
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. /* @(#)stdio.h 2.3 */
  2. #ifndef _NFILE
  3. #define _NFILE 20
  4.  
  5. #if u370
  6. #define BUFSIZ 4096
  7. #endif
  8. #if vax || u3b
  9. #define BUFSIZ 1024
  10. #endif
  11. #if pdp11
  12. #define BUFSIZ 512
  13. #endif
  14.  
  15. /* buffer size for multi-character output to unbuffered files */
  16. #define _SBFSIZ 8
  17.  
  18. typedef struct {
  19. #if vax || u3b
  20. int _cnt;
  21. unsigned char *_ptr;
  22. #else
  23. unsigned char *_ptr;
  24. int _cnt;
  25. #endif
  26. unsigned char *_base;
  27. char _flag;
  28. char _file;
  29. } FILE;
  30.  
  31. /*
  32. * _IOLBF means a file is a terminal; this means, in particular,
  33. * that output will be buffered line by line
  34. */
  35. #define _IOREAD 0001
  36. #define _IOWRT 0002
  37. #define _IONBF 0004
  38. #define _IOMYBUF 0010
  39. #define _IOEOF 0020
  40. #define _IOERR 0040
  41. #define _IOLBF 0100
  42. #define _IORW 0200
  43.  
  44. #ifndef NULL
  45. #define NULL 0
  46. #endif
  47. #ifndef EOF
  48. #define EOF (-1)
  49. #endif
  50.  
  51. #define stdin (&_iob[0])
  52. #define stdout (&_iob[1])
  53. #define stderr (&_iob[2])
  54.  
  55. #define _bufend(p) _bufendtab[(p)->_file]
  56. #define _bufsiz(p) (_bufend(p) - (p)->_base)
  57.  
  58. #ifndef lint
  59. #define getc(p) (--(p)->_cnt >= 0 ? (int) *(p)->_ptr++ : _filbuf(p))
  60. #define putc(x, p) (--(p)->_cnt >= 0 ? \
  61. ((int) (*(p)->_ptr++ = (unsigned char) (x))) : \
  62. _flsbuf((unsigned char) (x), (p)))
  63. #define getchar() getc(stdin)
  64. #define putchar(x) putc((x), stdout)
  65. #define clearerr(p) ((void) ((p)->_flag &= ~(_IOERR | _IOEOF)))
  66. #define feof(p) ((p)->_flag & _IOEOF)
  67. #define ferror(p) ((p)->_flag & _IOERR)
  68. #define fileno(p) (p)->_file
  69. #endif
  70.  
  71. extern FILE _iob[_NFILE];
  72. extern FILE *fopen(), *fdopen(), *freopen(), *popen(), *tmpfile();
  73. extern long ftell();
  74. extern void rewind(), setbuf();
  75. extern char *ctermid(), *cuserid(), *fgets(), *gets(), *tempnam(), *tmpnam();
  76. extern unsigned char *_bufendtab[];
  77.  
  78. #define L_ctermid 9
  79. #define L_cuserid 9
  80. #define P_tmpdir "/usr/tmp/"
  81. #define L_tmpnam (sizeof(P_tmpdir) + 15)
  82. #endif
Advertisement
Add Comment
Please, Sign In to add comment