xref: /titanic_52/usr/src/man/man3head/uchar.h.3head (revision 9a4a12bd7ce60cd60eae508b25eb7a8dae765274)
1*9a4a12bdSRobert Mustacchi.\"
2*9a4a12bdSRobert Mustacchi.\" This file and its contents are supplied under the terms of the
3*9a4a12bdSRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
4*9a4a12bdSRobert Mustacchi.\" You may only use this file in accordance with the terms of version
5*9a4a12bdSRobert Mustacchi.\" 1.0 of the CDDL.
6*9a4a12bdSRobert Mustacchi.\"
7*9a4a12bdSRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
8*9a4a12bdSRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
9*9a4a12bdSRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
10*9a4a12bdSRobert Mustacchi.\"
11*9a4a12bdSRobert Mustacchi.\"
12*9a4a12bdSRobert Mustacchi.\" Copyright 2020 Robert Mustacchi
13*9a4a12bdSRobert Mustacchi.\"
14*9a4a12bdSRobert Mustacchi.Dd April 22, 2020
15*9a4a12bdSRobert Mustacchi.Dt UCHAR.H 3HEAD
16*9a4a12bdSRobert Mustacchi.Os
17*9a4a12bdSRobert Mustacchi.Sh NAME
18*9a4a12bdSRobert Mustacchi.Nm uchar.h
19*9a4a12bdSRobert Mustacchi.Nd unicode utilities header
20*9a4a12bdSRobert Mustacchi.Sh SYNOPSIS
21*9a4a12bdSRobert Mustacchi.In uchar.h
22*9a4a12bdSRobert Mustacchi.Sh DESCRIPTION
23*9a4a12bdSRobert MustacchiThe
24*9a4a12bdSRobert Mustacchi.In uchar.h
25*9a4a12bdSRobert Mustacchiheader provides support for the C11 Unicode utilities.
26*9a4a12bdSRobert MustacchiThe types and functions provide means for working with data encoded as
27*9a4a12bdSRobert MustacchiUTF-16 and UTF-32.
28*9a4a12bdSRobert MustacchiWhen working in non-Unicode locales, these types may not represent
29*9a4a12bdSRobert MustacchiUnicode code points.
30*9a4a12bdSRobert Mustacchi.Pp
31*9a4a12bdSRobert MustacchiThe
32*9a4a12bdSRobert Mustacchi.In uchar.h
33*9a4a12bdSRobert Mustacchiheader defines the following types:
34*9a4a12bdSRobert Mustacchi.Bl -tag -width Vt
35*9a4a12bdSRobert Mustacchi.It Vt char16_t
36*9a4a12bdSRobert MustacchiAn unsigned integer that can represent 16-bit characters, generally a
37*9a4a12bdSRobert Mustacchisingle single UTF-16 code unit.
38*9a4a12bdSRobert MustacchiA Unicode code point may be one or two UTF-16 code units due to
39*9a4a12bdSRobert Mustacchisurrogate pairs.
40*9a4a12bdSRobert Mustacchi.It Vt char32_t
41*9a4a12bdSRobert MustacchiAn unsigned integer that can represent 32-bit characters, generally a
42*9a4a12bdSRobert Mustacchisingle UTF-32 code unit.
43*9a4a12bdSRobert Mustacchi.It Vt size_t
44*9a4a12bdSRobert MustacchiAn unsigned integer that represents the size of various objects.
45*9a4a12bdSRobert MustacchiThis can hold the result of the
46*9a4a12bdSRobert Mustacchi.Sy sizeof
47*9a4a12bdSRobert Mustacchioperator.
48*9a4a12bdSRobert MustacchiSee also
49*9a4a12bdSRobert Mustacchi.Xr stddef.h 3HEAD .
50*9a4a12bdSRobert Mustacchi.It Vt mbstate_t
51*9a4a12bdSRobert MustacchiAn object that holds the state for converting between character
52*9a4a12bdSRobert Mustacchisequences and wide characters
53*9a4a12bdSRobert Mustacchi.Po
54*9a4a12bdSRobert Mustacchi.Vt wchar_t ,
55*9a4a12bdSRobert Mustacchi.Vt char16_t ,
56*9a4a12bdSRobert Mustacchi.Vt char32_t
57*9a4a12bdSRobert Mustacchi.Pc .
58*9a4a12bdSRobert MustacchiSee also,
59*9a4a12bdSRobert Mustacchi.Xr wchar.h 3HEAD .
60*9a4a12bdSRobert Mustacchi.El
61*9a4a12bdSRobert MustacchiThe
62*9a4a12bdSRobert Mustacchi.In uchar.h
63*9a4a12bdSRobert Mustacchiheader also defines the following functions which are used to convert
64*9a4a12bdSRobert Mustacchibetween
65*9a4a12bdSRobert Mustacchi.Vt char16_t
66*9a4a12bdSRobert Mustacchiand
67*9a4a12bdSRobert Mustacchi.Vt char32_t
68*9a4a12bdSRobert Mustacchisequences and other character sequences:
69*9a4a12bdSRobert Mustacchi.Bl -tag -width cr16rtomb
70*9a4a12bdSRobert Mustacchi.It Xr c16rtomb 3C
71*9a4a12bdSRobert MustacchiConvert
72*9a4a12bdSRobert Mustacchi.Vt char16_t
73*9a4a12bdSRobert Mustacchisequences to multi-byte character sequences.
74*9a4a12bdSRobert Mustacchi.It Xr c32rtomb 3C
75*9a4a12bdSRobert MustacchiConvert
76*9a4a12bdSRobert Mustacchi.Vt char32_t
77*9a4a12bdSRobert Mustacchisequences to multi-byte character sequences.
78*9a4a12bdSRobert Mustacchi.It Xr mbrtoc16 3C
79*9a4a12bdSRobert MustacchiConvert multi-byte character sequences to
80*9a4a12bdSRobert Mustacchi.Vt char16_t
81*9a4a12bdSRobert Mustacchisequences.
82*9a4a12bdSRobert Mustacchi.It Xr mbrtoc32 3C
83*9a4a12bdSRobert MustacchiConvert multi-byte character sequences to
84*9a4a12bdSRobert Mustacchi.Vt char32_t
85*9a4a12bdSRobert Mustacchisequences.
86*9a4a12bdSRobert Mustacchi.El
87*9a4a12bdSRobert Mustacchi.Sh INTERFACE STABILITY
88*9a4a12bdSRobert Mustacchi.Sy Committed
89*9a4a12bdSRobert Mustacchi.Sh SEE ALSO
90*9a4a12bdSRobert Mustacchi.Xr c16rtomb 3C ,
91*9a4a12bdSRobert Mustacchi.Xr c32rtomb 3C ,
92*9a4a12bdSRobert Mustacchi.Xr mbrtoc16 3C ,
93*9a4a12bdSRobert Mustacchi.Xr mbrtoc32 3C ,
94*9a4a12bdSRobert Mustacchi.Xr stddef.h 3HEAD ,
95*9a4a12bdSRobert Mustacchi.Xr wchar.h 3HEAD
96