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