Lines Matching defs:bitmap
867 cil_log(CIL_ERR, "Failed to expand type attribute to bitmap\n");
875 static int __cil_type_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
880 ebitmap_init(bitmap);
888 ebitmap_union(bitmap, attr->types);
892 if (ebitmap_set_bit(bitmap, type->value, 1)) {
894 ebitmap_destroy(bitmap);
899 if (ebitmap_set_bit(bitmap, type->value, 1)) {
901 ebitmap_destroy(bitmap);
919 cil_log(CIL_ERR, "Failed to expand user attribute to bitmap\n");
927 static int __cil_user_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
934 ebitmap_init(bitmap);
944 ebitmap_union(bitmap, attr->users);
947 if (ebitmap_set_bit(bitmap, user->value, 1)) {
949 ebitmap_destroy(bitmap);
967 cil_log(CIL_ERR, "Failed to expand role attribute to bitmap\n");
975 static int __cil_role_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
980 ebitmap_init(bitmap);
988 ebitmap_union(bitmap, attr->roles);
991 if (ebitmap_set_bit(bitmap, role->value, 1)) {
993 ebitmap_destroy(bitmap);
1044 static int __cil_permx_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, __attribute__((unused)) struct cil_db *db)
1054 ebitmap_init(bitmap);
1055 if (ebitmap_set_bit(bitmap, (unsigned int)val, 1)) {
1057 ebitmap_destroy(bitmap);
1067 static int __cil_perm_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, __attribute__((unused)) struct cil_db *db)
1072 ebitmap_init(bitmap);
1073 if (ebitmap_set_bit(bitmap, value, 1)) {
1075 ebitmap_destroy(bitmap);
1085 ebitmap_t bitmap;
1097 ebitmap_init(&bitmap);
1098 rc = __cil_expr_to_bitmap(cats->datum_expr, &bitmap, db->num_cats, db);
1100 cil_log(CIL_ERR, "Failed to expand category expression to bitmap\n");
1101 ebitmap_destroy(&bitmap);
1109 if (ebitmap_get_bit(&bitmap, cat->value)) {
1114 ebitmap_destroy(&bitmap);
1126 static int __cil_cat_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
1131 ebitmap_init(bitmap);
1142 if (ebitmap_set_bit(bitmap, cat->value, 1)) {
1144 ebitmap_destroy(bitmap);
1151 if (ebitmap_set_bit(bitmap, cat->value, 1)) {
1153 ebitmap_destroy(bitmap);
1158 if (ebitmap_set_bit(bitmap, cat->value, 1)) {
1160 ebitmap_destroy(bitmap);
1171 static int __cil_cat_expr_range_to_bitmap_helper(struct cil_list_item *i1, struct cil_list_item *i2, ebitmap_t *bitmap)
1203 if (ebitmap_set_bit(bitmap, i, 1)) {
1205 ebitmap_destroy(bitmap);
1216 static int __cil_permissionx_expr_range_to_bitmap_helper(struct cil_list_item *i1, struct cil_list_item *i2, ebitmap_t *bitmap)
1236 if (ebitmap_set_bit(bitmap, i, 1)) {
1238 ebitmap_destroy(bitmap);
1249 static int __cil_expr_to_bitmap_helper(struct cil_list_item *curr, enum cil_flavor flavor, ebitmap_t *bitmap, int max, struct cil_db *db)
1256 rc = __cil_type_to_bitmap(curr->data, bitmap, db);
1259 rc = __cil_role_to_bitmap(curr->data, bitmap, db);
1262 rc = __cil_user_to_bitmap(curr->data, bitmap, db);
1265 bitmap, db);
1268 rc = __cil_cat_to_bitmap(curr->data, bitmap, db);
1275 ebitmap_init(bitmap);
1276 rc = __cil_expr_to_bitmap(l, bitmap, max, db);
1278 ebitmap_destroy(bitmap);
1283 rc = __cil_permx_to_bitmap(curr->data, bitmap, db);
1340 cil_log(CIL_INFO, "Failed to get first operand bitmap\n");
1348 cil_log(CIL_INFO, "Failed to NOT bitmap\n");
1355 cil_log(CIL_INFO, "Failed to get second operand bitmap\n");
1421 ebitmap_t bitmap;
1423 ebitmap_init(&bitmap);
1424 rc = __cil_expr_to_bitmap(l, &bitmap, max, db);
1426 cil_log(CIL_INFO, "Failed to expand expression list to bitmap\n");
1427 ebitmap_destroy(&bitmap);
1430 ebitmap_union(out, &bitmap);
1431 ebitmap_destroy(&bitmap);
1608 cil_log(CIL_INFO, "Failed to set bit in role types bitmap\n");
1615 cil_log(CIL_INFO, "Failed to set bit in role types bitmap\n");
1705 cil_log(CIL_INFO, "Failed to set bit in user roles bitmap\n");
2056 ebitmap_t bitmap;
2062 ebitmap_init(&bitmap);
2063 rc = __cil_expr_to_bitmap(perms, &bitmap, num_perms, db);
2065 ebitmap_destroy(&bitmap);
2072 args.perms = &bitmap;
2081 ebitmap_destroy(&bitmap);