12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef __CTYPE
- #define __CTYPE
- #pragma lib "/$M/lib/ape/libap.a"
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int isalnum(int);
- extern int isalpha(int);
- extern int iscntrl(int);
- extern int isdigit(int);
- extern int isgraph(int);
- extern int islower(int);
- extern int isprint(int);
- extern int ispunct(int);
- extern int isspace(int);
- extern int isupper(int);
- extern int isxdigit(int);
- extern int tolower(int);
- extern int toupper(int);
- #ifdef __cplusplus
- }
- #endif
- enum
- {
- _ISupper = 01, /* UPPERCASE. */
- _ISlower = 02, /* lowercase. */
- _ISdigit = 04, /* Numeric. */
- _ISspace = 010, /* Whitespace. */
- _ISpunct = 020, /* Punctuation. */
- _IScntrl = 040, /* Control character. */
- _ISblank = 0100, /* Blank (usually SPC and TAB). */
- _ISxdigit = 0200, /* Hexadecimal numeric. */
- };
- extern unsigned char _ctype[];
- #define isalnum(c) (_ctype[(unsigned char)(c)]&(_ISupper|_ISlower|_ISdigit))
- #define isalpha(c) (_ctype[(unsigned char)(c)]&(_ISupper|_ISlower))
- #define iscntrl(c) (_ctype[(unsigned char)(c)]&_IScntrl)
- #define isdigit(c) (_ctype[(unsigned char)(c)]&_ISdigit)
- #define isgraph(c) (_ctype[(unsigned char)(c)]&(_ISpunct|_ISupper|_ISlower|_ISdigit))
- #define islower(c) (_ctype[(unsigned char)(c)]&_ISlower)
- #define isprint(c) (_ctype[(unsigned char)(c)]&(_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank))
- #define ispunct(c) (_ctype[(unsigned char)(c)]&_ISpunct)
- #define isspace(c) (_ctype[(unsigned char)(c)]&_ISspace)
- #define isupper(c) (_ctype[(unsigned char)(c)]&_ISupper)
- #define isxdigit(c) (_ctype[(unsigned char)(c)]&_ISxdigit)
- #ifdef _BSD_EXTENSION
- #define isascii(c) (((unsigned int)(c))<0x80)
- #endif
- #endif /* __CTYPE */
|