#ifndef _CTYPE_H #define _CTYPE_H #ifdef __cplusplus extern "C" { #endif #include int isalnum(int); int isblank(int); int iscntrl(int); int ispunct(int); int isxdigit(int); int tolower(int); int toupper(int); static __inline int __isspace(int _c) { return _c == ' ' || (unsigned)_c-'\t' < 5; } __inline int isalpha(int _c) { return (((unsigned)_c | 32) - 'a') < 26; } __inline int isdigit(int _c) { return ((unsigned)_c - '0') < 10; } __inline int islower(int _c) { return ((unsigned)_c - 'a') < 26; } __inline int isupper(int _c) { return ((unsigned)_c - 'A') < 26; } __inline int isprint(int _c) { return ((unsigned)_c - 0x20) < 0x5f; } __inline int isgraph(int _c) { return ((unsigned)_c - 0x21) < 0x5e; } __inline int isspace(int _c) { return __isspace(_c); } #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ || defined(_BSD_SOURCE) #define __NEED_locale_t #include int isalnum_l(int, locale_t); int isalpha_l(int, locale_t); int isblank_l(int, locale_t); int iscntrl_l(int, locale_t); int isdigit_l(int, locale_t); int isgraph_l(int, locale_t); int islower_l(int, locale_t); int isprint_l(int, locale_t); int ispunct_l(int, locale_t); int isspace_l(int, locale_t); int isupper_l(int, locale_t); int isxdigit_l(int, locale_t); int tolower_l(int, locale_t); int toupper_l(int, locale_t); int isascii(int); int toascii(int); #define _tolower(a) ((a)|0x20) #define _toupper(a) ((a)&0x5f) #endif #ifdef __cplusplus } #endif #endif