uselocale.3p (3716B)
- '\" et
- .TH USELOCALE "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH PROLOG
- This manual page is part of the POSIX Programmer's Manual.
- The Linux implementation of this interface may differ (consult
- the corresponding Linux manual page for details of Linux behavior),
- or the interface may not be implemented on Linux.
- .\"
- .SH NAME
- uselocale
- \(em use locale in current thread
- .SH SYNOPSIS
- .LP
- .nf
- #include <locale.h>
- .P
- locale_t uselocale(locale_t \fInewloc\fP);
- .fi
- .SH DESCRIPTION
- The
- \fIuselocale\fR()
- function shall set or query the current locale for the calling thread.
- .P
- The value for the
- .IR newloc
- argument shall be one of the following:
- .IP " 1." 4
- A value returned by the
- \fInewlocale\fR()
- or
- \fIduplocale\fR()
- functions
- .IP " 2." 4
- The special locale object descriptor LC_GLOBAL_LOCALE
- .IP " 3." 4
- (\c
- .BR locale_t )0
- .P
- If the
- .IR newloc
- argument is (\c
- .BR locale_t )0,
- the current locale shall not be changed; this value can be used to
- query the current locale setting. If the
- .IR newloc
- argument is LC_GLOBAL_LOCALE, any thread-local locale for the calling
- thread shall be uninstalled; the thread shall again use the global
- locale as the current locale, and changes to the global locale shall
- affect the thread. Otherwise, the locale represented by
- .IR newloc
- shall be installed as a thread-local locale to be used as the current
- locale for the calling thread.
- .P
- Once the
- \fIuselocale\fR()
- function has been called to install a thread-local locale, the
- behavior of every interface using data from the current locale shall
- be affected for the calling thread. The current locale for other
- threads shall remain unchanged.
- .SH "RETURN VALUE"
- Upon successful completion, the
- \fIuselocale\fR()
- function shall return a handle for the thread-local locale that was in
- use as the current locale for the calling thread on entry to the function,
- or LC_GLOBAL_LOCALE if no thread-local locale was in use. Otherwise,
- \fIuselocale\fR()
- shall return (\c
- .BR locale_t )0
- and set
- .IR errno
- to indicate the error.
- .SH ERRORS
- The
- \fIuselocale\fR()
- function may fail if:
- .TP
- .BR EINVAL
- .IR newloc
- is not a valid locale object and is not (\c
- .BR locale_t )0.
- .LP
- .IR "The following sections are informative."
- .SH EXAMPLES
- None.
- .SH "APPLICATION USAGE"
- Unlike the
- \fIsetlocale\fR()
- function, the
- \fIuselocale\fR()
- function does not allow replacing some locale categories
- only. Applications that need to install a locale which differs only in
- a few categories must use
- \fInewlocale\fR()
- to change a locale object equivalent to the currently used locale and
- install it.
- .SH RATIONALE
- None.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "\fIduplocale\fR\^(\|)",
- .IR "\fIfreelocale\fR\^(\|)",
- .IR "\fInewlocale\fR\^(\|)",
- .IR "\fIsetlocale\fR\^(\|)"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "\fB<locale.h>\fP"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 by the Institute of
- Electrical and Electronics Engineers, Inc and The Open Group.
- In the event of any discrepancy between this version 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 .
- .PP
- Any typographical or formatting errors that appear
- in this page are most likely
- to have been introduced during the conversion of the source files to
- man page format. To report such errors, see
- https://www.kernel.org/doc/man-pages/reporting_bugs.html .