wchar.h - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
wchar.h (4224B)
---
1 #ifndef _WCHAR_H
2 #define _WCHAR_H
3
4 #define _NEED_NULL
5 #define _NEED_SIZET
6 #define _NEED_WCHART
7 #define _NEED_WEOF
8 #define _NEED_WCHARLIM
9 #define _NEED_WINT
10 #define _NEED_VA_LIST
11 #include <arch/cdefs.h>
12 #include <sys/cdefs.h>
13
14 typedef struct {
15 unsigned char oc;
16 unsigned char sh;
17 wchar_t wc;
18 } mbstate_t;
19
20 struct tm;
21 struct _FILE;
22
23 extern int vswscanf(const wchar_t *restrict, const wchar_t *restrict, __va_list);
24 extern int vwprintf(const wchar_t *restrict, __va_list);
25 extern int vwscanf(const wchar_t *restrict format, __va_list);
26
27 extern int fwprintf(struct _FILE *restrict, const wchar_t *restrict, ...);
28 extern int fwscanf(struct _FILE *restrict, const wchar_t *restrict, ...);
29
30 extern int vfwprintf(struct _FILE *restrict, const wchar_t *restrict, __va_list);
31 extern int vfwscanf(struct _FILE *restrict, const wchar_t *restrict, __va_list);
32 extern int vswprintf(wchar_t *restrict, size_t, const wchar_t *restrict, __va_list);
33
34 extern wint_t fgetwc(struct _FILE *);
35 extern wint_t fputwc(wchar_t c, struct _FILE *);
36 extern wint_t getwc(struct _FILE *);
37 extern wint_t putwc(wchar_t, struct _FILE *);
38 extern wint_t getwchar(void);
39 extern wint_t putwchar(wchar_t);
40 extern wint_t ungetwc(wint_t, struct _FILE *);
41
42 extern int fwide(struct _FILE *, int);
43 extern wchar_t *fgetws(wchar_t *restrict, int, struct _FILE *restrict);
44 extern int fputws(const wchar_t *restrict, struct _FILE *restrict);
45
46 extern int swprintf(wchar_t *restrict, size_t, const wchar_t *restrict, ...);
47 extern int swscanf(const wchar_t *restrict, const wchar_t *restrict, ...);
48 extern int wprintf(const wchar_t *restrict, ...);
49 extern int wscanf(const wchar_t *restrict, ...);
50
51 extern double wcstod(const wchar_t *restrict, wchar_t **restrict);
52 extern float wcstof(const wchar_t *restrict, wchar_t **restrict);
53 extern long double wcstold(const wchar_t *restrict, wchar_t **restrict);
54
55 extern long int wcstol(const wchar_t *restrict, wchar_t **restrict, int);
56 extern long long int wcstoll(const wchar_t *restrict, wchar_t **restrict, int);
57 extern unsigned long int wcstoul(const wchar_t *restrict, wchar_t **restrict, int);
58 extern unsigned long long int wcstoull(const wchar_t *restrict, wchar_t **restrict, int);
59
60 extern wchar_t *wcscpy(wchar_t *restrict, const wchar_t *restrict);
61 extern wchar_t *wcsncpy(wchar_t *restrict, const wchar_t *restrict, size_t);
62
63 extern wchar_t *wmemcpy(wchar_t *restrict, const wchar_t *restrict, size_t);
64 extern wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
65 extern wchar_t *wmemset(wchar_t *, wchar_t, size_t);
66 extern wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
67 extern int wmemcmp(const wchar_t *, const wchar_t *, size_t);
68
69 extern size_t wcslen(const wchar_t *);
70 extern int wcscmp(const wchar_t *, const wchar_t *);
71 extern wchar_t *wcscat(wchar_t *restrict, const wchar_t *restrict);
72 extern wchar_t *wcsncat(wchar_t *restrict, const wchar_t *restrict, size_t);
73 extern int wcscoll(const wchar_t *, const wchar_t *);
74 extern int wcsncmp(const wchar_t *, const wchar_t *, size_t);
75 extern size_t wcsxfrm(wchar_t *restrict, const wchar_t *restrict, size_t);
76 extern wchar_t *wcschr(const wchar_t *, wchar_t);
77 extern size_t wcscspn(const wchar_t *, const wchar_t *);
78 extern wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
79 extern wchar_t *wcsrchr(const wchar_t *, wchar_t);
80 extern size_t wcsspn(const wchar_t *, const wchar_t *);
81 extern wchar_t *wcsstr(const wchar_t *, const wchar_t *);
82 extern wchar_t *wcstok(wchar_t *restrict, const wchar_t *restrict, wchar_t **restrict);
83
84 extern size_t wcsftime(wchar_t *restrict, size_t, const wchar_t *restrict, const struct tm *restrict);
85 extern wint_t btowc(int);
86 extern int wctob(wint_t);
87
88 extern int mbsinit(const mbstate_t *);
89 extern size_t mbrlen(const char *restrict, size_t, mbstate_t *restrict);
90 extern size_t mbrtowc(wchar_t *restrict, const char *restrict, size_t, mbstate_t *restrict);
91 extern size_t wcrtomb(char *restrict, wchar_t, mbstate_t *restrict);
92 extern size_t mbsrtowcs(wchar_t *restrict, const char **restrict, size_t, mbstate_t *restrict);
93 extern size_t wcsrtombs(char *restrict, const wchar_t **restrict, size_t, mbstate_t *restrict);
94 extern int wcwidth(wchar_t);
95
96 #define putwc(wc, fp) fputwc(wc, fp)
97 #define getwc(fp) fgetwc(fp)
98
99 #endif