xref: /plan9/sys/src/cmd/cb/cbtype.h (revision 2da9d879068dd8b684dbeba2827c8a2fac8ac40b)
1 #define	_U	01
2 #define	_L	02
3 #define	_N	04
4 #define	_S	010
5 #define _P	020
6 #define _C	040
7 #define	_X	0100
8 #define _O	0200
9 
10 extern	unsigned char	_cbtype_[];	/* in /usr/src/libc/gen/ctype_.c */
11 
12 #define isop(c)	((_cbtype_+1)[c]&_O)
13 #define	isalpha(c)	((_cbtype_+1)[c]&(_U|_L))
14 #define	isupper(c)	((_cbtype_+1)[c]&_U)
15 #define	islower(c)	((_cbtype_+1)[c]&_L)
16 #define	isdigit(c)	((_cbtype_+1)[c]&_N)
17 #define	isxdigit(c)	((_cbtype_+1)[c]&(_N|_X))
18 #define	isspace(c)	((_cbtype_+1)[c]&_S)
19 #define ispunct(c)	((_cbtype_+1)[c]&_P)
20 #define isalnum(c)	((_cbtype_+1)[c]&(_U|_L|_N))
21 #define isprint(c)	((_cbtype_+1)[c]&(_P|_U|_L|_N))
22 #define iscntrl(c)	((_cbtype_+1)[c]&_C)
23 #define isascii(c)	((unsigned)(c)<=0177)
24 #define toupper(c)	((c)-'a'+'A')
25 #define tolower(c)	((c)-'A'+'a')
26 #define toascii(c)	((c)&0177)
27