提交 92147a7f authored 作者: Michael Jerris's avatar Michael Jerris

move PFLAGS to be array based

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11755 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 cf4b7672
...@@ -141,38 +141,40 @@ typedef enum { ...@@ -141,38 +141,40 @@ typedef enum {
} MFLAGS; } MFLAGS;
typedef enum { typedef enum {
PFLAG_AUTH_CALLS = (1 << 0), PFLAG_AUTH_CALLS,
PFLAG_BLIND_REG = (1 << 1), PFLAG_BLIND_REG,
PFLAG_AUTH_ALL = (1 << 2), PFLAG_AUTH_ALL,
PFLAG_FULL_ID = (1 << 3), PFLAG_FULL_ID,
PFLAG_MULTIREG_CONTACT = (1 << 4), PFLAG_MULTIREG_CONTACT,
PFLAG_PASS_RFC2833 = (1 << 5), PFLAG_PASS_RFC2833,
PFLAG_DISABLE_TRANSCODING = (1 << 6), PFLAG_DISABLE_TRANSCODING,
PFLAG_REWRITE_TIMESTAMPS = (1 << 7), PFLAG_REWRITE_TIMESTAMPS,
PFLAG_RUNNING = (1 << 8), PFLAG_RUNNING,
PFLAG_RESPAWN = (1 << 9), PFLAG_RESPAWN,
PFLAG_GREEDY = (1 << 10), PFLAG_GREEDY,
PFLAG_MULTIREG = (1 << 11), PFLAG_MULTIREG,
PFLAG_SUPPRESS_CNG = (1 << 12), PFLAG_SUPPRESS_CNG,
PFLAG_TLS = (1 << 13), PFLAG_TLS,
PFLAG_CHECKUSER = (1 << 14), PFLAG_CHECKUSER,
PFLAG_SECURE = (1 << 15), PFLAG_SECURE,
PFLAG_BLIND_AUTH = (1 << 16), PFLAG_BLIND_AUTH,
PFLAG_WORKER_RUNNING = (1 << 17), PFLAG_WORKER_RUNNING,
PFLAG_UNREG_OPTIONS_FAIL = (1 << 18), PFLAG_UNREG_OPTIONS_FAIL,
PFLAG_DISABLE_TIMER = (1 << 19), PFLAG_DISABLE_TIMER,
PFLAG_DISABLE_100REL = (1 << 20), PFLAG_DISABLE_100REL,
PFLAG_AGGRESSIVE_NAT_DETECTION = (1 << 21), PFLAG_AGGRESSIVE_NAT_DETECTION,
PFLAG_RECIEVED_IN_NAT_REG_CONTACT = (1 << 22), PFLAG_RECIEVED_IN_NAT_REG_CONTACT,
PFLAG_3PCC = (1 << 23), PFLAG_3PCC,
PFLAG_DISABLE_RTP_AUTOADJ = (1 << 24), PFLAG_DISABLE_RTP_AUTOADJ,
PFLAG_DISABLE_SRTP_AUTH = (1 << 25), PFLAG_DISABLE_SRTP_AUTH,
PFLAG_FUNNY_STUN = (1 << 26), PFLAG_FUNNY_STUN,
PFLAG_STUN_ENABLED = (1 << 27), PFLAG_STUN_ENABLED,
PFLAG_STUN_AUTO_DISABLE = (1 << 28), PFLAG_STUN_AUTO_DISABLE,
PFLAG_3PCC_PROXY = (1 << 29), PFLAG_3PCC_PROXY,
PFLAG_CALLID_AS_UUID = (1 << 30), PFLAG_CALLID_AS_UUID,
PFLAG_UUID_AS_CALLID = (1 << 31) PFLAG_UUID_AS_CALLID,
PFLAG_MAX
} PFLAGS; } PFLAGS;
typedef enum { typedef enum {
...@@ -398,7 +400,7 @@ struct sofia_profile { ...@@ -398,7 +400,7 @@ struct sofia_profile {
int running; int running;
int dtmf_duration; int dtmf_duration;
unsigned int flags; unsigned int flags;
unsigned int pflags; uint8_t pflags[PFLAG_MAX];
unsigned int mflags; unsigned int mflags;
unsigned int ndlb; unsigned int ndlb;
uint32_t max_calls; uint32_t max_calls;
...@@ -585,15 +587,15 @@ typedef enum { ...@@ -585,15 +587,15 @@ typedef enum {
AUTH_STALE, AUTH_STALE,
} auth_res_t; } auth_res_t;
#define sofia_test_pflag(obj, flag) ((obj)->pflags & flag)
#define sofia_set_pflag(obj, flag) (obj)->pflags |= (flag) #define sofia_test_pflag(obj, flag) ((obj)->pflags[flag] ? 1 : 0)
#define sofia_set_pflag(obj, flag) (obj)->pflags[flag] = 1
#define sofia_set_pflag_locked(obj, flag) assert(obj->flag_mutex != NULL);\ #define sofia_set_pflag_locked(obj, flag) assert(obj->flag_mutex != NULL);\
switch_mutex_lock(obj->flag_mutex);\ switch_mutex_lock(obj->flag_mutex);\
(obj)->pflags |= (flag);\ (obj)->pflags[flag] = 1;\
switch_mutex_unlock(obj->flag_mutex); switch_mutex_unlock(obj->flag_mutex);
#define sofia_clear_pflag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->pflags &= ~(flag); switch_mutex_unlock(obj->flag_mutex); #define sofia_clear_pflag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->pflags[flag] = 0; switch_mutex_unlock(obj->flag_mutex);
#define sofia_clear_pflag(obj, flag) (obj)->pflags &= ~(flag) #define sofia_clear_pflag(obj, flag) (obj)->pflags[flag] = 0
#define sofia_copy_pflags(dest, src, flags) (dest)->pflags &= ~(flags); (dest)->pflags |= ((src)->pflags & (flags))
#define sofia_set_flag_locked(obj, flag) switch_set_flag_locked(obj, flag) #define sofia_set_flag_locked(obj, flag) switch_set_flag_locked(obj, flag)
#define sofia_set_flag(obj, flag) switch_set_flag(obj, flag) #define sofia_set_flag(obj, flag) switch_set_flag(obj, flag)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论