1 '\" te 2 .\" 3 .\" This file and its contents are supplied under the terms of the 4 .\" Common Development and Distribution License ("CDDL"), version 1.0. 5 .\" You may only use this file in accordance with the terms of version 6 .\" 1.0 of the CDDL. 7 .\" 8 .\" A full copy of the text of the CDDL should have accompanied this 9 .\" source. A copy of the CDDL is also available via the Internet at 10 .\" http://www.illumos.org/license/CDDL. 11 .\" 12 .\" 13 .\" Copyright (c) 2014 Joyent, Inc. All rights reserved. 14 .\" 15 .TH USELOCALE 3C "Jun 11, 2014" 16 17 .SH NAME 18 19 uselocale \- get and set the locale for an individual thread 20 21 .SH SYNOPSIS 22 23 .LP 24 .nf 25 #include <locale.h> 26 27 .BI "locale_t uselocale(locale_t " loc ); 28 29 .SH DESCRIPTION 30 .LP 31 32 The 33 .B uselocale() 34 function is used to obtain and set the current locale for a thread. When 35 a thread is created, it uses the global locale as specified by calls to 36 .BR setlocale() . 37 A call to 38 .B uselocale() 39 causes all operations in the thread to use the locale specified in 40 .IR loc . 41 The thread ignores all subsequent changes to the global locale that 42 occur through calls to 43 .BR setlocale() . 44 When the special locale, 45 .BR LC_GLOBAL_LOCALE , 46 is passed in to 47 .BR uselocale() , 48 the thread returns to using the global locale, and subsequent calls to 49 .B setlocale() 50 cause changes for the thread. 51 52 .LP 53 In addition, 54 .B uselocale() 55 can be used to obtain the current locale in use by thread, this is done 56 by passing in the special locale 57 .BR (locale_t) 0. 58 If the thread has never set a locale through 59 .BR uselocale() , 60 then the current global locale as determined through calls to 61 .B setlocale() 62 will be returned. 63 64 .LP 65 Locale objects to pass in to 66 .B uselocale() 67 can be created and destroyed with the functions 68 .BR duplocale (3C), 69 .BR newlocale (3C), 70 and 71 .BR freelocale (3C). 72 73 .SH RETURN VALUES 74 75 Upon successful completion, the 76 .B uselocale() 77 function always returns the previous locale that was set. If no locale 78 was previously set, the global locale, 79 .BR LC_GLOBAL_LOCALE , 80 is returned. If the locale object 81 .I loc 82 is the special locale 83 .BR (lcoale_t) 0, 84 then the current locale of the thread is not updated. On failure, the 85 .B uselocale() 86 function returns 87 .B (locale_t) 0, and sets 88 .B errno 89 to indicate the error. 90 91 .SH ERRORS 92 93 .sp 94 .ne 2 95 .na 96 .B EINVAL 97 .ad 98 .RS 10n 99 An invalid locale was encountered or an internal error occurred that 100 caused the system to be unable to update the locale. 101 .RE 102 103 .SH ATTRIBUTES 104 .sp 105 .TS 106 box; 107 c | c 108 l | l . 109 ATTRIBUTE TYPE ATTRIBUTE VALUE 110 _ 111 Interface Stability Standard 112 _ 113 MT-Level Safe 114 .TE 115 116 .SH SEE ALSO 117 .BR locale (1), 118 .BR duplocale (3C), 119 .BR newlocale (3C), 120 .BR setlocale (3C), 121 .BR environ (5), 122 .BR locale (5)