#define CAPABILITY_QUINTET_NULL { CAP_MASK_UNSET, CAP_MASK_UNSET, CAP_MASK_UNSET, CAP_MASK_UNSET, CAP_MASK_UNSET }
+static inline bool capability_is_set(uint64_t v) {
+ return v != CAP_MASK_UNSET;
+}
+
static inline bool capability_quintet_is_set(const CapabilityQuintet *q) {
- return q->effective != CAP_MASK_UNSET ||
- q->bounding != CAP_MASK_UNSET ||
- q->inheritable != CAP_MASK_UNSET ||
- q->permitted != CAP_MASK_UNSET ||
- q->ambient != CAP_MASK_UNSET;
+ return capability_is_set(q->effective) ||
+ capability_is_set(q->bounding) ||
+ capability_is_set(q->inheritable) ||
+ capability_is_set(q->permitted) ||
+ capability_is_set(q->ambient);
}
/* Mangles the specified caps quintet taking the current bounding set into account: