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 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org> 15 .\" 16 .TH WCTRANS 3C "Jun 25, 2014" 17 18 .SH NAME 19 towctrans, towctrans_l, wctrans, wctrans_l \- define and perform transliteration mappings 20 .SH SYNOPSIS 21 .LP 22 .nf 23 #include <wctype.h> 24 25 \fBwint_t\fR \fBtowctrans\fR(\fBwint_t\fR \fIwc\fR, \fBwctrans_t\fR \fIdesc\fR); 26 .fi 27 .LP 28 .nf 29 \fBwint_t\fR \fBtowctrans_l\fR(\fBwint_t\fR \fIwc\fR, \fBwctrans_t\fR \fIdesc\fR, \fBlocale_t\fR \fIloc\fR); 30 .fi 31 .LP 32 .nf 33 \fBwctrans_t\fR \fBwctrans\fR(\fBconst char *\fR \fItranclass\fR); 34 .fi 35 .LP 36 .nf 37 \fBwctrans_t\fR \fBwctrans_l\fR(\fBconst char *\fR \fItranclass\fR, \fBlocale_t\fR \fIloc\fR); 38 .fi 39 .SH DESCRIPTION 40 .LP 41 The functions 42 .B wctrans() 43 and 44 .B wctrans_l() 45 are used to obtain a handle to a table that maps one set of wide 46 characters to another. They return an object of type 47 .I wctrans_t 48 which can be used with the functions 49 .B towctrans() 50 and 51 .BR towctrans_l() . 52 The valid set of classes that are available depends on the locale. 53 The following names are valid in all locales: 54 .TP 55 "tolower" 56 Conversion from upper case to lower case characters. 57 .TP 58 "toupper" 59 Conversion from lower case to upper case characters. 60 .LP 61 The 62 .B towctrans() 63 and 64 .B towctrans_l() 65 functions convert the wide character 66 .IR wc 67 based on the conversion table specified by 68 .IR desc . 69 .LP 70 The functions 71 .B towctrans_l() 72 and 73 .B wctrans_l() 74 are equivalent to the functions 75 .B towctrans() 76 and 77 .BR wctrans() , 78 but instead of operating in the current locale, they operate on the 79 locale specified by 80 .IR loc . 81 .SH RETURN VALUES 82 On successful completion, 83 .B towctrans() 84 and 85 .B towctrans_l() 86 functions return the character that corresponds to the argument passed 87 through the mapping table described by 88 .IR desc . 89 Otherwise, they return the character unchanged and set 90 .BR errno . 91 On successful completion, 92 .B wctrans() 93 and 94 .B wctrans_l() 95 functions return a non-zero identifier for 96 .IR tranclass . 97 On failure, they return zero and set 98 .BR errno . 99 .SH ERRORS 100 .LP 101 The 102 .B wctrans() 103 and 104 .B wctrans_l() 105 functions will fail if: 106 .TP 107 .B EINVAL 108 The mapping class specified by 109 .I tranclass 110 does not exist or is invalid. 111 .LP 112 The 113 .B towctrans() 114 and 115 .B towctrans_l() 116 functions will fail if: 117 .TP 118 .B EINVAL 119 The mapping class specified by 120 .I desc 121 is invalid. 122 .SH ATTRIBUTES 123 .TS 124 box; 125 c | c 126 l | l . 127 ATTRIBUTE TYPE ATTRIBUTE VALUE 128 _ 129 Interface Stability Standard 130 _ 131 MT-Level MT-Safe 132 .TE 133 134 .SH SEE ALSO 135 .BR newlocale (3C), 136 .BR setlocale (3C), 137 .BR towlower (3C), 138 .BR towupper (3C), 139 .BR environ (5), 140 .BR locale (5)