1 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
   2 .\" Copyright (c) 2001, The IEEE and The Open Group. All Rights Reserved. Portions Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
   3 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
   4 .\" http://www.opengroup.org/bookstore/.
   5 .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
   6 .\"  This notice shall appear on any product containing this material.
   7 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   8 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   9 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
  10 .Dd "Jul 27, 2014"
  11 .Dt WCHAR.H 3HEAD
  12 .Os
  13 .Sh NAME
  14 .Nm wchar.h ,
  15 .Nm wchar
  16 .Nd wide-character handling
  17 .Sh SYNOPSIS
  18 .In wchar.h
  19 .Sh DESCRIPTION
  20 The
  21 .In wchar.h
  22 header defines the following types:
  23 .Bl -tag -width Vt
  24 .
  25 .It Vt wchar_t
  26 As described in
  27 .In stddef.h .
  28 .
  29 .It Vt wint_t
  30 An integer type capable of storing any valid value of
  31 .Vt wchar_t
  32 or
  33 .Dv WEOF .
  34 .
  35 .It Vt wctype_t
  36 A scalar type of a data object that can hold values which represent
  37 locale-specific character classification.
  38 .
  39 .It Vt locale_t
  40 As described in
  41 .In locale.h .
  42 .
  43 .It Vt mbstate_t
  44 An object type other than an array type that can hold the conversion state
  45 information necessary to convert between sequences of (possibly multi-byte)
  46 characters and wide characters.  If a codeset is being used such that an
  47 .Vt mbstate_t
  48 needs to preserve more than two levels of reserved state, the
  49 results are unspecified.
  50 .
  51 .It Vt FILE
  52 As described in
  53 .In stdio.h .
  54 .
  55 .It Vt size_t
  56 As described in
  57 .In stddef.h .
  58 .
  59 .It Vt va_list
  60 As described in
  61 .In stdarg.h .
  62 .El
  63 .
  64 .Lp
  65 The implementation supports one or more programming environments in which the
  66 width of
  67 .Vt wint_t
  68 is no greater than the width of type
  69 .Vt long .
  70 The names of these programming environments can be obtained using the
  71 .Xr confstr 3C
  72 function or the
  73 .Xr getconf 1
  74 utility.
  75 .Lp
  76 The
  77 .In wchar.h
  78 header defines the following macros:
  79 .Bl -tag -width Dv
  80 .
  81 .It Dv WCHAR_MAX
  82 The maximum value representable by an object of type
  83 .Vt wchar_t .
  84 .
  85 .It Dv WCHAR_MIN
  86 The minimum value representable by an object of type
  87 .Vt wchar_t .
  88 .
  89 .It Dv WEOF
  90 Constant expression of type
  91 .Vt wint_t
  92 that is returned by certain wide-character functions to indicate end-of-file.
  93 .
  94 .It Dv NULL
  95 As described in
  96 .In stddef.h .
  97 .El
  98 .Lp
  99 The tag
 100 .Vt tm
 101 is declared as naming an incomplete structure type, the
 102 contents of which are described in the header
 103 .In time.h .
 104 .Lp
 105 Inclusion of the
 106 .In wchar.h
 107 header can make visible all symbols from the headers
 108 .In ctype.h ,
 109 .In string.h ,
 110 .In stdarg.h ,
 111 .In stddef.h ,
 112 .In stdio.h ,
 113 .In stdlib.h ,
 114 and
 115 .In time.h .
 116 .Sh INTERFACE STABILITY
 117 .Sy Standard .
 118 .Sh SEE ALSO
 119 .Xr getconf 1 ,
 120 .Xr btowc 3C ,
 121 .Xr confstr 3C ,
 122 .Xr fgetwc 3C ,
 123 .Xr getws 3C ,
 124 .Xr fputwc 3C ,
 125 .Xr fputws 3C ,
 126 .Xr fwide 3C ,
 127 .Xr fwprintf 3C ,
 128 .Xr fwscanf 3C ,
 129 .Xr getwc 3C ,
 130 .Xr getwchar 3C ,
 131 .Xr iswalpha 3C ,
 132 .Xr iswctype 3C ,
 133 .Xr mbsinit 3C ,
 134 .Xr mbrlen 3C ,
 135 .Xr mbrtowc 3C ,
 136 .Xr mbsrtowcs 3C ,
 137 .Xr towlower 3C ,
 138 .Xr towupper 3C ,
 139 .Xr ungetwc 3C ,
 140 .Xr vfwprintf 3C ,
 141 .Xr wcrtomb 3C ,
 142 .Xr wcsrtombs 3C ,
 143 .Xr wcstring 3C ,
 144 .Xr wcsstr 3C ,
 145 .Xr wcstod 3C ,
 146 .Xr wcscoll 3C ,
 147 .Xr wcsdup 3C ,
 148 .Xr wcsftime 3C ,
 149 .Xr wcslen 3C ,
 150 .Xr wcstol 3C ,
 151 .Xr wcstoul 3C ,
 152 .Xr wcswidth 3C ,
 153 .Xr wcsxfrm 3C ,
 154 .Xr wctob 3C ,
 155 .Xr wctype 3C ,
 156 .Xr wcwidth 3C ,
 157 .Xr wmemchr 3C ,
 158 .Xr wmemcmp 3C ,
 159 .Xr wmemcpy 3C ,
 160 .Xr wmemmove 3C ,
 161 .Xr wmemset 3C ,
 162 .Xr stdarg 3EXT ,
 163 .Xr stddef.h 3HEAD ,
 164 .Xr stdio.h 3HEAD ,
 165 .Xr stdlib.h 3HEAD ,
 166 .Xr string.h 3HEAD ,
 167 .Xr time.h 3HEAD ,
 168 .Xr wctype.h 3HEAD ,
 169 .Xr standards 5)
 170 .Sh STANDARDS
 171 The
 172 .In wchar.h
 173 header was introduced in
 174 .St -xpg4 .