Lines Matching full:role
667 * Initialize the role table by implicitly adding role 'object_r'. If
675 role_datum_t *role;
677 role = calloc(1, sizeof(role_datum_t));
678 if (!role) {
688 rc = symtab_insert(p, SYM_ROLES, key, role,
691 &role->s.value);
694 if (role->s.value != OBJECT_R_VAL) {
704 free(role);
768 role_datum_t *role;
770 role = (role_datum_t *) datum;
773 ebitmap_destroy(&role->cache);
774 if (type_set_expand(&role->types, &role->cache, p, 1)) {
824 * of a class, role, or user are needed.
859 role_datum_t *role;
861 role = (role_datum_t *) datum;
863 if (!role->s.value || role->s.value > p->p_roles.nprim)
865 p->p_role_val_to_name[role->s.value - 1] = (char *)key;
866 p->role_val_to_struct[role->s.value - 1] = role;
1525 /* Further confine that a role attribute can't have the same
1526 * name as another regular role, and a role attribute can't
1612 int role_set_get_role(role_set_t * x, uint32_t role)
1617 if (ebitmap_get_bit(&x->roles, role - 1)) {
1852 c->role = le32_to_cpu(buf[1]);
2171 role_datum_t *role;
2176 role = calloc(1, sizeof(role_datum_t));
2177 if (!role)
2188 role->s.value = le32_to_cpu(buf[1]);
2190 role
2200 if (ebitmap_read(&role->dominates, fp))
2204 if (ebitmap_read(&role->types.types, fp))
2207 if (type_set_read(&role->types, fp))
2217 role->flavor = le32_to_cpu(buf[0]);
2219 if (ebitmap_read(&role->roles, fp))
2224 if (role->s.value != OBJECT_R_VAL) {
2225 ERR(fp->handle, "role %s has wrong value %d",
2226 OBJECT_R, role->s.value);
2227 role_destroy(key, role, NULL);
2230 role_destroy(key, role, NULL);
2234 if (hashtab_insert(h, key, role))
2240 role_destroy(key, role, NULL);
2364 tr->role = le32_to_cpu(buf[0]);
2404 ra->role = le32_to_cpu(buf[0]);