1219b2ee8SDavid du Colombier #pragma src "/sys/src/libc/port" 23e12c5d1SDavid du Colombier #pragma lib "libc.a" 33e12c5d1SDavid du Colombier 43e12c5d1SDavid du Colombier #define _U 01 53e12c5d1SDavid du Colombier #define _L 02 63e12c5d1SDavid du Colombier #define _N 04 73e12c5d1SDavid du Colombier #define _S 010 83e12c5d1SDavid du Colombier #define _P 020 93e12c5d1SDavid du Colombier #define _C 040 103e12c5d1SDavid du Colombier #define _B 0100 113e12c5d1SDavid du Colombier #define _X 0200 123e12c5d1SDavid du Colombier 133e12c5d1SDavid du Colombier extern unsigned char _ctype[]; 143e12c5d1SDavid du Colombier 15*80ee5cbfSDavid du Colombier #define isalpha(c) (_ctype[(unsigned char)(c)]&(_U|_L)) 16*80ee5cbfSDavid du Colombier #define isupper(c) (_ctype[(unsigned char)(c)]&_U) 17*80ee5cbfSDavid du Colombier #define islower(c) (_ctype[(unsigned char)(c)]&_L) 18*80ee5cbfSDavid du Colombier #define isdigit(c) (_ctype[(unsigned char)(c)]&_N) 19*80ee5cbfSDavid du Colombier #define isxdigit(c) (_ctype[(unsigned char)(c)]&_X) 20*80ee5cbfSDavid du Colombier #define isspace(c) (_ctype[(unsigned char)(c)]&_S) 21*80ee5cbfSDavid du Colombier #define ispunct(c) (_ctype[(unsigned char)(c)]&_P) 22*80ee5cbfSDavid du Colombier #define isalnum(c) (_ctype[(unsigned char)(c)]&(_U|_L|_N)) 23*80ee5cbfSDavid du Colombier #define isprint(c) (_ctype[(unsigned char)(c)]&(_P|_U|_L|_N|_B)) 24*80ee5cbfSDavid du Colombier #define isgraph(c) (_ctype[(unsigned char)(c)]&(_P|_U|_L|_N)) 25*80ee5cbfSDavid du Colombier #define iscntrl(c) (_ctype[(unsigned char)(c)]&_C) 263e12c5d1SDavid du Colombier #define isascii(c) ((unsigned char)(c)<=0177) 273e12c5d1SDavid du Colombier #define _toupper(c) ((c)-'a'+'A') 283e12c5d1SDavid du Colombier #define _tolower(c) ((c)-'A'+'a') 293e12c5d1SDavid du Colombier #define toascii(c) ((c)&0177) 30