scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | 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