mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-04 10:40:58 +01:00
utils: add NM_FLAGS_SET(), NM_FLAGS_UNSET() and NM_FLAGS_ASSIGN() macros
This commit is contained in:
parent
fe3e1849b7
commit
57958b93b6
1 changed files with 23 additions and 0 deletions
|
|
@ -189,6 +189,29 @@ nm_clear_g_source (guint *id)
|
|||
#define NM_FLAGS_ANY(flags, check) ( ( ((flags) & (check)) != 0 ) ? TRUE : FALSE )
|
||||
#define NM_FLAGS_ALL(flags, check) ( ( ((flags) & (check)) == (check) ) ? TRUE : FALSE )
|
||||
|
||||
#define NM_FLAGS_SET(flags, val) ({ \
|
||||
const typeof(flags) _flags = (flags); \
|
||||
const typeof(flags) _val = (val); \
|
||||
\
|
||||
_flags | _val; \
|
||||
})
|
||||
|
||||
#define NM_FLAGS_UNSET(flags, val) ({ \
|
||||
const typeof(flags) _flags = (flags); \
|
||||
const typeof(flags) _val = (val); \
|
||||
\
|
||||
_flags & (~_val); \
|
||||
})
|
||||
|
||||
#define NM_FLAGS_ASSIGN(flags, val, assign) ({ \
|
||||
const typeof(flags) _flags = (flags); \
|
||||
const typeof(flags) _val = (val); \
|
||||
\
|
||||
(assign) \
|
||||
? _flags | (_val) \
|
||||
: _flags & (~_val); \
|
||||
})
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#endif /* __NM_MACROS_INTERNAL_H__ */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue