XenevaOS
Loading...
Searching...
No Matches
ctype.h
Go to the documentation of this file.
1
30#ifndef __CTYPE_H__
31#define __CTYPE_H__
32
33#include <_xeneva.h>
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39XE_LIB int isspace(int c);
40XE_LIB int isascii(int c);
41XE_LIB int isupper(int c);
42XE_LIB int islower(int c);
43XE_LIB int isalpha(int c);
44XE_LIB int isdigit(int c);
45XE_LIB int isxdigit(int c);
46XE_LIB int isprint(int c);
47XE_LIB int toupper(int c);
48XE_LIB int tolower(int c);
49
50#define toascii(c) ((unsigned)(c) & 0x7F)
51
52#if 0
53
54 extern char _ctype[257];
55
56 /* Constants */
57
58#define _LEADBYTE 0x8000 // Multibyte leadbyte
59#define _ALPHA (0x0100 | _UPPER | _LOWER) // Alphabetic character
60
61#define CT_UP 0x01 /* upper case */
62#define CT_LOW 0x02 /* lower case */
63#define CT_DIG 0x04 /* digit */
64#define CT_CTL 0x08 /* control */
65#define CT_PUN 0x10 /* punctuation */
66#define CT_WHT 0x20 /* white space (space/cr/lf/tab) */
67#define CT_HEX 0x40 /* hex digit */
68#define CT_SP 0x80 /* hard space (0x20) */
69
70 /* Basic macros */
71
72#define isalnum(c) ((_ctype + 1)[(unsigned)(c)] & (CT_UP | CT_LOW | CT_DIG))
73#define isalpha(c) ((_ctype + 1)[(unsigned)(c)] & (CT_UP | CT_LOW))
74#define iscntrl(c) ((_ctype + 1)[(unsigned)(c)] & (CT_CTL))
75#define isdigit(c) ((_ctype + 1)[(unsigned)(c)] & (CT_DIG))
76#define isgraph(c) ((_ctype + 1)[(unsigned)(c)] & (CT_PUN | CT_UP | CT_LOW | CT_DIG))
77#define islower(c) ((_ctype + 1)[(unsigned)(c)] & (CT_LOW))
78#define isprint(c) ((_ctype + 1)[(unsigned)(c)] & (CT_PUN | CT_UP | CT_LOW | CT_DIG | CT_SP))
79#define ispunct(c) ((_ctype + 1)[(unsigned)(c)] & (CT_PUN))
80#define isspace(c) ((_ctype + 1)[(unsigned)(c)] & (CT_WHT))
81#define isupper(c) ((_ctype + 1)[(unsigned)(c)] & (CT_UP))
82#define isxdigit(c) ((_ctype + 1)[(unsigned)(c)] & (CT_DIG | CT_HEX))
83
84#endif
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif
AU_EXPORT int isascii(int c)
Definition ctype.cpp:36
AU_EXPORT int tolower(int c)
Definition utclib.c:1012
AU_EXPORT int toupper(int c)
Definition utclib.c:991
#define XE_LIB
Definition _xeneva.h:55
#define isspace(c)
Definition acclib.h:177
#define islower(c)
Definition acclib.h:180
#define isalpha(c)
Definition acclib.h:182
#define isdigit(c)
Definition acclib.h:176
#define isprint(c)
Definition acclib.h:181
#define isxdigit(c)
Definition acclib.h:178
#define isupper(c)
Definition acclib.h:179