mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-09 13:30:20 +01:00
utils: add NM_FLAGS_SET(), NM_FLAGS_UNSET() and NM_FLAGS_ASSIGN() macros
(cherry picked from commit 57958b93b6)
This commit is contained in:
parent
1d3c143948
commit
baf5f63374
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