home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 169_01 / stdio.h < prev    next >
Text File  |  1983-04-18  |  2KB  |  55 lines

  1. /**
  2. *
  3. * This header file defines the information used by the standard I/O
  4. * package.
  5. *
  6. **/
  7. #define _BUFSIZ 512           /* standard buffer size */
  8. #define _NFILE 16             /* maximum number of files */
  9.  
  10. struct _iobuf
  11. {
  12. char *_ptr;         /* current buffer pointer */
  13. int _cnt;           /* current byte count */
  14. char *_base;        /* base address of I/O buffer */
  15. char _flag;         /* control flags */
  16. char _file;         /* file number */
  17. };
  18.  
  19. extern struct _iobuf _iob[_NFILE];
  20.  
  21. #define _IOREAD 1             /* read flag */
  22. #define _IOWRT 2              /* write flag */
  23. #define _IONBF 4              /* non-buffered flag */
  24. #define _IOMYBUF 8
  25. #define _IOEOF 16             /* end-of-file flag */
  26. #define _IOERR 32             /* error flag */
  27. #define _IOSTRG 64
  28. #define _IORW 128
  29.  
  30. #define NULL 0                /* null pointer value */
  31. #define FILE struct _iobuf      /* shorthand */
  32. #define EOF (-1)              /* end-of-file code */
  33.  
  34. #define stdin (&_iob[0])        /* standard input file pointer */
  35. #define stdout (&_iob[1])       /* standard output file pointer */
  36. #define stderr (&_iob[2])       /* standard error file pointer */
  37.  
  38. #define getc(p) (--(p)->_cnt>=0? *(p)->_ptr++&255:_filbf(p))
  39. #define getchar() getc(stdin)
  40. #define putc(c,p) (--(p)->_cnt>=0? ((int)(*(p)->_ptr++=(c))):_flsbf((c),p))
  41. #define putchar(c) putc(c,stdout)
  42. #define feof(p) (((p)->_flag&_IOEOF)!=0)
  43. #define ferror(p) (((p)->_flag&_IOERR)!=0)
  44. #define fileno(p) (p)->_file
  45. #define rewind(fp) fseek(fp,0L,0)
  46. #define fflush(fp) _flsbf(-1,fp)
  47.  
  48. FILE *fopen();
  49. FILE *freopen();
  50. long ftell();
  51. char *fgets();
  52.  
  53. #define abs(x) ((x)<0?-(x):(x))
  54. #define max(a,b) ((a)>(b)?(a):(b))
  55. #define min(a,b) ((a)<=(b)?(a):(b))