Lines Matching defs:bitmap
615 cil_log(CIL_ERR, "Failed to expand type attribute to bitmap\n");
623 static int __cil_type_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
628 ebitmap_init(bitmap);
636 ebitmap_union(bitmap, attr->types);
640 if (ebitmap_set_bit(bitmap, type->value, 1)) {
642 ebitmap_destroy(bitmap);
647 if (ebitmap_set_bit(bitmap, type->value, 1)) {
649 ebitmap_destroy(bitmap);
667 cil_log(CIL_ERR, "Failed to expand user attribute to bitmap\n");
675 static int __cil_user_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
682 ebitmap_init(bitmap);
692 ebitmap_union(bitmap, attr->users);
695 if (ebitmap_set_bit(bitmap, user->value, 1)) {
697 ebitmap_destroy(bitmap);
715 cil_log(CIL_ERR, "Failed to expand role attribute to bitmap\n");
723 static int __cil_role_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
728 ebitmap_init(bitmap);
736 ebitmap_union(bitmap, attr->roles);
739 if (ebitmap_set_bit(bitmap, role->value, 1)) {
741 ebitmap_destroy(bitmap);
792 static int __cil_permx_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, __attribute__((unused)) struct cil_db *db)
797 ebitmap_init(bitmap);
804 if (ebitmap_set_bit(bitmap, (unsigned int)val, 1)) {
806 ebitmap_destroy(bitmap);
816 static int __cil_perm_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, __attribute__((unused)) struct cil_db *db)
821 ebitmap_init(bitmap);
822 if (ebitmap_set_bit(bitmap, value, 1)) {
824 ebitmap_destroy(bitmap);
834 ebitmap_t bitmap;
846 ebitmap_init(&bitmap);
847 rc = __cil_expr_to_bitmap(cats->datum_expr, &bitmap, db->num_cats, db);
849 cil_log(CIL_ERR, "Failed to expand category expression to bitmap\n");
850 ebitmap_destroy(&bitmap);
858 if (ebitmap_get_bit(&bitmap, cat->value)) {
863 ebitmap_destroy(&bitmap);
881 static int __cil_cat_to_bitmap(struct cil_symtab_datum *datum, ebitmap_t *bitmap, struct cil_db *db)
886 ebitmap_init(bitmap);
897 if (ebitmap_set_bit(bitmap, cat->value, 1)) {
899 ebitmap_destroy(bitmap);
906 if (ebitmap_set_bit(bitmap, cat->value, 1)) {
908 ebitmap_destroy(bitmap);
913 if (ebitmap_set_bit(bitmap, cat->value, 1)) {
915 ebitmap_destroy(bitmap);
926 static int __cil_cat_expr_range_to_bitmap_helper(struct cil_list_item *i1, struct cil_list_item *i2, ebitmap_t *bitmap)
953 if (ebitmap_set_bit(bitmap, i, 1)) {
955 ebitmap_destroy(bitmap);
966 static int __cil_permissionx_expr_range_to_bitmap_helper(struct cil_list_item *i1, struct cil_list_item *i2, ebitmap_t *bitmap)
986 if (ebitmap_set_bit(bitmap, i, 1)) {
988 ebitmap_destroy(bitmap);
999 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)
1006 rc = __cil_type_to_bitmap(curr->data, bitmap, db);
1009 rc = __cil_role_to_bitmap(curr->data, bitmap, db);
1012 rc = __cil_user_to_bitmap(curr->data, bitmap, db);
1015 rc = __cil_perm_to_bitmap(curr->data, bitmap, db);
1018 rc = __cil_cat_to_bitmap(curr->data, bitmap, db);
1025 ebitmap_init(bitmap);
1026 rc = __cil_expr_to_bitmap(l, bitmap, max, db);
1028 ebitmap_destroy(bitmap);
1033 rc = __cil_permx_to_bitmap(curr->data, bitmap, db);
1090 cil_log(CIL_INFO, "Failed to get first operand bitmap\n");
1098 cil_log(CIL_INFO, "Failed to NOT bitmap\n");
1105 cil_log(CIL_INFO, "Failed to get second operand bitmap\n");
1170 ebitmap_t bitmap;
1172 ebitmap_init(&bitmap);
1173 rc = __cil_expr_to_bitmap(l, &bitmap, max, db);
1175 cil_log(CIL_INFO, "Failed to expand expression list to bitmap\n");
1176 ebitmap_destroy(&bitmap);
1179 ebitmap_union(out, &bitmap);
1180 ebitmap_destroy(&bitmap);
1268 cil_log(CIL_INFO, "Failed to set bit in role types bitmap\n");
1275 cil_log(CIL_INFO, "Failed to set bit in role types bitmap\n");
1365 cil_log(CIL_INFO, "Failed to set bit in user roles bitmap\n");
1700 ebitmap_t bitmap;
1706 ebitmap_init(&bitmap);
1707 rc = __cil_expr_to_bitmap(perms, &bitmap, num_perms, db);
1709 ebitmap_destroy(&bitmap);
1716 args.perms = &bitmap;
1725 ebitmap_destroy(&bitmap);