1 #ifndef ULINUX_UTILS_ASCII_ASCII_H
2 #define ULINUX_UTILS_ASCII_ASCII_H
4 * this code is protected by the GNU affero GPLv3
5 * author:Sylvain BERTRAND
7 #define ulinux_dec2ut_blk ulinux_dec2u8
8 #define ulinux_dec2us_blk ulinux_dec2u16_blk
9 #define ulinux_dec2us ulinux_dec2u16
11 #define ulinux_dec2ul_blk ulinux_dec2u64_blk
12 #define ulinux_dec2ul ulinux_dec2u64
14 #define ulinux_dec2ul_blk ulinux_dec2u32_blk
15 #define ulinux_dec2ul ulinux_dec2u32
17 #define ulinux_dec2ull_blk ulinux_dec2u64_blk
18 #define ulinux_dec2ull ulinux_dec2u64
20 /* XXX:may use linux ctype ascii table */
21 static inline bool ulinux_is_digit(ulinux_u8 c
)
23 if ('0' <= c
&& c
<= '9')
28 static inline bool ulinux_is_alnum(ulinux_u8 c
)
30 if ('0' <= c
&& c
<= '9')
32 if ('A' <= c
&& c
<= 'Z')
34 if ('a' <= c
&& c
<= 'z')
39 static inline bool ulinux_is_lower(ulinux_u8 c
)
41 if ('a' <= c
&& c
<= 'z')
46 static inline bool ulinux_is_upper(ulinux_u8 c
)
48 if ('A' <= c
&& c
<= 'Z')
53 static inline bool ulinux_is_alpha(ulinux_u8 c
)
55 if ('A' <= c
&& c
<= 'Z')
57 if ('a' <= c
&& c
<= 'z')
62 static inline bool ulinux_is_blank(ulinux_u8 c
)
64 if (c
== ' ' || c
== '\t')
69 static inline bool ulinux_is_space(ulinux_u8 c
)
72 if ( ('\t' <= c
&& c
<= '\r') || (c
== ' '))
77 static inline bool ulinux_is_xdigit(ulinux_u8 c
)
79 if ('0' <= c
&& c
<= '9')
81 if ('A' <= c
&& c
<= 'F')
83 if ('a' <= c
&& c
<= 'f')
88 static inline bool ulinux_is_cntrl(ulinux_u8 c
)
90 if (c
<= 0x1f || c
== 0x7f)
95 static inline bool ulinux_is_punct(ulinux_u8 c
)
97 if (('!' <= c
&& c
<= '/') || (':' <= c
&& c
<= '@')
98 || ('[' <= c
&& c
<= '`') || ('{' <= c
&& c
<= '~'))
103 /* XXX: send back the base ascii char and not a boolean ! */
104 static inline ulinux_u8
ulinux_is_hex(ulinux_u8 c
)
106 if ('0' <= c
&& c
<= '9')
108 if ('A' <= c
&& c
<= 'F')
110 if ('a' <= c
&& c
<= 'z')
115 static inline bool ulinux_is_print(ulinux_u8 c
)
117 if (' ' <= c
&& c
<= '~')
122 static inline bool ulinux_is_graph(ulinux_u8 c
)
124 if ('!' <= c
&& c
<= '~')
129 static inline ulinux_u8
ulinux_2upper(ulinux_u8 c
)
131 if (ulinux_is_lower(c
))
136 static inline ulinux_u8
ulinux_2lower(ulinux_u8 c
)
138 if (ulinux_is_upper(c
))