Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

rtxCtype.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2006 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00024 
00028 #ifndef _RTXCTYPE_H_
00029 #define _RTXCTYPE_H_
00030 
00031 #include "rtxsrc/rtxCommon.h"
00032 
00033 /* Ctype module constants */
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 /* Ctype substitution macros */
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 /* ctype module table */
00081 
00082 extern EXTERNRTX const OSOCTET rtxCtypeTable[256];
00083 
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087 
00088 #endif /* _RTXCTYPE_H_ */
00089 

This file was last modified on 8 Jan 2007.
XBinder, Version 1.1.9