]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/locale/newlocale.3
Remove __NO_TLS.
[FreeBSD/FreeBSD.git] / lib / libc / locale / newlocale.3
1 .\" Copyright (c) 2011 The FreeBSD Foundation
2 .\" All rights reserved.
3 .\"
4 .\" This documentation was written by David Chisnall under sponsorship from
5 .\" the FreeBSD Foundation.
6 .\"
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
9 .\" are met:
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in the
14 .\"    documentation and/or other materials provided with the distribution.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\" $FreeBSD$
29 .Dd October 2, 2020
30 .Dt NEWLOCALE 3
31 .Os
32 .Sh NAME
33 .Nm newlocale
34 .Nd Creates a new locale
35 .Sh LIBRARY
36 .Lb libc
37 .Sh SYNOPSIS
38 .In locale.h
39 .Ft locale_t
40 .Fn newlocale "int mask" "const char * locale" "locale_t base"
41 .Sh DESCRIPTION
42 Creates a new locale, inheriting some properties from an existing locale.
43 The
44 .Fa mask
45 defines the components that the new locale will have set to the locale with the
46 name specified in the
47 .Fa locale
48 parameter.
49 Any components not specified in
50 .Fa mask
51 will be inherited from the locale referenced by
52 .Fa base ,
53 if
54 .Fa base
55 is not
56 .Dv NULL .
57 If the call is successful, the state of the locale referenced by
58 .Fa base
59 is unspecified, and it must not be accessed.
60 The special locale
61 .Dv LC_GLOBAL_LOCALE
62 may not be specified for
63 .Fa base .
64 The
65 .Fa mask
66 is either
67 .Fa LC_ALL_MASK ,
68 indicating all possible locale components,
69 or the logical OR of some combination of the following:
70 .Bl -tag -width "LC_MESSAGES_MASK" -offset indent
71 .It LC_COLLATE_MASK
72 The locale for string collation routines.
73 This controls alphabetic ordering in
74 .Xr strcoll 3
75 and
76 .Xr strxfrm 3 .
77 .It LC_CTYPE_MASK
78 The locale for the
79 .Xr ctype 3
80 and
81 .Xr multibyte 3
82 functions.
83 This controls recognition of upper and lower case, alphabetic or
84 non-alphabetic characters, and so on.
85 .It LC_MESSAGES_MASK
86 Set a locale for message catalogs, see
87 .Xr catopen 3
88 function.
89 .It LC_MONETARY_MASK
90 Set a locale for formatting monetary values; this affects
91 the
92 .Xr localeconv 3
93 function.
94 .It LC_NUMERIC_MASK
95 Set a locale for formatting numbers.
96 This controls the formatting of decimal points in input and output of floating
97 point numbers in functions such as
98 .Xr printf 3
99 and
100 .Xr scanf 3 ,
101 as well as values returned by
102 .Xr localeconv 3 .
103 .It LC_TIME_MASK
104 Set a locale for formatting dates and times using the
105 .Xr strftime 3
106 function.
107 .El
108 This function uses the same rules for loading locale components as
109 .Xr setlocale 3 .
110 .Sh RETURN VALUES
111 Returns a new, valid,
112 .Fa locale_t
113 or NULL if an error occurs.
114 You must free the returned locale with
115 .Xr freelocale 3 .
116 .Sh SEE ALSO
117 .Xr duplocale 3 ,
118 .Xr freelocale 3 ,
119 .Xr localeconv 3 ,
120 .Xr querylocale 3 ,
121 .Xr uselocale 3 ,
122 .Xr xlocale 3
123 .Sh STANDARDS
124 This function conforms to
125 .St -p1003.1-2008 .