00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00028 #ifndef _RTXCTYPE_H_
00029 #define _RTXCTYPE_H_
00030
00031 #include "rtxsrc/rtxCommon.h"
00032
00033
00034
00035 #define OS_CTYPE_UPPER 0x1
00036 #define OS_CTYPE_LOWER 0x2
00037 #define OS_CTYPE_NUMBER 0x4
00038 #define OS_CTYPE_SPACE 0x8
00039 #define OS_CTYPE_PUNCT 0x10
00040 #define OS_CTYPE_CTRL 0x20
00041 #define OS_CTYPE_HEX 0x40
00042 #define OS_CTYPE_BLANK 0x80
00043
00044
00045
00046 #define OS_ISASCII(c) ((unsigned)(c) < 0x80)
00047
00048 #define OS_ISALPHA(c) \
00049 (rtxCtypeTable[(unsigned)(c)]&(OS_CTYPE_UPPER|OS_CTYPE_LOWER))
00050 #define OS_ISUPPER(c) \
00051 (rtxCtypeTable[(unsigned)(c)]&OS_CTYPE_UPPER)
00052 #define OS_ISLOWER(c) \
00053 (rtxCtypeTable[(unsigned)(c)]&OS_CTYPE_LOWER)
00054 #define OS_ISDIGIT(c) \
00055 (rtxCtypeTable[(unsigned)(c)]&OS_CTYPE_NUMBER)
00056 #define OS_ISXDIGIT(c) \
00057 (rtxCtypeTable[(unsigned)(c)]&(OS_CTYPE_HEX|OS_CTYPE_NUMBER))
00058 #define OS_ISSPACE(c) \
00059 (rtxCtypeTable[(unsigned)(c)]&OS_CTYPE_SPACE)
00060 #define OS_ISPUNCT(c) \
00061 (rtxCtypeTable[(unsigned)(c)]&OS_CTYPE_PUNCT)
00062 #define OS_ISALNUM(c) \
00063 (rtxCtypeTable[(unsigned)(c)]&(OS_CTYPE_UPPER|OS_CTYPE_LOWER|OS_CTYPE_NUMBER))
00064 #define OS_ISPRINT(c) \
00065 (rtxCtypeTable[(unsigned)(c)]& \
00066 (OS_CTYPE_PUNCT|OS_CTYPE_UPPER|OS_CTYPE_LOWER|OS_CTYPE_NUMBER|OS_CTYPE_BLANK))
00067 #define OS_ISGRAPH(c) \
00068 (rtxCtypeTable[(unsigned)(c)]& \
00069 (OS_CTYPE_PUNCT|OS_CTYPE_UPPER|OS_CTYPE_LOWER|OS_CTYPE_NUMBER))
00070 #define OS_ISCNTRL(c) \
00071 (rtxCtypeTable[(unsigned)(c)]&OS_CTYPE_CTRL)
00072
00073 #define OS_TOLOWER(c) (OS_ISUPPER(c) ? (c) - 'A' + 'a' : (c))
00074 #define OS_TOUPPER(c) (OS_ISLOWER(c) ? (c) - 'a' + 'A' : (c))
00075
00076 #ifdef __cplusplus
00077 extern "C" {
00078 #endif
00079
00080
00081
00082 extern EXTERNRTX const OSOCTET rtxCtypeTable[256];
00083
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087
00088 #endif
00089