aboutsummaryrefslogtreecommitdiffstats
path: root/io/wrap/io.h
diff options
context:
space:
mode:
author2022-04-07 19:33:30 +0530
committer2022-04-07 19:33:30 +0530
commit54d5ba67489b3fdaf437c05675eb9b1f6d085a84 (patch)
treed53df52fbfb1f440bba34799c2fcf7ff1ce75a57 /io/wrap/io.h
downloadfflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.tar
fflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.tar.gz
fflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.tar.bz2
fflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.tar.lz
fflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.tar.xz
fflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.tar.zst
fflibc-54d5ba67489b3fdaf437c05675eb9b1f6d085a84.zip
Initial commitmain
Diffstat (limited to '')
-rw-r--r--io/wrap/io.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/io/wrap/io.h b/io/wrap/io.h
new file mode 100644
index 0000000..dc5a306
--- /dev/null
+++ b/io/wrap/io.h
@@ -0,0 +1,56 @@
+#if !defined(IO_WRAP_H)
+ #define IO_WRAP_H
+
+ #include <stdarg.h>
+ #include <stddef.h>
+
+ #if __STDC_HOSTED__ == 1
+
+ #if defined(NEED_WINT)
+ #include <wchar.h>
+ #define NO_OPAQUE_TYPE
+
+ #endif
+
+ #if defined(NO_OPAQUE_TYPE)
+ #include <stdio.h>
+ #else
+typedef struct {
+ char file;
+} FILE;
+ #endif
+
+#if defined(NEED_WINT)
+extern wint_t const weof;
+
+extern wint_t _fgetwc_wrap(FILE *);
+extern wint_t _fputwc_wrap(wint_t, FILE *);
+#endif
+
+extern int const _eof_wrap;
+
+extern int _feof_wrap(FILE *stream);
+
+extern int _setvbuf_wrap(FILE *restrict file, char *restrict buffer, int mode,
+ size_t size);
+
+extern int _fgetc_wrap(FILE *);
+extern int _fputc_wrap(int, FILE *);
+
+extern int _vfprintf_wrap(FILE *, char const *restrict, va_list);
+extern int _vsnprintf_wrap(char *, size_t, char const *restrict, va_list);
+extern int _vfwprintf_wrap(FILE *, wchar_t const *restrict, va_list);
+extern int _vswprintf_wrap(wchar_t *, size_t, wchar_t const *restrict, va_list);
+
+int _vfscanf_wrap(FILE *, char const *restrict, va_list);
+int _vsscanf_wrap(char const *restrict, char const *restrict, va_list);
+int _vfwscanf_wrap(FILE *, wchar_t const *restrict, va_list);
+int _vswscanf_wrap(wchar_t const *restrict, wchar_t const *restrict, va_list);
+
+enum stdstream_list { stream_input, stream_output, stream_error };
+
+FILE *_stdstream_wrap(enum stdstream_list);
+
+ #endif
+
+#endif