Print this page
Garrett's man page edits.
*** 9,178 ****
.\" 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.
.\"
! .TH WCTRANS 3C "Jun 11, 2014"
.SH NAME
-
towctrans, towctrans_l, wctrans, wctrans_l \- define and perform transliteration mappings
-
.SH SYNOPSIS
-
.LP
.nf
#include <wctype.h>
! .BI "wint_t towctrans(wint_t " wc ", wctrans_t " desc );
! .BI "wint_t towctrans_l(wint_t " wc ", wctrans_t " desc ", locale_t " loc );
!
! .BI "wctrans_t wctrans(const char *" class );
! .BI "wctrans_t wctrans_l(const char *" class, " locale_t " loc );
!
.SH DESCRIPTION
!
! The function
! .B wctrans
! is used to obtain a handle to a mapping table that maps one set of wide
! characters to another. It returns an object of type
.I wctrans_t
which can be used with the functions
.B towctrans()
and
.BR towctrans_l() .
The valid set of classes that are available depends on the locale.
! Regardless of what locale is being used, the following names are always
! valid:
!
! .na
! .in +2
! .I tolower
! .in -2
! .fi
!
! .na
! .in +2
! .I toupper
! .in -2
! .fi
! .sp
.LP
The
.B towctrans()
! function converts the wide character
.IR wc
! based on the conversion table
! specified by
.IR desc .
-
-
.LP
The functions
! .B towctrans_l
and
! .B wctrans_l
are equivalent to the functions
! .B towctrans
and
! .BR wctrans ,
! but instead of operating in the current environemnt, they operate on the
! environment specified by
.IR loc .
-
.SH RETURN VALUES
-
On successful completion,
.B towctrans()
and
.B towctrans_l()
functions return the character that corresponds to the argument passed
through the mapping table described by
.IR desc .
! Otherwise, it returns the character unchanged and sets
.BR errno .
-
On successful completion,
.B wctrans()
and
.B wctrans_l()
functions return a non-zero identifier for
! .IR class .
On failure, they return zero and set
.BR errno .
-
-
.SH ERRORS
.LP
The
.B wctrans()
and
.B wctrans_l()
functions will fail if:
! .sp
! .ne 2
! .na
! .B EINAVL
! .ad
! .RS 10n
The mapping class specified by
! .I class
does not exist or is invalid.
- .RE
-
.LP
The
.B towctrans()
and
.B towctrans_l()
functions will fail if:
! .sp
! .ne 2
! .na
! .B EINAVL
! .ad
! .RS 10n
The mapping class specified by
.I desc
is invalid.
- .RE
-
.SH ATTRIBUTES
- .sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE ATTRIBUTE VALUE
_
Interface Stability Standard
_
! MT-Level Safe, with exceptions
.TE
.SH SEE ALSO
- .BR duplocale (3C),
.BR newlocale (3C),
.BR setlocale (3C),
.BR towlower (3C),
.BR towupper (3C),
.BR environ (5),
.BR locale (5)
-
- .SH NOTES
-
- The functions
- .B towctrans()
- and
- .B wctrans()
- are thread-safe as long as
- the thread is emplying a per-thread locale as set per
- .B uselocale(3C)
- or
- .B setlocale(3C)
- is not called by another thread while these functions are running.
- Both
- .B towctrans_l()
- and
- .B wctrans_l()
- are MT-safe.
--- 9,140 ----
.\" 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 WCTRANS 3C "Jun 25, 2014"
.SH NAME
towctrans, towctrans_l, wctrans, wctrans_l \- define and perform transliteration mappings
.SH SYNOPSIS
.LP
.nf
#include <wctype.h>
! \fBwint_t\fR \fBtowctrans\fR(\fBwint_t\fR \fIwc\fR, \fBwctrans_t\fR \fIdesc\fR);
! .fi
! .LP
! .nf
! \fBwint_t\fR \fBtowctrans_l\fR(\fBwint_t\fR \fIwc\fR, \fBwctrans_t\fR \fIdesc\fR, \fBlocale_t\fR \fIloc\fR);
! .fi
! .LP
! .nf
! \fBwctrans_t\fR \fBwctrans\fR(\fBconst char *\fR \fItranclass\fR);
! .fi
! .LP
! .nf
! \fBwctrans_t\fR \fBwctrans_l\fR(\fBconst char *\fR \fItranclass\fR, \fBlocale_t\fR \fIloc\fR);
! .fi
.SH DESCRIPTION
! .LP
! The functions
! .B wctrans()
! and
! .B wctrans_l()
! are used to obtain a handle to a table that maps one set of wide
! characters to another. They return an object of type
.I wctrans_t
which can be used with the functions
.B towctrans()
and
.BR towctrans_l() .
The valid set of classes that are available depends on the locale.
! The following names are valid in all locales:
! .TP
! "tolower"
! Conversion from upper case to lower case characters.
! .TP
! "toupper"
! Conversion from lower case to upper case characters.
.LP
The
.B towctrans()
! and
! .B towctrans_l()
! functions convert the wide character
.IR wc
! based on the conversion table specified by
.IR desc .
.LP
The functions
! .B towctrans_l()
and
! .B wctrans_l()
are equivalent to the functions
! .B towctrans()
and
! .BR wctrans() ,
! but instead of operating in the current locale, they operate on the
! locale specified by
.IR loc .
.SH RETURN VALUES
On successful completion,
.B towctrans()
and
.B towctrans_l()
functions return the character that corresponds to the argument passed
through the mapping table described by
.IR desc .
! Otherwise, they return the character unchanged and set
.BR errno .
On successful completion,
.B wctrans()
and
.B wctrans_l()
functions return a non-zero identifier for
! .IR tranclass .
On failure, they return zero and set
.BR errno .
.SH ERRORS
.LP
The
.B wctrans()
and
.B wctrans_l()
functions will fail if:
! .TP
! .B EINVAL
The mapping class specified by
! .I tranclass
does not exist or is invalid.
.LP
The
.B towctrans()
and
.B towctrans_l()
functions will fail if:
! .TP
! .B EINVAL
The mapping class specified by
.I desc
is invalid.
.SH ATTRIBUTES
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE ATTRIBUTE VALUE
_
Interface Stability Standard
_
! MT-Level MT-Safe
.TE
.SH SEE ALSO
.BR newlocale (3C),
.BR setlocale (3C),
.BR towlower (3C),
.BR towupper (3C),
.BR environ (5),
.BR locale (5)