home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / HITECH-C / MOTOROLA.EXE / STDIO.H < prev    next >
C/C++ Source or Header  |  1993-04-21  |  4KB  |  155 lines

  1. #if    z80
  2. #define    BUFSIZ        512
  3. #define    _NFILE        8
  4. #else    z80
  5. #define    BUFSIZ        1024
  6. #define    _NFILE        20
  7. #endif    z80
  8.  
  9. #ifndef    _STDDEF
  10. typedef    int        ptrdiff_t;    /* result type of pointer difference */
  11. typedef    unsigned    size_t;        /* type yielded by sizeof */
  12. typedef unsigned short    wchar_t;    /* wide char type */
  13. #define    _STDDEF
  14. #define    offsetof(ty, mem)    ((int)&(((ty *)0)->mem))
  15. #endif    _STDDEF
  16.  
  17. #ifndef    _STDARG
  18. #include    <stdarg.h>
  19. #endif
  20.  
  21. #ifndef    NULL
  22. #define    NULL    ((void *)0)
  23. #endif    NULL
  24.  
  25. extern int    errno;            /* system error number */
  26.  
  27. #ifndef FILE
  28. #define    uchar    unsigned char
  29.  
  30. extern    struct    _iobuf {
  31.     char *        _ptr;
  32.     int        _cnt;
  33.     char *        _base;
  34.     unsigned short    _flag;
  35.     short        _file;
  36.     size_t        _size;
  37. } _iob[_NFILE];
  38.  
  39. #define    FILE        struct _iobuf
  40.  
  41. #define    L_tmpnam    34        /* max length of temporary names */
  42. #define    _MAXTFILE    8        /* max number of temporary files */
  43.  
  44. extern struct _tfiles {
  45.     char    tname[L_tmpnam];
  46.     FILE *    tfp;
  47. }    * _tfilesptr;
  48.  
  49. #endif    FILE
  50.  
  51. #define    _IOFBF        0
  52. #define    _IOREAD        01
  53. #define    _IOWRT        02
  54. #define    _IORW        03
  55. #define    _IONBF        04
  56. #define    _IOMYBUF    010
  57. #define    _IOEOF        020
  58. #define    _IOERR        040
  59. #define    _IOSTRG        0100
  60. #define    _IOBINARY    0200
  61. #define    _IOLBF        0400
  62. #define    _IODIRN        01000    /* true when file is in write mode */
  63. #define    _IOAPPEND    02000    /* file was opened in append mode */
  64. #define    _IOSEEKED    04000    /* a seek has occured since last write */
  65. #define    _IOTMPFILE    010000    /* this file is a temporary */
  66.  
  67. #define    EOF        (-1)
  68. #define    _IOSTRING    (-67)
  69.  
  70. #define    stdin        (&_iob[0])
  71. #define    stdout        (&_iob[1])
  72. #define    stderr        (&_iob[2])
  73. #if    _HOSTED
  74. #define    getchar()    getc(stdin)
  75. #define    putchar(x)    putc(x,stdout)
  76. #else
  77. #include    <conio.h>
  78. #define    getchar()    getche()
  79. #define    putchar(x)    putch(x)
  80. extern int    cprintf(char *, ...);
  81. #pragma printf_check(cprintf)
  82. #endif
  83.  
  84. /*    getc() and putc() must be functions for CP/M to allow the special
  85.  *    handling of '\r', '\n' and '\032'. The same for MSDOS except that
  86.  *    it at least knows the length of a file.
  87.  */
  88.  
  89. #define    getc(p)        fgetc(p)
  90. #define    putc(x,p)    fputc(x,p)
  91.  
  92. #define    feof(p)        (((p)->_flag&_IOEOF)!=0)
  93. #define    ferror(p)    (((p)->_flag&_IOERR)!=0)
  94. #define    fileno(p)    ((unsigned short)p->_file)
  95. #define    clrerr(p)    p->_flag &= ~_IOERR
  96. #define    clreof(p)    p->_flag &= ~_IOEOF
  97. #define    clearerr(p)    p->_flag &= ~(_IOERR|_IOEOF)
  98.  
  99.  
  100. extern int    _flsbuf(char, FILE *);
  101. extern int    _filbuf(FILE *);
  102. extern int    fclose(FILE *);
  103. extern int    fflush(FILE *);
  104. extern int    fgetc(FILE *);
  105. extern int    ungetc(int, FILE *);
  106. extern int    fputc(int, FILE *);
  107. extern int    getw(FILE *);
  108. extern int    putw(int, FILE *);
  109. extern char *    gets(char *);
  110. extern int    puts(char *);
  111. extern int    fputs(char *, FILE *);
  112. extern int    fread(void *, size_t, size_t, FILE *);
  113. extern int    fwrite(void *, size_t, size_t, FILE *);
  114. extern int    fseek(FILE *, long, int);
  115. extern int    rewind(FILE *);
  116. extern void    setbuf(FILE *, char *);
  117. extern int    setvbuf(FILE *, char *, int, size_t);
  118. extern int    printf(char *, ...);
  119. extern int    fprintf(FILE *, char *, ...);
  120. extern int    sprintf(char *, char *, ...);
  121. extern int    scanf(char *, ...);
  122. extern int    fscanf(FILE *, char *, ...);
  123. extern int    sscanf(char *, char *, ...);
  124. extern int    vfprintf(FILE *, char *, va_list);
  125. extern int    vprintf(char *, va_list);
  126. extern int    vsprintf(char *, char *, va_list);
  127. extern int    vscanf(char *, va_list ap);
  128. extern int    vfscanf(FILE *, char *, va_list);
  129. extern int    vsscanf(char *, char *, va_list);
  130. extern int    remove(char *);
  131. extern int    rename(char *, char *);
  132. extern FILE *    fopen(char *, char *);
  133. extern FILE *    freopen(char *, char *, FILE *);
  134. extern FILE *    fdopen(int, char *);
  135. extern long    ftell(FILE *);
  136. extern char *    fgets(char *, int, FILE *);
  137. extern void    perror(const char *);
  138. extern char *    _bufallo(void);
  139. extern void    _buffree(char *);
  140. extern char *    tmpnam(char *);
  141. extern FILE *    tmpfile(void);
  142.  
  143. #if    unix
  144. extern FILE *    popen(char *, char *);
  145. extern int    pclose(FILE *);
  146. #endif
  147. extern void    (**_atexitptr)(void);
  148.  
  149. #pragma    printf_check(vsprintf)
  150. #pragma    printf_check(vprintf)
  151. #pragma    printf_check(vsprintf)
  152. #pragma    printf_check(sprintf)
  153. #pragma    printf_check(printf)
  154. #pragma    printf_check(fprintf)
  155.