1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _SYS_CTYPE_H 28 #define _SYS_CTYPE_H 29 30 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 #include <sys/types.h> 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 #define ISDIGIT(_c) \ 39 ((_c) >= '0' && (_c) <= '9') 40 41 #define ISXDIGIT(_c) \ 42 (ISDIGIT(_c) || \ 43 ((_c) >= 'a' && (_c) <= 'f') || \ 44 ((_c) >= 'A' && (_c) <= 'F')) 45 46 #define ISLOWER(_c) \ 47 ((_c) >= 'a' && (_c) <= 'z') 48 49 #define ISUPPER(_c) \ 50 ((_c) >= 'A' && (_c) <= 'Z') 51 52 #define ISALPHA(_c) \ 53 (ISUPPER(_c) || \ 54 ISLOWER(_c)) 55 56 #define ISALNUM(_c) \ 57 (ISALPHA(_c) || \ 58 ISDIGIT(_c)) 59 60 #define ISSPACE(_c) \ 61 ((_c) == ' ' || \ 62 (_c) == '\t' || \ 63 (_c) == '\r' || \ 64 (_c) == '\n') 65 66 static boolean_t 67 isdigit(char c) 68 { 69 return (ISDIGIT(c)); 70 } 71 #pragma inline(isdigit) 72 73 static boolean_t 74 isxdigit(char c) 75 { 76 return (ISXDIGIT(c)); 77 } 78 #pragma inline(isdigit) 79 80 static boolean_t 81 islower(char c) 82 { 83 return (ISLOWER(c)); 84 } 85 #pragma inline(islower) 86 87 static boolean_t 88 isupper(char c) 89 { 90 return (ISUPPER(c)); 91 } 92 #pragma inline(isupper) 93 94 static boolean_t 95 isalpha(char c) 96 { 97 return (ISALPHA(c)); 98 } 99 #pragma inline(isalpha) 100 101 static boolean_t 102 isalnum(char c) 103 { 104 return (ISALNUM(c)); 105 } 106 #pragma inline(isalnum) 107 108 static boolean_t 109 isspace(char c) 110 { 111 return (ISSPACE(c)); 112 } 113 #pragma inline(isspace) 114 115 #ifdef __cplusplus 116 } 117 #endif 118 119 #endif /* _SYS_CTYPE_H */ 120