home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / hamradio / s920603.zip / STDIO.H < prev    next >
C/C++ Source or Header  |  1992-06-03  |  4KB  |  122 lines

  1. #ifndef    _STDIO_H
  2. #define    _STDIO_H
  3.  
  4. #ifndef    _GLOBAL_H
  5. #include "global.h"
  6. #endif
  7.  
  8. #define    EOL_LEN    3
  9.  
  10. struct _file{
  11.     unsigned cookie;        /* Detect bogus file pointers */
  12. #define    _COOKIE    0xdead
  13.     int refcnt;
  14.     struct _file *prev;
  15.     struct _file *next;
  16.  
  17.     /* These two entries used only when type == _FL_FILE */
  18.     int fd;            /* File descriptor or socket index */
  19.     long offset;        /* Seek offset */
  20.  
  21.     int type;
  22. #define    _FL_SOCK    1    /* Associated with network socket */
  23. #define    _FL_FILE    2    /* Associated with file */
  24. #define    _FL_DISPLAY    3    /* Associated with display driver */
  25. #define    _FL_PIPE    4    /* Pipe mode */
  26.  
  27.     int bufmode;        /* Output buffering mode */
  28. #define    _IOFBF    1        /* Full buffering */
  29. #define    _IOLBF    2        /* Line buffering */
  30. #define    _IONBF    3        /* No buffering */
  31.  
  32.     int flags;
  33. #define    _FL_ERR        0x1    /* Error on stream */
  34. #define    _FL_EOF        0x2    /* EOF seen */
  35. #define    _FL_ASCII    0x4    /* Ascii (newline translate) mode */
  36. #define    _FL_APPEND    0x8    /* Always seek to end before writing */
  37. #define    _FL_TMP        0x10    /* Delete on close */
  38.     struct mbuf *obuf;    /* Output buffer */
  39.     struct mbuf *ibuf;    /* Input buffer */
  40.     char eol[EOL_LEN];    /* Text mode end-of-line sequence, if any */
  41.     int bufsize;        /* Size of buffer to use */
  42.     void *ptr;        /* File name or display pointer */
  43. };
  44.  
  45. typedef struct _file FILE;
  46.  
  47. #ifndef _SIZE_T
  48. #define _SIZE_T
  49. typedef unsigned size_t;
  50. #endif
  51.  
  52. #undef    NULL
  53. #define    NULL    (void *)0
  54. #define    BUFSIZ    1024
  55. #define    EOF    (-1)
  56. #define    L_tmpnam    13
  57.  
  58. #define    SEEK_SET    0
  59. #define    SEEK_CUR    1
  60. #define    SEEK_END    2
  61.  
  62. #define    stdout    Curproc->output
  63. #define    stdin    Curproc->input
  64. #define    stderr    Curproc->output
  65.  
  66. #define    STREAM_BINARY    0
  67. #define    STREAM_ASCII    1
  68.  
  69. int close __ARGS((int fd));
  70. FILE *displayopen __ARGS((char *mode,int noscrol));
  71. int fclose __ARGS((FILE *fp));
  72. void fcloseall __ARGS((void));
  73. FILE *fdopen __ARGS((int handle,char *mode));
  74. FILE *fdup __ARGS((FILE *fp));
  75. int fflush __ARGS((FILE *fp));
  76. int fgetc __ARGS((FILE *fp));
  77. int _fgetc __ARGS((FILE *fp));
  78. char *fgets __ARGS((char *buf,int len,FILE *fp));
  79. void flushall __ARGS((void));
  80. int fmode  __ARGS((FILE *fp,int mode));
  81. char *fpname __ARGS((FILE *fp));
  82. int fprintf __ARGS((FILE *fp,char *fmt,...));
  83. int fputc __ARGS((int c,FILE *fp));
  84. int fputs __ARGS((char *buf,FILE *fp));
  85. size_t fread __ARGS((void *ptr,size_t size,size_t n,FILE *fp));
  86. FILE *freopen __ARGS((char *name,char *mode,FILE *fp));
  87. int fseek __ARGS((FILE *fp,long offset,int whence));
  88. long ftell __ARGS((FILE *fp));
  89. size_t fwrite __ARGS((void *ptr,size_t size,size_t n,FILE *fp));
  90. char *gets __ARGS((char *s));
  91. void perror __ARGS((char *s));
  92. FILE *pipeopen __ARGS((void));
  93. int printf __ARGS((char *fmt,...));
  94. int puts __ARGS((char *s));
  95. int rename __ARGS((const char *,const char *));
  96. void setbuf __ARGS((FILE *fp,char *buf));
  97. int seteol __ARGS((FILE *fp,char *seq));
  98. int setvbuf __ARGS((FILE *fp,char *buf,int type,int size));
  99. int sprintf __ARGS((char *,char *, ...));
  100. int sscanf __ARGS((char *,char *,...));    /* From regular library */
  101. FILE *tmpfile __ARGS((void));
  102. char *tmpnam __ARGS((char *));    /* From regular library */
  103. int ungetc __ARGS((int c,FILE *fp));
  104. int unlink __ARGS((const char *));    /* From regular library */
  105. int vfprintf __ARGS((FILE *fp,char *fmt, void *args));
  106. int vprintf __ARGS((char *fmt, void *args));
  107. int vsprintf __ARGS((char *,char *,void *));
  108.  
  109. /* Macros */
  110. #define    feof(fp)    ((fp)->flags & _FL_EOF)
  111. #define ferror(fp)    ((fp)->flags & _FL_ERR)
  112. #define    fileno(fp)    ((fp) != NULLFILE ? (fp)->fd : -1)
  113. #define fopen(s,m)    (freopen((s),(m),NULLFILE))
  114. #define    putc(c,fp)    (fputc((c),(fp)))
  115. #define    getc(fp)    (fgetc((fp)))
  116. #define    getchar()    (getc(stdin))
  117. #define    clearerr(fp)    ((fp)->flags &= ~(_FL_EOF|_FL_ERR))
  118. #define rewind(fp)    ((void)fseek((fp),0L,SEEK_SET),clearerr((fp)))
  119. #define    putchar(c)    (putc((c),stdout))
  120.  
  121. #endif /* _STDIO_H */
  122.