00001 #ifndef __CTYPE
00002 #define __CTYPE
00003
00004 extern int isalnum(int);
00005 extern int isalpha(int);
00006 extern int iscntrl(int);
00007 extern int isdigit(int);
00008 extern int isgraph(int);
00009 extern int islower(int);
00010 extern int isprint(int);
00011 extern int ispunct(int);
00012 extern int isspace(int);
00013 extern int isupper(int);
00014 extern int isxdigit(int);
00015 extern int tolower(int);
00016 extern int toupper(int);
00017
00018 #define __U 01
00019 #define __L 02
00020 #define __N 04
00021 #define __S 010
00022 #define __P 020
00023 #define __C 040
00024 #define _U 01
00025 #define _L 02
00026 #define _N 04
00027 #define _S 010
00028 #define _P 020
00029 #define _C 040
00030 #define _B 0100
00031 #define _X 0200
00032
00033 extern unsigned char __ctype[];
00034 #define isalpha(c) ((__ctype + 1)[c] & (_U | _L))
00035 #define isupper(c) ((__ctype + 1)[c] & _U)
00036 #define islower(c) ((__ctype + 1)[c] & _L)
00037 #define isdigit(c) ((__ctype + 1)[c] & _N)
00038 #define isxdigit(c) ((__ctype + 1)[c] & _X)
00039 #define isalnum(c) ((__ctype + 1)[c] & (_U | _L | _N))
00040 #define isspace(c) ((__ctype + 1)[c] & _S)
00041 #define ispunct(c) ((__ctype + 1)[c] & _P)
00042 #define isprint(c) ((__ctype + 1)[c] & (_P | _U | _L | _N | _B))
00043 #define isgraph(c) ((__ctype + 1)[c] & (_P | _U | _L | _N))
00044 #define iscntrl(c) ((__ctype + 1)[c] & _C)
00045
00046 #endif