iPXE
ctype.h
Go to the documentation of this file.
1 #ifndef _CTYPE_H
2 #define _CTYPE_H
3 
4 /** @file
5  *
6  * Character types
7  *
8  */
9 
10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11 FILE_SECBOOT ( PERMITTED );
12 
13 /**
14  * Check if character is ASCII
15  *
16  * @v character Character
17  * @ret is_ascii Character is an ASCII character
18  */
19 static inline int isascii ( int character ) {
20 
21  return ( character <= '\x7f' );
22 }
23 
24 /**
25  * Check if character is a decimal digit
26  *
27  * @v character ASCII character
28  * @ret is_digit Character is a decimal digit
29  */
30 static inline int isdigit ( int character ) {
31 
32  return ( ( character >= '0' ) && ( character <= '9' ) );
33 }
34 
35 /**
36  * Check if character is a hexadecimal digit
37  *
38  * @v character ASCII character
39  * @ret is_xdigit Character is a hexadecimal digit
40  */
41 static inline int isxdigit ( int character ) {
42 
43  return ( ( ( character >= '0' ) && ( character <= '9' ) ) ||
44  ( ( character >= 'A' ) && ( character <= 'F' ) ) ||
45  ( ( character >= 'a' ) && ( character <= 'f' ) ) );
46 }
47 
48 /**
49  * Check if character is an upper-case letter
50  *
51  * @v character ASCII character
52  * @ret is_upper Character is an upper-case letter
53  */
54 static inline int isupper ( int character ) {
55 
56  return ( ( character >= 'A' ) && ( character <= 'Z' ) );
57 }
58 
59 /**
60  * Check if character is a lower-case letter
61  *
62  * @v character ASCII character
63  * @ret is_lower Character is a lower-case letter
64  */
65 static inline int islower ( int character ) {
66 
67  return ( ( character >= 'a' ) && ( character <= 'z' ) );
68 }
69 
70 /**
71  * Check if character is alphabetic
72  *
73  * @v character ASCII character
74  * @ret is_alpha Character is alphabetic
75  */
76 static inline int isalpha ( int character ) {
77 
78  return ( isupper ( character ) || islower ( character ) );
79 }
80 
81 /**
82  * Check if character is alphanumeric
83  *
84  * @v character ASCII character
85  * @ret is_alnum Character is alphanumeric
86  */
87 static inline int isalnum ( int character ) {
88 
89  return ( isalpha ( character ) || isdigit ( character ) );
90 }
91 
92 /**
93  * Check if character is printable
94  *
95  * @v character ASCII character
96  * @ret is_print Character is printable
97  */
98 static inline int isprint ( int character ) {
99 
100  return ( ( character >= ' ' ) && ( character <= '~' ) );
101 }
102 
103 /**
104  * Convert character to lower case
105  *
106  * @v character Character
107  * @v character Lower-case character
108  */
109 static inline int tolower ( int character ) {
110 
111  return ( isupper ( character ) ?
112  ( character - 'A' + 'a' ) : character );
113 }
114 
115 /**
116  * Convert character to upper case
117  *
118  * @v character Character
119  * @v character Upper-case character
120  */
121 static inline int toupper ( int character ) {
122 
123  return ( islower ( character ) ?
124  ( character - 'a' + 'A' ) : character );
125 }
126 
127 extern int isspace ( int character );
128 
129 #endif /* _CTYPE_H */
static int isxdigit(int character)
Check if character is a hexadecimal digit.
Definition: ctype.h:41
static int isascii(int character)
Check if character is ASCII.
Definition: ctype.h:19
static int isalpha(int character)
Check if character is alphabetic.
Definition: ctype.h:76
static int isprint(int character)
Check if character is printable.
Definition: ctype.h:98
static int toupper(int character)
Convert character to upper case.
Definition: ctype.h:121
static int isdigit(int character)
Check if character is a decimal digit.
Definition: ctype.h:30
static int islower(int character)
Check if character is a lower-case letter.
Definition: ctype.h:65
static int isalnum(int character)
Check if character is alphanumeric.
Definition: ctype.h:87
static int tolower(int character)
Convert character to lower case.
Definition: ctype.h:109
int isspace(int character)
Check to see if character is a space.
Definition: ctype.c:42
FILE_SECBOOT(PERMITTED)
static int isupper(int character)
Check if character is an upper-case letter.
Definition: ctype.h:54
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)