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