api: add stdarg .. sys/uio
[libc-test] / src / api / stdio.c
1 #include <stdio.h>
2 #define T(t) (t*)0;
3 #define F(t,n) {t *y = &x.n;}
4 #define C(n) switch(n){case n:;}
5 static void f()
6 {
7 T(FILE)
8 T(fpos_t)
9 T(off_t)
10 T(size_t)
11 C(BUFSIZ)
12 #ifdef _POSIX_C_SOURCE
13 T(ssize_t)
14 T(va_list)
15 C(L_ctermid)
16 #endif
17 C(_IOFBF)
18 C(_IOLBF)
19 C(_IONBF)
20 C(SEEK_CUR)
21 C(SEEK_END)
22 C(SEEK_SET)
23 C(FILENAME_MAX)
24 C(FOPEN_MAX)
25 C(EOF)
26 {void *x=NULL;}
27 {FILE *x=stderr;}
28 {FILE *x=stdin;}
29 {FILE *x=stdout;}
30 void(*p_clearerr)(FILE*) = clearerr;
31 char*(*p_ctermid)(char*) = ctermid;
32 int(*p_dprintf)(int,const char*restrict,...) = dprintf;
33 int(*p_fclose)(FILE*) = fclose;
34 FILE*(*p_fdopen)(int,const char*) = fdopen;
35 int(*p_feof)(FILE*) = feof;
36 int(*p_ferror)(FILE*) = ferror;
37 int(*p_fflush)(FILE*) = fflush;
38 int(*p_fgetc)(FILE*) = fgetc;
39 int(*p_fgetpos)(FILE*restrict,fpos_t*restrict) = fgetpos;
40 char*(*p_fgets)(char*restrict,int,FILE*restrict) = fgets;
41 int(*p_fileno)(FILE*) = fileno;
42 void(*p_flockfile)(FILE*) = flockfile;
43 FILE*(*p_fmemopen)(void*restrict,size_t,const char*restrict) = fmemopen;
44 FILE*(*p_fopen)(const char*restrict,const char*restrict) = fopen;
45 int(*p_fprintf)(FILE*restrict,const char*restrict,...) = fprintf;
46 int(*p_fputc)(int,FILE*) = fputc;
47 int(*p_fputs)(const char*restrict,FILE*restrict) = fputs;
48 size_t(*p_fread)(void*restrict,size_t,size_t,FILE*restrict) = fread;
49 FILE*(*p_freopen)(const char*restrict,const char*restrict,FILE*restrict) = freopen;
50 int(*p_fscanf)(FILE*restrict,const char*restrict,...) = fscanf;
51 int(*p_fseek)(FILE*,long,int) = fseek;
52 int(*p_fseeko)(FILE*,off_t,int) = fseeko;
53 int(*p_fsetpos)(FILE*,const fpos_t*) = fsetpos;
54 long(*p_ftell)(FILE*) = ftell;
55 off_t(*p_ftello)(FILE*) = ftello;
56 int(*p_ftrylockfile)(FILE*) = ftrylockfile;
57 void(*p_funlockfile)(FILE*) = funlockfile;
58 size_t(*p_fwrite)(const void*restrict,size_t,size_t,FILE*restrict) = fwrite;
59 int(*p_getc)(FILE*) = getc;
60 int(*p_getc_unlocked)(FILE*) = getc_unlocked;
61 int(*p_getchar)(void) = getchar;
62 int(*p_getchar_unlocked)(void) = getchar_unlocked;
63 ssize_t(*p_getdelim)(char**restrict,size_t*restrict,int,FILE*restrict) = getdelim;
64 ssize_t(*p_getline)(char**restrict,size_t*restrict,FILE*restrict) = getline;
65 char*(*p_gets)(char*) = gets;
66 FILE*(*p_open_memstream)(char**,size_t*) = open_memstream;
67 int(*p_pclose)(FILE*) = pclose;
68 void(*p_perror)(const char*) = perror;
69 FILE*(*p_popen)(const char*,const char*) = popen;
70 int(*p_printf)(const char*restrict,...) = printf;
71 int(*p_putc)(int,FILE*) = putc;
72 int(*p_putc_unlocked)(int,FILE*) = putc_unlocked;
73 int(*p_putchar)(int) = putchar;
74 int(*p_putchar_unlocked)(int) = putchar_unlocked;
75 int(*p_puts)(const char*) = puts;
76 int(*p_remove)(const char*) = remove;
77 int(*p_rename)(const char*,const char*) = rename;
78 int(*p_renameat)(int,const char*,int,const char*) = renameat;
79 void(*p_rewind)(FILE*) = rewind;
80 int(*p_scanf)(const char*restrict,...) = scanf;
81 void(*p_setbuf)(FILE*restrict,char*restrict) = setbuf;
82 int(*p_setvbuf)(FILE*restrict,char*restrict,int,size_t) = setvbuf;
83 int(*p_snprintf)(char*restrict,size_t,const char*restrict,...) = snprintf;
84 int(*p_sprintf)(char*restrict,const char*restrict,...) = sprintf;
85 int(*p_sscanf)(const char*restrict,const char*restrict,...) = sscanf;
86 char*(*p_tempnam)(const char*,const char*) = tempnam;
87 FILE*(*p_tmpfile)(void) = tmpfile;
88 char*(*p_tmpnam)(char*) = tmpnam;
89 int(*p_ungetc)(int,FILE*) = ungetc;
90 }
91 #include <wchar.h>
92 static void g()
93 {
94 wint_t(*p_btowc)(int) = btowc;
95 wint_t(*p_fgetwc)(FILE*) = fgetwc;
96 wchar_t*(*p_fgetws)(wchar_t*restrict,int,FILE*restrict) = fgetws;
97 wint_t(*p_fputwc)(wchar_t,FILE*) = fputwc;
98 int(*p_fputws)(const wchar_t*restrict,FILE*restrict) = fputws;
99 int(*p_fwide)(FILE*,int) = fwide;
100 int(*p_fwprintf)(FILE*restrict,const wchar_t*restrict,...) = fwprintf;
101 int(*p_fwscanf)(FILE*restrict,const wchar_t*restrict,...) = fwscanf;
102 wint_t(*p_getwc)(FILE*) = getwc;
103 wint_t(*p_putwc)(wchar_t,FILE*) = putwc;
104 int(*p_swprintf)(wchar_t*restrict,size_t,const wchar_t*restrict,...) = swprintf;
105 int(*p_swscanf)(const wchar_t*restrict,const wchar_t*restrict,...) = swscanf;
106 wint_t(*p_ungetwc)(wint_t,FILE*) = ungetwc;
107 int(*p_wctob)(wint_t) = wctob;
108 int(*p_wprintf)(const wchar_t*restrict,...) = wprintf;
109 int(*p_wscanf)(const wchar_t*restrict,...) = wscanf;
110 }
111 #include <stdarg.h>
112 static void h()
113 {
114 int(*p_vdprintf)(int,const char*restrict,va_list) = vdprintf;
115 int(*p_vfprintf)(FILE*restrict,const char*restrict,va_list) = vfprintf;
116 int(*p_vfscanf)(FILE*restrict,const char*restrict,va_list) = vfscanf;
117 int(*p_vprintf)(const char*restrict,va_list) = vprintf;
118 int(*p_vscanf)(const char*restrict,va_list) = vscanf;
119 int(*p_vsnprintf)(char*restrict,size_t,const char*restrict,va_list) = vsnprintf;
120 int(*p_vsprintf)(char*restrict,const char*restrict,va_list) = vsprintf;
121 int(*p_vsscanf)(const char*restrict,const char*restrict,va_list) = vsscanf;
122
123 int(*p_vfwprintf)(FILE*restrict,const wchar_t*restrict,va_list) = vfwprintf;
124 int(*p_vfwscanf)(FILE*restrict,const wchar_t*restrict,va_list) = vfwscanf;
125 int(*p_vswprintf)(wchar_t*restrict,size_t,const wchar_t*restrict,va_list) = vswprintf;
126 int(*p_vswscanf)(const wchar_t*restrict,const wchar_t*restrict,va_list) = vswscanf;
127 int(*p_vwprintf)(const wchar_t*restrict,va_list) = vwprintf;
128 int(*p_vwscanf)(const wchar_t*restrict,va_list) = vwscanf;
129 }