ia64/xen-unstable

view xen/include/xen/ctype.h @ 19800:78962f85c562

IOMMU: Add two generic functions to vendor neutral interface

Add 2 generic functions into the vendor neutral iommu interface, The
reason is that from changeset 19732, there is only one global flag
"iommu_enabled" that controls iommu enablement for both vtd and amd
systems, so we need different code paths for vtd and amd iommu systems
if this flag has been turned on. Also, the early checking of
"iommu_enabled" in iommu_setup() is removed to prevent iommu
functionalities from been disabled on amd systems.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 19 08:41:50 2009 +0100 (2009-06-19)
parents 9f85adafc1e1
children
line source
1 #ifndef _LINUX_CTYPE_H
2 #define _LINUX_CTYPE_H
4 /*
5 * NOTE! This ctype does not handle EOF like the standard C
6 * library is required to.
7 */
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) */
18 extern unsigned char _ctype[];
20 #define __ismask(x) (_ctype[(int)(unsigned char)(x)])
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)
34 #define isascii(c) (((unsigned char)(c))<=0x7f)
35 #define toascii(c) (((unsigned char)(c))&0x7f)
37 static inline unsigned char __tolower(unsigned char c)
38 {
39 if (isupper(c))
40 c -= 'A'-'a';
41 return c;
42 }
44 static inline unsigned char __toupper(unsigned char c)
45 {
46 if (islower(c))
47 c -= 'a'-'A';
48 return c;
49 }
51 #define tolower(c) __tolower(c)
52 #define toupper(c) __toupper(c)
54 #endif