summaryrefslogtreecommitdiff
path: root/addons/ooh323c/src/rtctype.h
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2009-06-30 16:40:38 +0000
committerRussell Bryant <russell@russellbryant.com>2009-06-30 16:40:38 +0000
commitc511a2674906fd93470f0a9b77340041771466e1 (patch)
treed3d6aa7ea86d11ecaa6e88efbc46a5dde1c63ea5 /addons/ooh323c/src/rtctype.h
parent62d3f1dfd9632f18c4f7c12e44af30f4cc08c292 (diff)
Move Asterisk-addons modules into the main Asterisk source tree.
Someone asked yesterday, "is there a good reason why we can't just put these modules in Asterisk?". After a brief discussion, as long as the modules are clearly set aside in their own directory and not enabled by default, it is perfectly fine. For more information about why a module goes in addons, see README-addons.txt. chan_ooh323 does not currently compile as it is behind some trunk API updates. However, it will not build by default, so it should be okay for now. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons/ooh323c/src/rtctype.h')
-rw-r--r--addons/ooh323c/src/rtctype.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/addons/ooh323c/src/rtctype.h b/addons/ooh323c/src/rtctype.h
new file mode 100644
index 000000000..ebb0a59b4
--- /dev/null
+++ b/addons/ooh323c/src/rtctype.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 1997-2005 by Objective Systems, Inc.
+ *
+ * This software is furnished under an open source license and may be
+ * used and copied only in accordance with the terms of this license.
+ * The text of the license may generally be found in the root
+ * directory of this installation in the COPYING file. It
+ * can also be viewed online at the following URL:
+ *
+ * http://www.obj-sys.com/open/license.html
+ *
+ * Any redistributions of this file including modified versions must
+ * maintain this copyright notice.
+ *
+ *****************************************************************************/
+
+/**
+ * @file rtctype.h
+ */
+#ifndef _RTCTYPE_H_
+#define _RTCTYPE_H_
+
+#include "ooasn1.h"
+
+/* Ctype module constants */
+
+#define OS_CTYPE_UPPER 0x1
+#define OS_CTYPE_LOWER 0x2
+#define OS_CTYPE_NUMBER 0x4
+#define OS_CTYPE_SPACE 0x8
+#define OS_CTYPE_PUNCT 0x10
+#define OS_CTYPE_CTRL 0x20
+#define OS_CTYPE_HEX 0x40
+#define OS_CTYPE_BLANK 0x80
+
+/* Ctype substitution macros */
+
+#define OS_ISALPHA(c) \
+(rtCtypeTable[(unsigned)(c)]&(OS_CTYPE_UPPER|OS_CTYPE_LOWER))
+#define OS_ISUPPER(c) \
+(rtCtypeTable[(unsigned)(c)]&OS_CTYPE_UPPER)
+#define OS_ISLOWER(c) \
+(rtCtypeTable[(unsigned)(c)]&OS_CTYPE_LOWER)
+#define OS_ISDIGIT(c) \
+(rtCtypeTable[(unsigned)(c)]&OS_CTYPE_NUMBER)
+#define OS_ISXDIGIT(c) \
+(rtCtypeTable[(unsigned)(c)]&(OS_CTYPE_HEX|OS_CTYPE_NUMBER))
+#define OS_ISSPACE(c) \
+(rtCtypeTable[(unsigned)(c)]&OS_CTYPE_SPACE)
+#define OS_ISPUNCT(c) \
+(rtCtypeTable[(unsigned)(c)]&OS_CTYPE_PUNCT)
+#define OS_ISALNUM(c) \
+(rtCtypeTable[(unsigned)(c)]&(OS_CTYPE_UPPER|OS_CTYPE_LOWER|OS_CTYPE_NUMBER))
+#define OS_ISPRINT(c) \
+(rtCtypeTable[(unsigned)(c)]& \
+(OS_CTYPE_PUNCT|OS_CTYPE_UPPER|OS_CTYPE_LOWER|OS_CTYPE_NUMBER|OS_CTYPE_BLANK))
+#define OS_ISGRAPH(c) \
+(rtCtypeTable[(unsigned)(c)]& \
+(OS_CTYPE_PUNCT|OS_CTYPE_UPPER|OS_CTYPE_LOWER|OS_CTYPE_NUMBER))
+#define OS_ISCNTRL(c) \
+(rtCtypeTable[(unsigned)(c)]&OS_CTYPE_CTRL)
+
+#define OS_TOLOWER(c) (OS_ISUPPER(c) ? (c) - 'A' + 'a' : (c))
+#define OS_TOUPPER(c) (OS_ISLOWER(c) ? (c) - 'a' + 'A' : (c))
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef EXTERN
+#ifdef MAKE_DLL
+#define EXTERN __declspec(dllexport)
+#else
+#define EXTERN
+#endif /* MAKE_DLL */
+#endif /* EXTERN */
+/* ctype module table */
+
+extern EXTERN const ASN1OCTET rtCtypeTable[256];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RTCTYPE_H_ */
+