summaryrefslogtreecommitdiff
path: root/include/wchar.h
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-07 20:10:31 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-07 20:10:31 +0100
commitfc00c656c96528112d05cf0edf8631bd5eaea446 (patch)
treea6e0e6c588191a8bd1c64afc3b7a258e3e66c236 /include/wchar.h
Add build system scaffolding and libc headers
Diffstat (limited to 'include/wchar.h')
-rw-r--r--include/wchar.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/include/wchar.h b/include/wchar.h
new file mode 100644
index 00000000..85e58328
--- /dev/null
+++ b/include/wchar.h
@@ -0,0 +1,112 @@
+#ifndef __WCHAR_H__
+#define __WCHAR_H__
+
+typedef struct __FILE FILE;
+typedef struct __locale_t *locale_t;
+typedef struct __mbstate_t mbstate_t;
+typedef __SIZE_TYPE__ size_t;
+typedef __builtin_va_list va_list;
+typedef __WCHAR_TYPE__ wchar_t;
+typedef unsigned wint_t;
+struct tm;
+
+#undef WCHAR_MAX
+#undef WCHAR_MIN
+#if L'\0' - 1 > 0
+#define WCHAR_MAX (0xffffffffu + L'\0')
+#define WCHAR_MIN (0 + L'\0')
+#else
+#define WCHAR_MAX (0x7fffffff + L'\0')
+#define WCHAR_MIN (-1 - 0x7fffffff + L'\0')
+#endif
+
+#undef WEOF
+#define WEOF 0xffffffffU
+
+#undef NULL
+#define NULL ((void *)0)
+
+wint_t btowc(int);
+wint_t fgetwc(FILE *);
+wchar_t *fgetws(wchar_t *restrict, int, FILE *restrict);
+wint_t fputwc(wchar_t, FILE *);
+int fputws(const wchar_t *restrict, FILE *restrict);
+int fwide(FILE *, int);
+int fwprintf(FILE *restrict, const wchar_t *restrict, ...);
+int fwscanf(FILE *restrict, const wchar_t *restrict, ...);
+wint_t getwc(FILE *);
+wint_t getwchar(void);
+size_t mbrlen(const char *restrict, size_t, mbstate_t *restrict);
+size_t mbrtowc(wchar_t *restrict, const char *restrict, size_t,
+ mbstate_t *restrict);
+int mbsinit(const mbstate_t *);
+size_t mbsnrtowcs(wchar_t *restrict, const char **restrict, size_t, size_t,
+ mbstate_t *restrict);
+size_t mbsrtowcs(wchar_t *restrict, const char **restrict, size_t,
+ mbstate_t *restrict);
+FILE *open_wmemstream(wchar_t **, size_t *);
+wint_t putwc(wchar_t, FILE *);
+wint_t putwchar(wchar_t);
+int swprintf(wchar_t *restrict, size_t, const wchar_t *restrict, ...);
+int swscanf(const wchar_t *restrict, const wchar_t *restrict, ...);
+wint_t ungetwc(wint_t, FILE *);
+int vfwprintf(FILE *restrict, const wchar_t *restrict, va_list);
+int vfwscanf(FILE *restrict, const wchar_t *restrict, va_list);
+int vswprintf(wchar_t *restrict, size_t, const wchar_t *restrict, va_list);
+int vswscanf(const wchar_t *restrict, const wchar_t *restrict, va_list);
+int vwprintf(const wchar_t *restrict, va_list);
+int vwscanf(const wchar_t *restrict, va_list);
+wchar_t *wcpcpy(wchar_t *restrict, const wchar_t *restrict);
+wchar_t *wcpncpy(wchar_t *restrict, const wchar_t *restrict, size_t);
+size_t wcrtomb(char *restrict, wchar_t, mbstate_t *restrict);
+int wcscasecmp(const wchar_t *, const wchar_t *);
+int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t);
+wchar_t *wcscat(wchar_t *restrict, const wchar_t *restrict);
+wchar_t *wcschr(const wchar_t *, wchar_t);
+int wcscmp(const wchar_t *, const wchar_t *);
+int wcscoll(const wchar_t *, const wchar_t *);
+int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
+wchar_t *wcscpy(wchar_t *restrict, const wchar_t *restrict);
+size_t wcscspn(const wchar_t *, const wchar_t *);
+wchar_t *wcsdup(const wchar_t *);
+size_t wcsftime(wchar_t *restrict, size_t, const wchar_t *restrict,
+ const struct tm *restrict);
+size_t wcslcat(wchar_t *restrict, const wchar_t *restrict, size_t);
+size_t wcslcpy(wchar_t *restrict, const wchar_t *restrict, size_t);
+size_t wcslen(const wchar_t *);
+int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
+int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t);
+wchar_t *wcsncat(wchar_t *restrict, const wchar_t *restrict, size_t);
+int wcsncmp(const wchar_t *, const wchar_t *, size_t);
+wchar_t *wcsncpy(wchar_t *restrict, const wchar_t *restrict, size_t);
+size_t wcsnlen(const wchar_t *, size_t);
+size_t wcsnrtombs(char *restrict, const wchar_t **restrict, size_t, size_t,
+ mbstate_t *restrict);
+wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
+wchar_t *wcsrchr(const wchar_t *, wchar_t);
+size_t wcsrtombs(char *restrict, const wchar_t **restrict, size_t,
+ mbstate_t *restrict);
+size_t wcsspn(const wchar_t *, const wchar_t *);
+wchar_t *wcsstr(const wchar_t *restrict, const wchar_t *restrict);
+double wcstod(const wchar_t *restrict, wchar_t **restrict);
+float wcstof(const wchar_t *restrict, wchar_t **restrict);
+wchar_t *wcstok(wchar_t *restrict, const wchar_t *restrict, wchar_t **restrict);
+long wcstol(const wchar_t *restrict, wchar_t **restrict, int);
+long double wcstold(const wchar_t *restrict, wchar_t **restrict);
+long long wcstoll(const wchar_t *restrict, wchar_t **restrict, int);
+unsigned long wcstoul(const wchar_t *restrict, wchar_t **restrict, int);
+unsigned long long wcstoull(const wchar_t *restrict, wchar_t **restrict, int);
+int wcswidth(const wchar_t *, size_t);
+size_t wcsxfrm(wchar_t *restrict, const wchar_t *restrict, size_t);
+size_t wcsxfrm_l(wchar_t *restrict, const wchar_t *restrict, size_t, locale_t);
+int wctob(wint_t);
+int wcwidth(wchar_t);
+wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
+int wmemcmp(const wchar_t *, const wchar_t *, size_t);
+wchar_t *wmemcpy(wchar_t *restrict, const wchar_t *restrict, size_t);
+wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
+wchar_t *wmemset(wchar_t *, wchar_t, size_t);
+int wprintf(const wchar_t *restrict, ...);
+int wscanf(const wchar_t *restrict, ...);
+
+#endif