Home | History | Annotate | Download | only in src

Lines Matching full:capability

96 #define XATTR_CAPS_SUFFIX "capability"
352 static void v1_update(capng_act_t action, unsigned int capability, __u32 *data)
355 *data |= MASK(capability);
357 *data &= ~(MASK(capability));
360 static void update_effective(capng_act_t action, unsigned int capability,
364 m.data.v3[idx].effective |= MASK(capability);
366 m.data.v3[idx].effective &= ~(MASK(capability));
369 static void update_permitted(capng_act_t action, unsigned int capability,
373 m.data.v3[idx].permitted |= MASK(capability);
375 m.data.v3[idx].permitted &= ~(MASK(capability));
378 static void update_inheritable(capng_act_t action, unsigned int capability,
382 m.data.v3[idx].inheritable |= MASK(capability);
384 m.data.v3[idx].inheritable &= ~(MASK(capability));
387 static void update_bounding_set(capng_act_t action, unsigned int capability,
392 m.bounds[idx] |= MASK(capability);
394 m.bounds[idx] &= ~(MASK(capability));
398 int capng_update(capng_act_t action, capng_type_t type, unsigned int capability)
403 if (!cap_valid(capability)) {
410 v1_update(action, capability, &m.data.v1.effective);
412 v1_update(action, capability, &m.data.v1.permitted);
414 v1_update(action, capability, &m.data.v1.inheritable);
418 if (capability > 31) {
419 idx = capability>>5;
420 capability %= 32;
425 update_effective(action, capability, idx);
427 update_permitted(action, capability, idx);
429 update_inheritable(action, capability, idx);
431 update_bounding_set(action, capability, idx);
439 unsigned int capability, ...)
445 rc = capng_update(action, type, capability);
448 va_start(ap, capability);
743 static int check_effective(unsigned int capability, unsigned int idx)
745 return MASK(capability) & m.data.v3[idx].effective ? 1 : 0;
748 static int check_permitted(unsigned int capability, unsigned int idx)
750 return MASK(capability) & m.data.v3[idx].permitted ? 1 : 0;
753 static int check_inheritable(unsigned int capability, unsigned int idx)
755 return MASK(capability) & m.data.v3[idx].inheritable ? 1 : 0;
758 static int bounds_bit_check(unsigned int capability, unsigned int idx)
761 return MASK(capability) & m.bounds[idx] ? 1 : 0;
767 static int v1_check(unsigned int capability, __u32 data)
769 return MASK(capability) & data ? 1 : 0;
772 int capng_have_capability(capng_type_t which, unsigned int capability)
781 if (m.cap_ver == 1 && capability > 31)
783 if (!cap_valid(capability))
788 return v1_check(capability, m.data.v1.effective);
790 return v1_check(capability, m.data.v1.permitted);
792 return v1_check(capability, m.data.v1.inheritable);
796 if (capability > 31) {
797 idx = capability>>5;
798 capability %= 32;
803 return check_effective(capability, idx);
805 return check_permitted(capability, idx);
807 return check_inheritable(capability, idx);
809 return bounds_bit_check(capability, idx);