gonzui


Format: Advanced Search

t2ex/bsd_source/lib/libc/src_bsd/include/wchar.hbare sourcepermlink (0.02 seconds)

Search this content:

    1: /*      $OpenBSD: wchar.h,v 1.22 2012/01/05 20:37:50 kettenis Exp $  */
    2: /*      $NetBSD: wchar.h,v 1.16 2003/03/07 07:11:35 tshiozak Exp $   */
    3: 
    4: /*-
    5:  * Copyright (c)1999 Citrus Project,
    6:  * All rights reserved.
    7:  *
    8:  * Redistribution and use in source and binary forms, with or without
    9:  * modification, are permitted provided that the following conditions
   10:  * are met:
   11:  * 1. Redistributions of source code must retain the above copyright
   12:  *    notice, this list of conditions and the following disclaimer.
   13:  * 2. Redistributions in binary form must reproduce the above copyright
   14:  *    notice, this list of conditions and the following disclaimer in the
   15:  *    documentation and/or other materials provided with the distribution.
   16:  *
   17:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   18:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   19:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   20:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   21:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   22:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   23:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   24:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   25:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   26:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   27:  * SUCH DAMAGE.
   28:  */
   29: 
   30: /*-
   31:  * Copyright (c) 1999, 2000 The NetBSD Foundation, Inc.
   32:  * All rights reserved.
   33:  *
   34:  * This code is derived from software contributed to The NetBSD Foundation
   35:  * by Julian Coleman.
   36:  *
   37:  * Redistribution and use in source and binary forms, with or without
   38:  * modification, are permitted provided that the following conditions
   39:  * are met:
   40:  * 1. Redistributions of source code must retain the above copyright
   41:  *    notice, this list of conditions and the following disclaimer.
   42:  * 2. Redistributions in binary form must reproduce the above copyright
   43:  *    notice, this list of conditions and the following disclaimer in the
   44:  *    documentation and/or other materials provided with the distribution.
   45:  *
   46:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   47:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   48:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   49:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   50:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   51:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   52:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   53:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   54:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   55:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   56:  * POSSIBILITY OF SUCH DAMAGE.
   57:  */
   58: 
   59: #ifndef _WCHAR_H_
   60: #define _WCHAR_H_
   61: 
   62: #include <sys/cdefs.h>
   63: #include <sys/_types.h>
   64: 
   65: #ifndef NULL
   66: #ifdef  __GNUG__
   67: #define NULL    __null
   68: #elif defined(__cplusplus)
   69: #define NULL    0L
   70: #else
   71: #define NULL    ((void *)0)
   72: #endif
   73: #endif
   74: 
   75: #include <stdio.h> /* for FILE* */
   76: 
   77: #if !defined(_WCHAR_T_DEFINED_) && !defined(__cplusplus)
   78: #define _WCHAR_T_DEFINED_
   79: typedef __wchar_t       wchar_t;
   80: #endif
   81: 
   82: #ifndef _MBSTATE_T_DEFINED_
   83: #define _MBSTATE_T_DEFINED_
   84: typedef __mbstate_t     mbstate_t;
   85: #endif
   86: 
   87: #ifndef _WINT_T_DEFINED_
   88: #define _WINT_T_DEFINED_
   89: typedef __wint_t        wint_t;
   90: #endif
   91: 
   92: #ifndef _SIZE_T_DEFINED_
   93: #define _SIZE_T_DEFINED_
   94: typedef __size_t        size_t;
   95: #endif
   96: 
   97: #ifndef WEOF
   98: #define WEOF    ((wint_t)-1)
   99: #endif
  100: 
  101: #ifndef WCHAR_MIN
  102: #define WCHAR_MIN       (-0x7fffffff - 1)
  103: #endif
  104: #ifndef WCHAR_MAX
  105: #define WCHAR_MAX       0x7fffffff
  106: #endif
  107: 
  108: __BEGIN_DECLS
  109: wint_t  btowc(int);
  110: size_t  mbrlen(const char * __restrict, size_t, mbstate_t * __restrict);
  111: size_t  mbrtowc(wchar_t * __restrict, const char * __restrict, size_t,
  112:             mbstate_t * __restrict);
  113: int     mbsinit(const mbstate_t *);
  114: size_t  mbsrtowcs(wchar_t * __restrict, const char ** __restrict, size_t,
  115:             mbstate_t * __restrict);
  116: size_t  wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict);
  117: wchar_t *wcscat(wchar_t * __restrict, const wchar_t * __restrict);
  118: wchar_t *wcschr(const wchar_t *, wchar_t);
  119: int     wcscmp(const wchar_t *, const wchar_t *);
  120: int     wcscoll(const wchar_t *, const wchar_t *);
  121: wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict);
  122: size_t  wcscspn(const wchar_t *, const wchar_t *);
  123: size_t  wcslen(const wchar_t *);
  124: wchar_t *wcsncat(wchar_t * __restrict, const wchar_t * __restrict,
  125:             size_t);
  126: int     wcsncmp(const wchar_t *, const wchar_t *, size_t);
  127: wchar_t *wcsncpy(wchar_t * __restrict , const wchar_t * __restrict,
  128:             size_t);
  129: wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
  130: wchar_t *wcsrchr(const wchar_t *, wchar_t);
  131: size_t  wcsrtombs(char * __restrict, const wchar_t ** __restrict, size_t,
  132:             mbstate_t * __restrict);
  133: size_t  wcsspn(const wchar_t *, const wchar_t *);
  134: wchar_t *wcsstr(const wchar_t *, const wchar_t *);
  135: wchar_t *wcstok(wchar_t * __restrict, const wchar_t * __restrict,
  136:                      wchar_t ** __restrict);
  137: size_t  wcsxfrm(wchar_t *, const wchar_t *, size_t);
  138: wchar_t *wcswcs(const wchar_t *, const wchar_t *);
  139: wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
  140: int     wmemcmp(const wchar_t *, const wchar_t *, size_t);
  141: wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict,
  142:             size_t);
  143: wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
  144: wchar_t *wmemset(wchar_t *, wchar_t, size_t);
  145: 
  146: size_t  wcslcat(wchar_t *, const wchar_t *, size_t);
  147: size_t  wcslcpy(wchar_t *, const wchar_t *, size_t);
  148: int     wcswidth(const wchar_t *, size_t);
  149: int     wctob(wint_t);
  150: int     wcwidth(wchar_t);
  151: 
  152: double wcstod(const wchar_t * __restrict, wchar_t ** __restrict);
  153: long int wcstol(const wchar_t * __restrict, wchar_t ** __restrict, int base);
  154: unsigned long int wcstoul(const wchar_t * __restrict, wchar_t ** __restrict,
  155:                 int base);
  156: 
  157: #if __POSIX_VISIBLE >= 200809
  158: wchar_t *wcsdup(const wchar_t *);
  159: int wcscasecmp(const wchar_t *, const wchar_t *);
  160: int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
  161: #endif
  162: 
  163: #if __ISO_C_VISIBLE >= 1999
  164: float   wcstof(const wchar_t * __restrict, wchar_t ** __restrict);
  165: long double wcstold(const wchar_t * __restrict, wchar_t ** __restrict);
  166: size_t wcsftime(wchar_t * __restrict, size_t, const wchar_t *__restrict,
  167:         const struct tm *__restrict);
  168: #endif
  169: 
  170: #if (defined(__GNUC__) && __GNUC__ >= 2 && !defined(__STRICT_ANSI__)) || \
  171:     __ISO_C_VISIBLE >= 1999
  172: /* LONGLONG */
  173: long long int wcstoll(const wchar_t * __restrict,
  174:         wchar_t ** __restrict, int base);
  175: /* LONGLONG */
  176: unsigned long long int wcstoull(const wchar_t * __restrict,
  177:         wchar_t ** __restrict, int base);
  178: #endif
  179: 
  180: wint_t ungetwc(wint_t, FILE *);
  181: wint_t fgetwc(FILE *);
  182: wchar_t *fgetws(wchar_t * __restrict, int, FILE * __restrict);
  183: wint_t getwc(FILE *);
  184: wint_t getwchar(void);
  185: wint_t fputwc(wchar_t, FILE *);
  186: int fputws(const wchar_t * __restrict, FILE * __restrict);
  187: wint_t putwc(wchar_t, FILE *);
  188: wint_t putwchar(wchar_t);
  189: 
  190: int fwide(FILE *, int);
  191: 
  192: int fwprintf(FILE * __restrict, const wchar_t * __restrict, ...);
  193: int swprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict, ...);
  194: int vfwprintf(FILE * __restrict, const wchar_t * __restrict, __va_list);
  195: int vswprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict,
  196:         __va_list);
  197: int vwprintf(const wchar_t * __restrict, __va_list);
  198: int wprintf(const wchar_t * __restrict, ...);
  199: 
  200: int fwscanf(FILE * __restrict, const wchar_t * __restrict, ...);
  201: int swscanf(const wchar_t * __restrict, const wchar_t * __restrict, ...);
  202: int vfwscanf(FILE * __restrict, const wchar_t * __restrict, __va_list);
  203: int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict, __va_list);
  204: int vwscanf(const wchar_t * __restrict, __va_list);
  205: int wscanf(const wchar_t * __restrict, ...);
  206: 
  207: #define getwc(f) fgetwc(f)
  208: #define getwchar() getwc(stdin)
  209: #define putwc(wc, f) fputwc((wc), (f))
  210: #define putwchar(wc) putwc((wc), stdout)
  211: __END_DECLS
  212: 
  213: #endif /* !_WCHAR_H_ */