Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Merge branch 'devel'
[palacios.git] / kitten / include / lwk / ctype.h
1 #ifndef _LWK_CTYPE_H
2 #define _LWK_CTYPE_H
3
4 /*
5  * NOTE! This ctype does not handle EOF like the standard C
6  * library is required to.
7  */
8
9 #define _U      0x01    /* upper */
10 #define _L      0x02    /* lower */
11 #define _D      0x04    /* digit */
12 #define _C      0x08    /* cntrl */
13 #define _P      0x10    /* punct */
14 #define _S      0x20    /* white space (space/lf/tab) */
15 #define _X      0x40    /* hex digit */
16 #define _SP     0x80    /* hard space (0x20) */
17
18 extern unsigned char _ctype[];
19
20 #define __ismask(x) (_ctype[(int)(unsigned char)(x)])
21
22 #define isalnum(c)      ((__ismask(c)&(_U|_L|_D)) != 0)
23 #define isalpha(c)      ((__ismask(c)&(_U|_L)) != 0)
24 #define iscntrl(c)      ((__ismask(c)&(_C)) != 0)
25 #define isdigit(c)      ((__ismask(c)&(_D)) != 0)
26 #define isgraph(c)      ((__ismask(c)&(_P|_U|_L|_D)) != 0)
27 #define islower(c)      ((__ismask(c)&(_L)) != 0)
28 #define isprint(c)      ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
29 #define ispunct(c)      ((__ismask(c)&(_P)) != 0)
30 #define isspace(c)      ((__ismask(c)&(_S)) != 0)
31 #define isupper(c)      ((__ismask(c)&(_U)) != 0)
32 #define isxdigit(c)     ((__ismask(c)&(_D|_X)) != 0)
33
34 #define isascii(c) (((unsigned char)(c))<=0x7f)
35 #define toascii(c) (((unsigned char)(c))&0x7f)
36
37 static inline unsigned char __tolower(unsigned char c)
38 {
39         if (isupper(c))
40                 c -= 'A'-'a';
41         return c;
42 }
43
44 static inline unsigned char __toupper(unsigned char c)
45 {
46         if (islower(c))
47                 c -= 'a'-'A';
48         return c;
49 }
50
51 #define tolower(c) __tolower(c)
52 #define toupper(c) __toupper(c)
53
54 #endif