stdio.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:5k
源码类别:

DVD

开发平台:

C/C++

  1. /* stdio.h: ANSI X3.159 1989 library header, section 4.9 */
  2. /* Copyright (C) Codemist Ltd. */
  3. /* Copyright (C) SGS-THOMSON Microelectronics Ltd. 1998 */
  4. #ifndef __stdio_h
  5. #define __stdio_h
  6. #ifdef __cplusplus
  7.   extern "C" {
  8. #endif
  9. #ifndef __size_t
  10. #define __size_t 1
  11. typedef unsigned int size_t;   /* from <stddef.h> */
  12. #endif
  13. #ifndef NULL
  14. # ifdef __cplusplus
  15. #  define NULL 0
  16. # else
  17. #  define NULL (void *)0
  18. # endif
  19. #endif
  20. typedef char *__va_list[1];
  21. typedef struct __fpos_t_struct
  22. { unsigned long __lo;
  23. } fpos_t;
  24. /* FILE flags */
  25. #define _IOINUSE     0x00000001
  26. #define _IOREAD      0x00000002
  27. #define _IOWRITE     0x00000004
  28. #define _IOAPPEND    0x00000008
  29. #define _IOBINARY    0x00000010
  30. #define _IOFBF       0x00000020 /* fully buffered IO */
  31. #define _IOLBF       0x00000040 /* line buffered IO  */
  32. #define _IONBF       0x00000080 /* unbuffered IO  */
  33. #define _IOSYSBF     0x00000100 /* system buffer  */
  34. #define _IOERR       0x00000200 /* error indicator*/
  35. #define _IOEOF       0x00000400 /* end-of-file indicator*/
  36. #define _IOUNGET     0x00000800 /* last op was unget*/
  37. #define _IOLWRITE    0x00001000 /* Last op was a write*/
  38. #define _IOLREAD     0x00002000 /* Last op was a read*/
  39. #define BUFSIZ          4096    /* system buffer size */
  40. #define EOF          (-1)
  41. #define FOPEN_MAX    8
  42. #define FILENAME_MAX 64
  43. #define L_tmpnam     20
  44. #define SEEK_SET 0 /* start of stream (see fseek) */
  45. #define SEEK_CUR 1 /* current position in stream (see fseek) */
  46. #define SEEK_END 2 /* end of stream (see fseek) */
  47. #define TMP_MAX 0x7fff
  48.  
  49. typedef struct _ST_FILE
  50.         {
  51.           int            __flag;       /* r/w etc        */
  52.           long int       __file;       /* file discriptor*/
  53.           unsigned char *__base;       /* buffer for file*/
  54.           unsigned char *__ptr;        /* current buf pos*/
  55.           int            __bufsiz;     /* buf size       */
  56.           int            __incount;    /* chars in buf to r*/
  57.           int            __outcount;   /* number to write*/
  58.           int            __saveout;    /* used in unget*/
  59.           int            __savein;     /* used in unget*/
  60.           int            __count;      /* local w/buffer count*/
  61.           long int       __store;      /* local r/buffer count*/
  62.           unsigned char  __lilbuf;     /* unget buffer*/
  63.           unsigned char  __lilbuf2;    /* a one char buffer*/
  64.           char *         __tmpname;    /* temporary file name*/ 
  65.           void *         __filesem;    /* usr defined */  
  66.         } FILE; 
  67. extern FILE _ST_FILE_table[];
  68. #define stdin  (&(_ST_FILE_table[0]))
  69. #define stdout (&(_ST_FILE_table[1]))
  70. #define stderr (&(_ST_FILE_table[2]))
  71. extern FILE* fopen(const char * /* filename */, const char * /* mode */);
  72. extern FILE* fdopen(const int /* file descriptor*/, const char * /* mode */);
  73. extern int fclose(FILE * /* stream */);
  74. extern size_t fread(void * /* ptr */, size_t /* size */, size_t /* nmemb */, FILE * /* stream */);
  75. extern size_t fwrite(const void * /* ptr */, size_t /* size */, size_t /* nmemb */, FILE * /* stream */);
  76. extern int getc(FILE * /* stream */);
  77. extern int putc(int /* c */, FILE * /* stream */);
  78. extern int remove(const char * /* filename */);
  79. extern int rename(const char */* oldname */, const char * /* newname */);
  80. extern int fseek(FILE * /* stream */, long /* offset */, int /* origin */);
  81. extern long ftell(FILE * /* stream */);
  82. extern int vprintf(const char *, __va_list);
  83. extern int getchar(void);
  84. extern int putchar(int /* c */);
  85. extern int fgetc(FILE * /* stream */);
  86. extern int fputc(int /* c */, FILE * /* stream */);
  87. extern char *fgets(char * /* s */, int /* n */, FILE */* stream */);
  88. extern char *gets(char * /* s */);
  89. extern int fputs(const char * /* s */, FILE * /* stream */);
  90. extern int puts(const char * /* s */);
  91. extern int fsetpos(FILE * /* stream */, const fpos_t * /* pos */);
  92. extern int fgetpos(FILE * /* stream */, fpos_t * /* pos */);
  93. extern void clearerr(FILE * /* stream */);
  94. extern int ferror(FILE * /* stream */);
  95. extern int feof(FILE * /* stream */);
  96. extern int fflush(FILE * /* stream */);
  97. extern char *tmpnam(char * /* s */);
  98. extern FILE *tmpfile (void);
  99. extern void rewind(FILE * /* stream */);
  100. extern void perror(const char *);
  101. extern void setbuf(FILE *, char *);
  102. extern int setvbuf(FILE * /* stream */, char * /* buf */, int /* type */, size_t /* size */);
  103. extern int vsprintf(char * /* buff */, const char * /* fmt */, __va_list /* a */);
  104. extern int vsnprintf(char * /* buff */, size_t /* count */, const char * /* fmt */, __va_list /* a */);
  105. extern int ungetc(int /* c */,FILE * /* stream */);
  106. extern FILE *freopen(const char * /* name */, const char * /* mode */, FILE * /* stream */);
  107. extern int vfprintf(FILE * /* fp */, const char * /* fmt */, __va_list /* a */);
  108. extern int fileno(FILE* /*stream*/) ;
  109. #pragma ST_on(printf_checking)
  110. extern int printf(const char *, ...);
  111. extern int sprintf(char *, const char *, ...);
  112. extern int snprintf(char *, size_t, const char *, ...);
  113. extern int fprintf(FILE *, const char *, ...);
  114. #pragma ST_off(printf_checking)
  115. #pragma ST_on(scanf_checking)
  116. extern int fscanf(FILE */* fp */, const char */* fmt*/, ...);
  117. extern int scanf(const char * /* fmt */, ...);
  118. extern int sscanf(const char * /* buff */, const char * /* fmt */, ...);
  119. #pragma ST_off(scanf_checking)
  120. #ifdef __cplusplus
  121.   }
  122. #endif
  123. #endif