diff options
author | Keith M Wesolowski <wesolows@foobazco.org> | 2014-07-14 18:15:43 +0000 |
---|---|---|
committer | Keith M Wesolowski <wesolows@foobazco.org> | 2014-07-14 18:15:43 +0000 |
commit | bcc902ab131af782d25fde71a21d71ab2bccb677 (patch) | |
tree | 4f4eb16f84eedc791b2a7f6adb73e9e281ca1bbb /usr/src/man/man3c/newlocale.3c | |
parent | 1bce44cb939839753c1f6934c0da4cfe42f02e44 (diff) | |
parent | 5e74f94d8c2a16c2ef7cf2940a157ffabb379c27 (diff) | |
download | illumos-joyent-bcc902ab131af782d25fde71a21d71ab2bccb677.tar.gz |
[illumos-gate merge]
commit 5e74f94d8c2a16c2ef7cf2940a157ffabb379c27
3347 zonecfg(1M) is confused about selection
commit 5a81b4ad6a940aead6f0789e059a6f8fbc678be0
4544 sock2path(4) man page needs to be updated for configuration fragments
commit 2d08521bd15501c8370ba2153b9cca4f094979d0
2964 need POSIX 2008 locale object support
Conflicts:
usr/src/man/man3c/Makefile (copyright)
usr/src/lib/libzonecfg/common/libzonecfg.c (OS-216)
usr/src/lib/libc/sparcv9/Makefile.com (copyright)
usr/src/lib/libc/sparc/Makefile.com (copyright)
Manifests:
usr/src/pkg/manifests/system-header.mf
usr/src/pkg/manifests/system-library.man3c.inc
Diffstat (limited to 'usr/src/man/man3c/newlocale.3c')
-rw-r--r-- | usr/src/man/man3c/newlocale.3c | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/usr/src/man/man3c/newlocale.3c b/usr/src/man/man3c/newlocale.3c new file mode 100644 index 0000000000..7fa9048211 --- /dev/null +++ b/usr/src/man/man3c/newlocale.3c @@ -0,0 +1,191 @@ +'\" te +.\" +.\" This file and its contents are supplied under the terms of the +.\" Common Development and Distribution License ("CDDL"), version 1.0. +.\" You may only use this file in accordance with the terms of version +.\" 1.0 of the CDDL. +.\" +.\" A full copy of the text of the CDDL should have accompanied this +.\" source. A copy of the CDDL is also available via the Internet at +.\" http://www.illumos.org/license/CDDL. +.\" +.\" +.\" Copyright (c) 2014 Joyent, Inc. All rights reserved. +.\" Copyright 2014 Garrett D'Amore <garrett@damore.org> +.\" +.TH NEWLOCALE 3C "Jun 23, 2014" +.SH NAME +duplocale, freelocale, newlocale \- create, duplicate, and destroy locale objects +.SH SYNOPSIS +.LP +.nf +#include <locale.h> + +\fBlocale_t\fR \fBnewlocale\fR(\fBint\fR \fIcategory_mask\fR, \fBconst char *\fR \fIlocale\fR, + \fBlocale_t\fR \fIbase\fR); +.fi +.LP +.nf +\fBlocale_t\fR \fBduplocale\fR(\fBlocale_t\fR \fIloc\fR); +.fi +.LP +.nf +\fBvoid\fR \fBfreelocale\fR(\fBlocale_t\fR \fIloc\fR); +.fi +.SH DESCRIPTION +.LP +These functions manipulate locale objects that can be used +.BR uselocale (3C) +and functions that take arguments of type +.BR locale_t . +.LP +The function +.B newlocale() +can be used to create a new locale object. It can also be used to modify an +existing locale object, the new locale object will be a replacement for the +modified locale object. To create a new locale, the argument +.I base +should be passed the special argument +.RB ( locale_t )0. +This will use a copy of the current global locale as a starting point. To modify +an existing locale object, it should be passed in as the argument +.IR base . +The new locale object is constructed by taking the categories specified in +.I category_mask +from the locale specified by the string +.IR locale , +and filling in the remaining categories from the locale +.IR base . +When +.B newlocale() +returns, callers must no longer use +.IR base +and assume that +.BR freelocale (3C) +has been called on it. In addition to locales defined on the system, the +following three locales may always be passed in as the string +.IR locale : +.TP +"C" +Specifies the traditional UNIX system behavior. +.TP +"POSIX" +An alternate name fo the locale "C". +.TP +"" +Indicates that the locale should be processed based in the values in the +environment. See +.BR setlocale (3C) +and +.BR environ (5) +for more information. +.LP +The value of +.I category_mask +is a bitwise-inclusive or of the following macros which correspond to categories +as defined in +.BR locale (5) +and +.BR environ (5): +.TP +.B LC_CTYPE_MASK +Character classification and case conversion. +.TP +.B LC_NUMERIC_MASK +Numeric formatting. +.TP +.B LC_TIME_MASK +Date and time formatting. +.TP +.B LC_COLLATE_MASK +Collation order. +.TP +.B LC_MONETARY_MASK +Monetary formatting. +.TP +.B LC_MESSAGES_MASK +Formats of informative and diagnostic messages and interactive responses. +.TP +.B LC_ALL_MASK +Mask of all categories. +.LP +The function +.B duplocale() +duplicates the locale object specified by +.IR loc . +If the locale object passed is +.BR LC_GLOBAL_LOCALE , +.B duplocale() +creates a copy of the current global locale as defined through calls to +.BR setlocale (3C). +.LP +The function +.B freelocale() +removes and releases all resources associated with the locale object +.IR loc . +Programs must not call +.B freelocale() +on +.BR LC_GLOBAL_LOCALE . +.SH RETURN VALUES +.LP +On success, the functions +.B newlocale() +and +.B duplocale() +return a new locale object that can be used with functions that take a +.BR locale_t . +Locale objects created this way should be freed with +.BR freelocale() . +On error, the functions +.B newlocale() +and +.B duplocale() +return +.BR (locale_t) 0 +and +.B errno +is set to indicate the error. The +.B freelocale() +function does not set +.B errno. +.SH ERRORS +.LP +The +.B newlocale() +and +.B duplocale() +functions will fail if: +.TP +.B ENOMEM +Insufficient memory was available to create the locale object or to load the +requested locale data. +.LP +The +.B newlocale() +function will fail if: +.TP +.B EINVAL +An unknown bit is specified in +.IR category_mask . +.TP +.B ENOENT +Locale data was not found for a category specified in +.SH ATTRIBUTES +.TS +box; +c | c +l | l . +ATTRIBUTE TYPE ATTRIBUTE VALUE +_ +Interface Stability Standard +_ +MT-Level Safe +.TE + +.SH SEE ALSO +.BR locale (1), +.BR setlocale (3C), +.BR uselocale (3C), +.BR environ (5), +.BR locale (5) |