b38365242ccd76f17abd6d2381f754bdd8ce6511
[tpg/acess2.git] / Usermode / Libraries / libc.so_src / include_exp / stdio.h
1 /*
2  * AcessOS LibC
3  * stdlib.h
4  */
5 #ifndef __STDIO_H
6 #define __STDIO_H
7
8 #include <sys/types.h>
9 #include <stdarg.h>
10 #include <stddef.h>     // size_t
11
12 /* === Types === */
13 typedef struct sFILE    FILE;
14
15 /* === CONSTANTS === */
16 #define EOF     (-1)
17 #define BUFSIZ  1024
18
19 #ifndef SEEK_CUR
20 #define SEEK_CUR        0
21 #define SEEK_SET        1
22 #define SEEK_END        (-1)
23 #endif
24
25 #ifdef ARCHDIR_is_native
26 #define printf  acess_printf
27 #define vsprintf        acess_vsprintf
28 #define vsnprintf       acess_vsnprintf
29 #define sprintf acess_sprintf
30 #define snprintf        acess_snprintf
31 #define vprintf acess_vprintf
32 #define vfprintf        acess_vfprintf
33 #define fopen   acess_fopen
34 #define fdopen  acess_fdopen
35 #define freopen acess_freopen
36 #define fclose  acess_fclose
37
38 #define putchar acess_putchar
39 #define getchar acess_getchar
40
41 #define stdin   acess_stdin
42 #define stdout  acess_stdout
43 #endif
44
45 /* --- Standard IO --- */
46 extern int      printf(const char *format, ...);
47 extern int      vsnprintf(char *buf, size_t __maxlen, const char *format, va_list args);
48 extern int      vsprintf(char *buf, const char *format, va_list args);
49 extern int      sprintf(char *buf, const char *format, ...);
50 extern int      snprintf(char *buf, size_t maxlen, const char *format, ...);
51 extern void     perror(const char *s);
52
53 extern FILE     *fopen(const char *file, const char *mode);
54 extern FILE     *freopen(const char *file, const char *mode, FILE *fp);
55 extern FILE     *fdopen(int fd, const char *modes);
56 extern int      fclose(FILE *fp);
57 extern void     fflush(FILE *fp);
58 extern off_t    ftell(FILE *fp);
59 extern int      fseek(FILE *fp, long int amt, int whence);
60 extern void     clearerr(FILE *stream);
61 extern int      feof(FILE *stream);
62 extern int      ferror(FILE *stream);
63 extern int      fileno(FILE *stream);
64
65 extern size_t   fread(void *buf, size_t size, size_t n, FILE *fp);
66 extern size_t   fwrite(const void *buf, size_t size, size_t n, FILE *fp);
67 extern int      fgetc(FILE *fp);
68 extern char     *fgets(char *s, int size, FILE *fp);
69 extern int      fputc(int ch, FILE *fp);
70 extern int      fputs(const char *s, FILE *fp);
71 extern int      getchar(void);
72 extern int      putchar(int ch);
73
74 extern int      fprintf(FILE *fp, const char *format, ...);
75 extern int      vfprintf(FILE *fp, const char *format, va_list args);
76
77 // scanf
78 extern int      scanf(const char *format, ...);
79 extern int      fscanf(FILE *stream, const char *format, ...);
80 extern int      sscanf(const char *str, const char *format, ...);
81 extern int      vscanf(const char *format, va_list ap);
82 extern int      vsscanf(const char *str, const char *format, va_list ap);
83 extern int      vfscanf(FILE *stream, const char *format, va_list ap);
84
85 extern FILE     *stdin;
86 extern FILE     *stdout;
87 extern FILE     *stderr;
88
89 #endif
90

UCC git Repository :: git.ucc.asn.au