134 lines
3.6 KiB
C
134 lines
3.6 KiB
C
#ifndef _WCHAR_H
|
|
#define _WCHAR_H
|
|
|
|
#ifndef _STDIO_H
|
|
#include <stdio.h>
|
|
#endif
|
|
|
|
#include <sys/cdefs.h>
|
|
|
|
#ifdef _BSD_WCHAR_T
|
|
typedef _BSD_WCHAR_T wchar_t;
|
|
#undef _BSD_WCHAR_T
|
|
#endif
|
|
|
|
typedef long wint_t;
|
|
|
|
struct __mbstate_t
|
|
{
|
|
char stub[4];
|
|
};
|
|
|
|
typedef struct __mbstate_t mbstate_t;
|
|
|
|
#undef WCHAR_MIN
|
|
#define WCHAR_MIN _WCHAR_MIN
|
|
#undef WCHAR_MAX
|
|
#define WCHAR_MAX _WCHAR_MAX
|
|
|
|
#undef WEOF
|
|
#define WEOF (-1)
|
|
|
|
|
|
__BEGIN_DECLS
|
|
|
|
struct tm;
|
|
|
|
int fwprintf(FILE * , const wchar_t * , ...);
|
|
int fwscanf(FILE * , const wchar_t * , ...);
|
|
|
|
int swprintf(wchar_t * , size_t, const wchar_t * , ...);
|
|
int swscanf(const wchar_t * , const wchar_t * , ...);
|
|
|
|
int vfwprintf(FILE * , const wchar_t * , va_list);
|
|
int vfwscanf(FILE * , const wchar_t * , va_list);
|
|
|
|
int vswprintf(wchar_t * , size_t, const wchar_t * , va_list);
|
|
int vswscanf(const wchar_t * , const wchar_t * , va_list);
|
|
|
|
int vwprintf(const wchar_t * , va_list);
|
|
int vwscanf(const wchar_t * , va_list);
|
|
|
|
int wprintf(const wchar_t * , ...);
|
|
int wscanf(const wchar_t * , ...);
|
|
|
|
wint_t fgetwc(FILE *);
|
|
wchar_t *fgetws(wchar_t * , int, FILE * );
|
|
wint_t fputwc(wchar_t, FILE *);
|
|
int fputws(const wchar_t * , FILE * );
|
|
|
|
int fwide(FILE *, int);
|
|
|
|
wint_t __swbufw(wchar_t, FILE *);
|
|
wint_t __srgetw(FILE *);
|
|
|
|
wint_t getwc(FILE *);
|
|
wint_t getwchar();
|
|
wint_t putwc(wchar_t, FILE *);
|
|
wint_t putwchar(wchar_t);
|
|
wint_t ungetwc(wint_t, FILE *);
|
|
|
|
#undef getwc
|
|
#define getwc(f) fgetwc(f);
|
|
|
|
#undef getwchar
|
|
#define getwchar() getwc(stdin)
|
|
|
|
#undef putwc
|
|
#define putwc(c, f) fputwc(c, f)
|
|
|
|
#undef putwchar
|
|
#define putwchar(c) putwc(c, stdout)
|
|
|
|
float wcstof(const wchar_t * , wchar_t ** );
|
|
double wcstod(const wchar_t * , wchar_t ** );
|
|
long double wcstold(const wchar_t * , wchar_t ** );
|
|
|
|
long wcstol(const wchar_t * , wchar_t ** , int);
|
|
long long wcstoll(const wchar_t * , wchar_t ** , int);
|
|
unsigned long wcstoul(const wchar_t * , wchar_t ** , int);
|
|
unsigned long long wcstoull(const wchar_t * , wchar_t ** , int);
|
|
|
|
wchar_t *wcscpy(wchar_t * , const wchar_t * );
|
|
wchar_t *wcsncpy(wchar_t * , const wchar_t * , size_t);
|
|
wchar_t *wmemcpy(wchar_t * , const wchar_t * , size_t);
|
|
wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
|
|
wchar_t *wcscat(wchar_t * , const wchar_t * );
|
|
wchar_t *wcsncat(wchar_t * , const wchar_t * , size_t);
|
|
int wcscmp(const wchar_t *, const wchar_t *);
|
|
int wcscoll(const wchar_t *, const wchar_t *);
|
|
int wcsncmp(const wchar_t *, const wchar_t *, size_t);
|
|
size_t wcsxfrm(wchar_t * , const wchar_t * , size_t);
|
|
int wmemcmp(const wchar_t *, const wchar_t *, size_t);
|
|
wchar_t *wcschr(const wchar_t *, wchar_t);
|
|
size_t wcscspn(const wchar_t *, const wchar_t *);
|
|
wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
|
|
wchar_t *wcsrchr(const wchar_t *, wchar_t);
|
|
size_t wcsspn(const wchar_t *, const wchar_t *);
|
|
wchar_t *wcsstr(const wchar_t *, const wchar_t *);
|
|
wchar_t *wcstok(wchar_t * , const wchar_t * , wchar_t ** );
|
|
wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
|
|
size_t wcslen(const wchar_t *);
|
|
wchar_t *wmemset(wchar_t *, wchar_t, size_t);
|
|
size_t wcsftime(wchar_t * , size_t, const wchar_t * , const struct tm * );
|
|
|
|
wint_t btowc(int);
|
|
int wctob(wint_t);
|
|
|
|
int mbsinit(const mbstate_t *);
|
|
size_t mbrlen(const char * , size_t, mbstate_t * );
|
|
size_t mbrtowc(wchar_t * , const char * , size_t, mbstate_t * );
|
|
size_t wcrtomb(char * , wchar_t, mbstate_t * );
|
|
size_t mbsrtowcs(wchar_t * , const char ** , size_t, mbstate_t * );
|
|
size_t wcsrtombs(char * , const wchar_t ** , size_t, mbstate_t * );
|
|
|
|
__END_DECLS
|
|
|
|
#define btowc(c) ({ int __c = (c); __c & ~0x7f ? WEOF : (wint_t)__c; })
|
|
#define wctob(c) ({ int __c = (c); __c & ~0x7f ? EOF : (int)__c; })
|
|
|
|
#define mbsinit(p) 1
|
|
#define mbrlen(s, n) mbrtowc(_NULL, s, n, _NULL)
|
|
|
|
#endif
|