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
10FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11FILE_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 */
19static 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 */
30static 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 */
41static 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 */
54static 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 */
65static 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 */
76static 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 */
87static 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 */
98static 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 */
109static 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 */
121static inline int toupper ( int character ) {
122
123 return ( islower ( character ) ?
124 ( character - 'a' + 'A' ) : character );
125}
126
127extern int isspace ( int character );
128
129#endif /* _CTYPE_H */
static int toupper(int character)
Convert character to upper case.
Definition ctype.h:121
int isspace(int character)
Check to see if character is a space.
Definition ctype.c:42
static int isascii(int character)
Check if character is ASCII.
Definition ctype.h:19
static int isprint(int character)
Check if character is printable.
Definition ctype.h:98
static int isxdigit(int character)
Check if character is a hexadecimal digit.
Definition ctype.h:41
static int islower(int character)
Check if character is a lower-case letter.
Definition ctype.h:65
static int isupper(int character)
Check if character is an upper-case letter.
Definition ctype.h:54
static int isalnum(int character)
Check if character is alphanumeric.
Definition ctype.h:87
static int isdigit(int character)
Check if character is a decimal digit.
Definition ctype.h:30
static int tolower(int character)
Convert character to lower case.
Definition ctype.h:109
static int isalpha(int character)
Check if character is alphabetic.
Definition ctype.h:76
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
Definition compiler.h:896
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
Definition compiler.h:926