More flagification, courtesy drumkilla (bug #3280)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2005-01-10 14:46:59 +00:00
parent e7cb975021
commit 92eb0c2018
13 changed files with 168 additions and 145 deletions

View File

@@ -82,6 +82,33 @@ extern unsigned int __unsigned_int_flags_dummy;
(p)->flags &= ~(flag); \
} while (0)
/* Non-type checking variations for non-unsigned int flags. You
should only use non-unsigned int flags where required by
protocol etc and if you know what you're doing :) */
#define ast_test_flag_nonstd(p,flag) ({ \
((p)->flags & (flag)); \
})
#define ast_set_flag_nonstd(p,flag) do { \
((p)->flags |= (flag)); \
} while(0)
#define ast_clear_flag_nonstd(p,flag) do { \
((p)->flags &= ~(flag)); \
} while(0)
#define ast_copy_flags_nonstd(dest,src,flagz) do { \
(dest)->flags &= ~(flagz); \
(dest)->flags |= ((src)->flags & (flagz)); \
} while (0)
#define ast_set2_flag_nonstd(p,value,flag) do { \
if (value) \
(p)->flags |= (flag); \
else \
(p)->flags &= ~(flag); \
} while (0)
#define AST_FLAGS_ALL UINT_MAX
struct ast_flags {