mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-05 02:34:18 +00:00
add enum helpers
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@245 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
parent
84da547692
commit
c0d9b613bd
@ -556,3 +556,6 @@ L3INT Q931AckRestart(Q931_TrunkInfo_t *pTrunk, L3UCHAR *buf)
|
|||||||
|
|
||||||
return RetCode;
|
return RetCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Q931_ENUM_NAMES(DIALECT_TYPE_NAMES, DIALECT_STRINGS)
|
||||||
|
Q931_STR2ENUM(q931_str2Q931Diaelct_type, q931_Q931Diaelct_type2str, Q931Dialect_t, DIALECT_TYPE_NAMES, Q931_Dialect_Count)
|
||||||
|
@ -114,7 +114,42 @@
|
|||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable:4100)
|
#pragma warning(disable:4100)
|
||||||
|
#ifndef strcasecmp
|
||||||
|
#define strcasecmp(s1, s2) _stricmp(s1, s2)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
|
||||||
|
Enum helper macros
|
||||||
|
|
||||||
|
*****************************************************************************/
|
||||||
|
#define Q931_ENUM_NAMES(_NAME, _STRINGS) static char * _NAME [] = { _STRINGS , NULL };
|
||||||
|
#define Q931_STR2ENUM_P(_FUNC1, _FUNC2, _TYPE) _TYPE _FUNC1 (char *name); char * _FUNC2 (_TYPE type);
|
||||||
|
#define Q931_STR2ENUM(_FUNC1, _FUNC2, _TYPE, _STRINGS, _MAX) \
|
||||||
|
_TYPE _FUNC1 (char *name) \
|
||||||
|
{ \
|
||||||
|
int i; \
|
||||||
|
_TYPE t = _MAX ; \
|
||||||
|
\
|
||||||
|
for (i = 0; i < _MAX ; i++) { \
|
||||||
|
if (!strcasecmp(name, _STRINGS[i])) { \
|
||||||
|
t = (_TYPE) i; \
|
||||||
|
break; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
return t; \
|
||||||
|
} \
|
||||||
|
char * _FUNC2 (_TYPE type) \
|
||||||
|
{ \
|
||||||
|
if (type > _MAX) { \
|
||||||
|
type = _MAX; \
|
||||||
|
} \
|
||||||
|
return _STRINGS[(int)type]; \
|
||||||
|
} \
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
||||||
@ -454,6 +489,8 @@ typedef enum /* Dialect enum */
|
|||||||
|
|
||||||
Q931_Dialect_Count
|
Q931_Dialect_Count
|
||||||
} Q931Dialect_t;
|
} Q931Dialect_t;
|
||||||
|
#define DIALECT_STRINGS "q931", "", "national"
|
||||||
|
Q931_STR2ENUM_P(q931_str2Q931Diaelct_type, q931_Q931Diaelct_type2str, Q931Dialect_t)
|
||||||
|
|
||||||
typedef enum /* Trunk Line Type. */
|
typedef enum /* Trunk Line Type. */
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user