xref: /original-bsd/include/ctype.h (revision 33586e34)
1 /*
2  * Copyright (c) 1989 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  *	@(#)ctype.h	5.1 (Berkeley) 05/27/89
18  */
19 
20 #define	_U	0x01
21 #define	_L	0x02
22 #define	_N	0x04
23 #define	_S	0x08
24 #define	_P	0x10
25 #define	_C	0x20
26 #define	_X	0x40
27 #define	_B	0x80
28 
29 extern char	_ctype_[];
30 
31 #define	isdigit(c)	((_ctype_ + 1)[c] & _N)
32 #define	islower(c)	((_ctype_ + 1)[c] & _L)
33 #define	isspace(c)	((_ctype_ + 1)[c] & _S)
34 #define	ispunct(c)	((_ctype_ + 1)[c] & _P)
35 #define	isupper(c)	((_ctype_ + 1)[c] & _U)
36 #define	isalpha(c)	((_ctype_ + 1)[c] & (_U|_L))
37 #define	isxdigit(c)	((_ctype_ + 1)[c] & (_N|_X))
38 #define	isalnum(c)	((_ctype_ + 1)[c] & (_U|_L|_N))
39 #define	isprint(c)	((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B))
40 #define	isgraph(c)	((_ctype_ + 1)[c] & (_P|_U|_L|_N))
41 #define	iscntrl(c)	((_ctype_ + 1)[c] & _C)
42 #define	isascii(c)	((unsigned)(c) <= 0177)
43 #define	toupper(c)	((c) - 'a' + 'A')
44 #define	tolower(c)	((c) - 'A' + 'a')
45 #define	toascii(c)	((c) & 0177)
46