stdio.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #pragma once
  2. #define _STDIO_H // Make GMP believe we exist.
  3. #include <sys/cdefs.h>
  4. #include <sys/types.h>
  5. #include <stdarg.h>
  6. #include <limits.h>
  7. __BEGIN_DECLS
  8. #ifndef EOF
  9. #define EOF (-1)
  10. #endif
  11. #define SEEK_SET 0
  12. #define SEEK_CUR 1
  13. #define SEEK_END 2
  14. #define _IOFBF 0
  15. #define _IOLBF 1
  16. #define _IONBF 2
  17. struct __STDIO_FILE {
  18. int fd;
  19. int eof;
  20. int error;
  21. int mode;
  22. char* buffer;
  23. size_t buffer_size;
  24. size_t buffer_index;
  25. char default_buffer[BUFSIZ];
  26. };
  27. typedef struct __STDIO_FILE FILE;
  28. extern FILE* stdin;
  29. extern FILE* stdout;
  30. extern FILE* stderr;
  31. typedef size_t fpos_t;
  32. int fseek(FILE*, long offset, int whence);
  33. int fgetpos(FILE*, fpos_t*);
  34. int fsetpos(FILE*, const fpos_t*);
  35. long ftell(FILE*);
  36. char* fgets(char* buffer, int size, FILE*);
  37. int fputc(int ch, FILE*);
  38. int fileno(FILE*);
  39. int fgetc(FILE*);
  40. int getc(FILE*);
  41. int getchar();
  42. int ungetc(int c, FILE*);
  43. int remove(const char* pathname);
  44. FILE* fdopen(int fd, const char* mode);
  45. FILE* fopen(const char* pathname, const char* mode); FILE* freopen(const char* pathname, const char* mode, FILE*);
  46. int fclose(FILE*);
  47. void rewind(FILE*);
  48. void clearerr(FILE*);
  49. int ferror(FILE*);
  50. int feof(FILE*);
  51. int fflush(FILE*);
  52. size_t fread(void* ptr, size_t size, size_t nmemb, FILE*);
  53. size_t fwrite(const void* ptr, size_t size, size_t nmemb, FILE*);
  54. int vprintf(const char* fmt, va_list);
  55. int vfprintf(FILE*, const char* fmt, va_list);
  56. int vsprintf(char* buffer, const char* fmt, va_list);
  57. int vsnprintf(char* buffer, size_t, const char* fmt, va_list);
  58. int fprintf(FILE*, const char* fmt, ...);
  59. int printf(const char* fmt, ...);
  60. int dbgprintf(const char* fmt, ...);
  61. int sprintf(char* buffer, const char* fmt, ...);
  62. int snprintf(char* buffer, size_t, const char* fmt, ...);
  63. int putchar(int ch);
  64. int putc(int ch, FILE*);
  65. int puts(const char*);
  66. int fputs(const char*, FILE*);
  67. void perror(const char*);
  68. int scanf(const char* fmt, ...);
  69. int sscanf (const char* str, const char* fmt, ...);
  70. int fscanf(FILE*, const char* fmt, ...);
  71. int setvbuf(FILE*, char* buf, int mode, size_t);
  72. void setbuf(FILE*, char* buf);
  73. void setlinebuf(FILE*);
  74. int rename(const char* oldpath, const char* newpath);
  75. FILE* tmpfile();
  76. char* tmpnam(char*);
  77. FILE* popen(const char* command, const char* type);
  78. int pclose(FILE*);
  79. __END_DECLS