#ifndef _CTYPE_H_
#define _CTYPE_H_
-static inline int isalpha(int ch) {
- if('A'<=ch&&ch<='Z') return 1;
- if('a'<=ch&&ch<='z') return 1;
- return 0;
-}
-static inline int isdigit(int ch) {
- if('0'<=ch&&ch<='9') return 1;
- return 0;
-}
+#ifdef __cplusplus
+extern "C" {
+#endif
-static inline int isalnum(int ch) {
- return isalpha(ch) || isdigit(ch);
-}
+extern int isalpha(int ch);
+extern int isdigit(int ch);
+extern int isalnum(int ch);
+extern int isxdigit(int ch);
-static inline int toupper(int ch) {
- if('a'<=ch && ch <='z')
- return ch - 'a' + 'A';
- return ch;
-}
+extern int islower(int ch);
+extern int isupper(int ch);
+extern int ispunct(int ch);
+
+extern int isprint(int ch);
+extern int isgraph(int ch);
-static inline int isspace(int ch) {
- if(ch == ' ') return 1;
- if(ch == '\t') return 1;
- if(ch == '\r') return 1;
- if(ch == '\n') return 1;
- return 0;
+extern int isspace(int ch);
+
+extern int iscntrl(int ch);
+
+// C99
+extern int isblank(int ch);
+
+// Conversions
+extern int toupper(int ch);
+extern int tolower(int ch);
+
+#ifdef __cplusplus
}
+#endif
#endif