_wchar.h revision 231673
1276789Sdim/*- 2276789Sdim * Copyright (c) 2011, 2012 The FreeBSD Foundation 3276789Sdim * All rights reserved. 4276789Sdim * 5276789Sdim * This software was developed by David Chisnall under sponsorship from 6276789Sdim * the FreeBSD Foundation. 7276789Sdim * 8276789Sdim * Redistribution and use in source and binary forms, with or without 9276789Sdim * modification, are permitted provided that the following conditions 10276789Sdim * are met: 11276789Sdim * 1. Redistributions of source code must retain the above copyright 12276789Sdim * notice, this list of conditions and the following disclaimer. 13276789Sdim * 2. Redistributions in binary form must reproduce the above copyright 14276789Sdim * notice, this list of conditions and the following disclaimer in the 15276789Sdim * documentation and/or other materials provided with the distribution. 16276789Sdim * 17276789Sdim * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18276789Sdim * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19276789Sdim * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20276789Sdim * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21276789Sdim * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22276789Sdim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23276789Sdim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24276789Sdim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25276789Sdim * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26276789Sdim * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27276789Sdim * SUCH DAMAGE. 28276789Sdim * 29276789Sdim * $FreeBSD: head/include/xlocale/_wchar.h 231673 2012-02-14 12:03:23Z theraven $ 30276789Sdim */ 31276789Sdim 32276789Sdim#ifndef _LOCALE_T_DEFINED 33276789Sdim#define _LOCALE_T_DEFINED 34276789Sdimtypedef struct _xlocale *locale_t; 35276789Sdim#endif 36276789Sdim 37276789Sdim#ifndef _XLOCALE_WCHAR1_H 38276789Sdim#define _XLOCALE_WCHAR1_H 39276789Sdimint wcscasecmp_l(const wchar_t *, const wchar_t *, 40276789Sdim locale_t); 41276789Sdimint wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, 42276789Sdim locale_t); 43276789Sdimint wcscoll_l(const wchar_t *, const wchar_t *, locale_t); 44276789Sdimsize_t wcsxfrm_l(wchar_t * __restrict, 45276789Sdim const wchar_t * __restrict, size_t, locale_t); 46276789Sdim 47276789Sdim#endif /* _XLOCALE_WCHAR1_H */ 48276789Sdim 49276789Sdim/* 50276789Sdim * Only declare the non-POSIX functions if we're included from xlocale.h. 51276789Sdim */ 52276789Sdim 53276789Sdim#ifdef _XLOCALE_H_ 54276789Sdim#ifndef _XLOCALE_WCHAR2_H 55276789Sdim#define _XLOCALE_WCHAR2_H 56276789Sdim 57276789Sdimwint_t btowc_l(int, locale_t); 58276789Sdimwint_t fgetwc_l(FILE *, locale_t); 59276789Sdimwchar_t *fgetws_l(wchar_t * __restrict, int, FILE * __restrict, 60276789Sdim locale_t); 61276789Sdimwint_t fputwc_l(wchar_t, FILE *, locale_t); 62276789Sdimint fputws_l(const wchar_t * __restrict, FILE * __restrict, 63276789Sdim locale_t); 64276789Sdimint fwprintf_l(FILE * __restrict, locale_t, 65276789Sdim const wchar_t * __restrict, ...); 66276789Sdimint fwscanf_l(FILE * __restrict, locale_t, 67276789Sdim const wchar_t * __restrict, ...); 68276789Sdimwint_t getwc_l(FILE *, locale_t); 69276789Sdimwint_t getwchar_l(locale_t); 70276789Sdimsize_t mbrlen_l(const char * __restrict, size_t, 71276789Sdim mbstate_t * __restrict, locale_t); 72276789Sdimsize_t mbrtowc_l(wchar_t * __restrict, 73276789Sdim const char * __restrict, size_t, 74276789Sdim mbstate_t * __restrict, locale_t); 75276789Sdimint mbsinit_l(const mbstate_t *, locale_t); 76276789Sdimsize_t mbsrtowcs_l(wchar_t * __restrict, 77276789Sdim const char ** __restrict, size_t, 78276789Sdim mbstate_t * __restrict, locale_t); 79276789Sdimwint_t putwc_l(wchar_t, FILE *, locale_t); 80276789Sdimwint_t putwchar_l(wchar_t, locale_t); 81276789Sdimint swprintf_l(wchar_t * __restrict, size_t n, locale_t, 82276789Sdim const wchar_t * __restrict, ...); 83276789Sdimint swscanf_l(const wchar_t * __restrict, locale_t, 84276789Sdim const wchar_t * __restrict, ...); 85276789Sdimwint_t ungetwc_l(wint_t, FILE *, locale_t); 86276789Sdimint vfwprintf_l(FILE * __restrict, locale_t, 87276789Sdim const wchar_t * __restrict, __va_list); 88276789Sdimint vswprintf_l(wchar_t * __restrict, size_t n, locale_t, 89276789Sdim const wchar_t * __restrict, __va_list); 90276789Sdimint vwprintf_l(locale_t, const wchar_t * __restrict, 91276789Sdim __va_list); 92276789Sdimsize_t wcrtomb_l(char * __restrict, wchar_t, 93276789Sdim mbstate_t * __restrict, locale_t); 94276789Sdimsize_t wcsftime_l(wchar_t * __restrict, size_t, 95276789Sdim const wchar_t * __restrict, 96276789Sdim const struct tm * __restrict, locale_t); 97276789Sdimsize_t wcsrtombs_l(char * __restrict, 98276789Sdim const wchar_t ** __restrict, size_t, 99276789Sdim mbstate_t * __restrict, locale_t); 100276789Sdimdouble wcstod_l(const wchar_t * __restrict, 101276789Sdim wchar_t ** __restrict, locale_t); 102276789Sdimlong wcstol_l(const wchar_t * __restrict, 103276789Sdim wchar_t ** __restrict, int, locale_t); 104276789Sdimunsigned long wcstoul_l(const wchar_t * __restrict, 105276789Sdim wchar_t ** __restrict, int, locale_t); 106276789Sdimint wcswidth_l(const wchar_t *, size_t, locale_t); 107276789Sdimint wctob_l(wint_t, locale_t); 108276789Sdimint wcwidth_l(wchar_t, locale_t); 109276789Sdimint wprintf_l(locale_t, const wchar_t * __restrict, ...); 110276789Sdimint wscanf_l(locale_t, const wchar_t * __restrict, ...); 111276789Sdimint vfwscanf_l(FILE * __restrict, locale_t, 112276789Sdim const wchar_t * __restrict, __va_list); 113276789Sdimint vswscanf_l(const wchar_t * __restrict, locale_t, 114276789Sdim const wchar_t *__restrict, __va_list); 115276789Sdimint vwscanf_l(locale_t, const wchar_t * __restrict, 116276789Sdim __va_list); 117276789Sdimfloat wcstof_l(const wchar_t * __restrict, 118276789Sdim wchar_t ** __restrict, locale_t); 119276789Sdimlong double wcstold_l(const wchar_t * __restrict, 120276789Sdim wchar_t ** __restrict, locale_t); 121276789Sdimlong long wcstoll_l(const wchar_t * __restrict, 122276789Sdim wchar_t ** __restrict, int, locale_t); 123276789Sdimunsigned long long wcstoull_l(const wchar_t * __restrict, 124276789Sdim wchar_t ** __restrict, int, locale_t); 125276789Sdimsize_t mbsnrtowcs_l(wchar_t * __restrict, 126276789Sdim const char ** __restrict, size_t, size_t, 127276789Sdim mbstate_t * __restrict, locale_t); 128276789Sdimsize_t wcsnrtombs_l(char * __restrict, 129276789Sdim const wchar_t ** __restrict, size_t, size_t, 130276789Sdim mbstate_t * __restrict, locale_t); 131276789Sdim 132276789Sdim#endif /* _XLOCALE_WCHAR_H */ 133276789Sdim#endif /* _XLOCALE_H_ */ 134276789Sdim