1 /*
2  * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #include <ctype.h>
8 
isalnum(int c)9 int isalnum(int c)
10 {
11 	return isalpha(c) || isdigit(c);
12 }
13 
isalpha(int c)14 int isalpha(int c)
15 {
16 	return isupper(c) || islower(c);
17 }
18 
iscntrl(int c)19 int iscntrl(int c)
20 {
21 	return c < 0x20 || c == 0x7f;
22 }
23 
isdigit(int c)24 int isdigit(int c)
25 {
26 	return c >= '0' && c <= '9';
27 }
28 
isgraph(int c)29 int isgraph(int c)
30 {
31 	return c >= 0x21 && c < 0x7f;
32 }
33 
islower(int c)34 int islower(int c)
35 {
36 	return c >= 'a' && c <= 'z';
37 }
38 
isprint(int c)39 int isprint(int c)
40 {
41 	return c >= 0x20 && c < 0x7f;
42 }
43 
ispunct(int c)44 int ispunct(int c)
45 {
46 	return isgraph(c) && !isalnum(c);
47 }
48 
isspace(int c)49 int isspace(int c)
50 {
51 	return c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v';
52 }
53 
isupper(int c)54 int isupper(int c)
55 {
56 	return c >= 'A' && c <= 'Z';
57 }
58 
isxdigit(int c)59 int isxdigit(int c)
60 {
61 	if (isdigit(c))
62 		return 1;
63 
64 	if (c >= 'A' && c <= 'F')
65 		return 1;
66 
67 	if (c >= 'a' && c <= 'f')
68 		return 1;
69 
70 	return 0;
71 }
72 
tolower(int c)73 int tolower(int c)
74 {
75 	if (c >= 'A' && c <= 'Z')
76 		return c - 'A' + 'a';
77 
78 	return c;
79 }
80 
toupper(int c)81 int toupper(int c)
82 {
83 	if (c >= 'a' && c <= 'z')
84 		return c - 'a' + 'A';
85 
86 	return c;
87 }
88