1/* 2Copyright (c) 1989 The Regents of the University of California. 3All rights reserved. 4 5Redistribution and use in source and binary forms, with or without 6modification, are permitted provided that the following conditions 7are met: 81. Redistributions of source code must retain the above copyright 9notice, this list of conditions and the following disclaimer. 102. Redistributions in binary form must reproduce the above copyright 11notice, this list of conditions and the following disclaimer in the 12documentation and/or other materials provided with the distribution. 133. Neither the name of the University nor the names of its contributors 14may be used to endorse or promote products derived from this software 15without specific prior written permission. 16 17THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27SUCH DAMAGE. 28 */ 29@node Ctype 30@chapter Character Type Macros and Functions (@file{ctype.h}) 31This chapter groups macros (which are also available as subroutines) 32to classify characters into several categories (alphabetic, 33numeric, control characters, whitespace, and so on), or to perform 34simple character mappings. 35 36The header file @file{ctype.h} defines the macros. 37@menu 38* Function isalnum:: Alphanumeric character predicate (isalnum, isalnum_l) 39* Function isalpha:: Alphabetic character predicate (isalpha, isalpha_l) 40* Function isascii:: ASCII character predicate (isascii, isascii_l) 41* Function isblank:: Blank character predicate (isblank, isblank_l) 42* Function iscntrl:: Control character predicate (iscntrl, iscntrl_l) 43* Function isdigit:: Decimal digit predicate (isdigit, isdigit_l) 44* Function islower:: Lowercase character predicate (islower, islower_l) 45* Function isprint:: Printable character predicates (isprint, isprint_l. isgraph, isgraph_l) 46* Function ispunct:: Punctuation character predicate (ispunct, ispunct_l) 47* Function isspace:: Whitespace character predicate (isspace, isspace_l) 48* Function isupper:: Uppercase character predicate (isupper, isupper_l) 49* Function isxdigit:: Hexadecimal digit predicate (isxdigit, isxdigit_l) 50* Function toascii:: Force integers to ASCII range (toascii, toascii_l) 51* Function tolower:: Translate characters to lowercase (tolower, tolower_l) 52* Function toupper:: Translate characters to uppercase (toupper, toupper_l) 53* Function iswalnum:: Alphanumeric wide character predicate (iswalnum, iswalnum_l) 54* Function iswalpha:: Alphabetic wide character predicate (iswalpha, iswalpha_l) 55* Function iswblank:: Blank wide character predicate (iswblank, iswblank_l) 56* Function iswcntrl:: Control wide character predicate (iswcntrl, iswcntrl_l) 57* Function iswdigit:: Decimal digit wide character predicate (iswdigit, iswdigit_l) 58* Function iswgraph:: Graphic wide character predicate (iswgraph, iswgraph_l) 59* Function iswlower:: Lowercase wide character predicate (iswlower, iswlower_l) 60* Function iswprint:: Printable wide character predicate (iswprint, iswprint_l) 61* Function iswpunct:: Punctuation wide character predicate (iswpunct, iswpunct_l) 62* Function iswspace:: Whitespace wide character predicate (iswspace, iswspace_l) 63* Function iswupper:: Uppercase wide character predicate (iswupper, iswupper_l) 64* Function iswxdigit:: Hexadecimal digit wide character predicate (iswxdigit, iswxdigit_l) 65* Function iswctype:: Extensible wide-character test (iswctype, iswctype_l) 66* Function wctype:: Compute wide-character test type (wctype, wctype_l) 67* Function towlower:: Translate wide characters to lowercase (towlower, towlower_l) 68* Function towupper:: Translate wide characters to uppercase (towupper, towupper_l) 69* Function towctrans:: Extensible wide-character translation (towctrans, towctrans_l) 70* Function wctrans:: Compute wide-character translation type (wctrans, wctrans_l) 71@end menu 72 73@page 74@include ctype/isalnum.def 75 76@page 77@include ctype/isalpha.def 78 79@page 80@include ctype/isascii.def 81 82@page 83@include ctype/isblank.def 84 85@page 86@include ctype/iscntrl.def 87 88@page 89@include ctype/isdigit.def 90 91@page 92@include ctype/islower.def 93 94@page 95@include ctype/isprint.def 96 97@page 98@include ctype/ispunct.def 99 100@page 101@include ctype/isspace.def 102 103@page 104@include ctype/isupper.def 105 106@page 107@include ctype/isxdigit.def 108 109@page 110@include ctype/toascii.def 111 112@page 113@include ctype/tolower.def 114 115@page 116@include ctype/toupper.def 117 118@page 119@include ctype/iswalnum.def 120 121@page 122@include ctype/iswalpha.def 123 124@page 125@include ctype/iswcntrl.def 126 127@page 128@include ctype/iswblank.def 129 130@page 131@include ctype/iswdigit.def 132 133@page 134@include ctype/iswgraph.def 135 136@page 137@include ctype/iswlower.def 138 139@page 140@include ctype/iswprint.def 141 142@page 143@include ctype/iswpunct.def 144 145@page 146@include ctype/iswspace.def 147 148@page 149@include ctype/iswupper.def 150 151@page 152@include ctype/iswxdigit.def 153 154@page 155@include ctype/iswctype.def 156 157@page 158@include ctype/wctype.def 159 160@page 161@include ctype/towlower.def 162 163@page 164@include ctype/towupper.def 165 166@page 167@include ctype/towctrans.def 168 169@page 170@include ctype/wctrans.def 171 172