• Home
  • Raw
  • Download

Lines Matching full:out

22  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
54 static void write_expr(FILE *out, struct cil_list *expr) in write_expr() argument
59 fprintf(out, "("); in write_expr()
62 fprintf(out, " "); in write_expr()
67 write_expr(out, curr->data); in write_expr()
70 fprintf(out, "%s", (char *)curr->data); in write_expr()
82 fprintf(out, "%s", datum_to_str(curr->data)); in write_expr()
125 fprintf(out, "%s", op_str); in write_expr()
175 fprintf(out, "%s", operand_str); in write_expr()
179 fprintf(out, "<?FLAVOR>"); in write_expr()
183 fprintf(out, ")"); in write_expr()
186 static void write_node_list(FILE *out, struct cil_tree_node *current) in write_node_list() argument
190 fprintf(out, "("); in write_node_list()
193 fprintf(out, " "); in write_node_list()
197 fprintf(out, "%s", datum_to_str(current->data)); in write_node_list()
200 fprintf(out, ")"); in write_node_list()
203 static void write_string_list(FILE *out, struct cil_list *list) in write_string_list() argument
209 fprintf(out, "()"); in write_string_list()
213 fprintf(out, "("); in write_string_list()
216 fprintf(out, " "); in write_string_list()
219 fprintf(out, "%s", (char*)curr->data); in write_string_list()
221 fprintf(out, ")"); in write_string_list()
224 static void write_datum_list(FILE *out, struct cil_list *list) in write_datum_list() argument
230 fprintf(out, "()"); in write_datum_list()
234 fprintf(out, "("); in write_datum_list()
237 fprintf(out, " "); in write_datum_list()
240 fprintf(out, "%s", datum_to_str(curr->data)); in write_datum_list()
242 fprintf(out, ")"); in write_datum_list()
245 static void write_classperms(FILE *out, struct cil_classperms *cp) in write_classperms() argument
248 fprintf(out, "()"); in write_classperms()
252 fprintf(out, "(%s ", datum_or_str(DATUM(cp->class), cp->class_str)); in write_classperms()
254 write_expr(out, cp->perms); in write_classperms()
256 write_expr(out, cp->perm_strs); in write_classperms()
257 fprintf(out, ")"); in write_classperms()
260 static void write_classperms_list(FILE *out, struct cil_list *cp_list) in write_classperms_list() argument
267 fprintf(out, "()"); in write_classperms_list()
275 fprintf(out, "("); in write_classperms_list()
278 fprintf(out, " "); in write_classperms_list()
282 write_classperms(out, curr->data); in write_classperms_list()
288 fprintf(out, "%s", datum_to_str(DATUM(cp))); in write_classperms_list()
290 write_classperms_list(out,cp->classperms); in write_classperms_list()
292 fprintf(out, "%s", cp_set->set_str); in write_classperms_list()
297 fprintf(out, ")"); in write_classperms_list()
300 static void write_permx(FILE *out, struct cil_permissionx *permx) in write_permx() argument
303 fprintf(out, "%s", datum_to_str(DATUM(permx))); in write_permx()
305 fprintf(out, "("); in write_permx()
306 fprintf(out, "%s ", permx->kind == CIL_PERMX_KIND_IOCTL ? "ioctl" : "<?KIND>"); in write_permx()
307 fprintf(out, "%s ", datum_or_str(DATUM(permx->obj), permx->obj_str)); in write_permx()
308 write_expr(out, permx->expr_str); in write_permx()
309 fprintf(out, ")"); in write_permx()
313 static void write_cats(FILE *out, struct cil_cats *cats) in write_cats() argument
316 write_expr(out, cats->datum_expr); in write_cats()
318 write_expr(out, cats->str_expr); in write_cats()
322 static void write_level(FILE *out, struct cil_level *level, int print_name) in write_level() argument
325 fprintf(out, "%s", datum_to_str(DATUM(level))); in write_level()
327 fprintf(out, "("); in write_level()
328 fprintf(out, "%s", datum_or_str(DATUM(level->sens), level->sens_str)); in write_level()
330 fprintf(out, " "); in write_level()
331 write_cats(out, level->cats); in write_level()
333 fprintf(out, ")"); in write_level()
337 static void write_range(FILE *out, struct cil_levelrange *range, int print_name) in write_range() argument
340 fprintf(out, "%s", datum_to_str(DATUM(range))); in write_range()
342 fprintf(out, "("); in write_range()
344 write_level(out, range->low, CIL_TRUE); in write_range()
346 fprintf(out, "%s", range->low_str); in write_range()
347 fprintf(out, " "); in write_range()
349 write_level(out, range->high, CIL_TRUE); in write_range()
351 fprintf(out, "%s", range->high_str); in write_range()
352 fprintf(out, ")"); in write_range()
356 static void write_context(FILE *out, struct cil_context *context, int print_name) in write_context() argument
359 fprintf(out, "%s", datum_to_str(DATUM(context))); in write_context()
361 fprintf(out, "("); in write_context()
362 fprintf(out, "%s ", datum_or_str(DATUM(context->user), context->user_str)); in write_context()
363 fprintf(out, "%s ", datum_or_str(DATUM(context->role), context->role_str)); in write_context()
364 fprintf(out, "%s ", datum_or_str(DATUM(context->type), context->type_str)); in write_context()
366 write_range(out, context->range, CIL_TRUE); in write_context()
368 fprintf(out, "%s", context->range_str); in write_context()
369 fprintf(out, ")"); in write_context()
373 static void write_ipaddr(FILE *out, struct cil_ipaddr *ipaddr) in write_ipaddr() argument
376 fprintf(out, "%s", datum_to_str(DATUM(ipaddr))); in write_ipaddr()
381 fprintf(out, "(%s)", buf); in write_ipaddr()
385 static void write_constrain(FILE *out, struct cil_constrain *cons) in write_constrain() argument
387 write_classperms_list(out, cons->classperms); in write_constrain()
388 fprintf(out, " "); in write_constrain()
390 write_expr(out, cons->datum_expr); in write_constrain()
392 write_expr(out, cons->str_expr); in write_constrain()
395 static void write_call_args(FILE *out, struct cil_list *args) in write_call_args() argument
400 fprintf(out, "("); in write_call_args()
405 fprintf(out, " "); in write_call_args()
418 fprintf(out, "%s", datum_or_str(arg->arg, arg->arg_str)); in write_call_args()
424 write_cats(out, catset->cats); in write_call_args()
426 fprintf(out, "%s", arg->arg_str); in write_call_args()
433 write_level(out, level, CIL_TRUE); in write_call_args()
435 fprintf(out, "%s", arg->arg_str); in write_call_args()
442 write_range(out, range, CIL_TRUE); in write_call_args()
444 fprintf(out, "%s", arg->arg_str); in write_call_args()
451 write_ipaddr(out, addr); in write_call_args()
453 fprintf(out, "%s", arg->arg_str); in write_call_args()
461 fprintf(out, "%s", datum_to_str(DATUM(cp))); in write_call_args()
463 write_classperms_list(out, cp->classperms); in write_call_args()
465 fprintf(out, "%s", arg->arg_str); in write_call_args()
470 fprintf(out, "<?ARG:%s>", datum_or_str(arg->arg, arg->arg_str)); in write_call_args()
474 fprintf(out, ")"); in write_call_args()
477 static void write_call_args_tree(FILE *out, struct cil_tree_node *arg_node) in write_call_args_tree() argument
481 fprintf(out, "%s", (char *)arg_node->data); in write_call_args_tree()
483 fprintf(out, "("); in write_call_args_tree()
484 write_call_args_tree(out, arg_node->cl_head); in write_call_args_tree()
485 fprintf(out, ")"); in write_call_args_tree()
488 fprintf(out, " "); in write_call_args_tree()
550 static void cil_write_src_info_node(FILE *out, struct cil_tree_node *node)
554 fprintf(out, ";;* lms %u %s\n", info->hll_line, info->path);
556 fprintf(out, ";;* lmx %u %s\n", info->hll_line, info->path);
558 fprintf(out, ";;* <?SRC_INFO_KIND> %u %s\n", info->hll_line, info->path);
563 void cil_write_ast_node(FILE *out, struct cil_tree_node *node) in cil_write_ast_node() argument
571 fprintf(out, "%s\n", (char *)node->data); in cil_write_ast_node()
576 fprintf(out, "(block %s", datum_to_str(DATUM(block))); in cil_write_ast_node()
578 fprintf(out, ")"); in cil_write_ast_node()
579 fprintf(out, "\n"); in cil_write_ast_node()
584 fprintf(out, "(blockinherit %s)\n", datum_or_str(DATUM(inherit->block), inherit->block_str)); in cil_write_ast_node()
589 fprintf(out, "(in %s", in->block_str); in cil_write_ast_node()
591 fprintf(out, ")"); in cil_write_ast_node()
592 fprintf(out, "\n"); in cil_write_ast_node()
597 fprintf(out, "(optional %s", datum_to_str(DATUM(optional))); in cil_write_ast_node()
599 fprintf(out, ")"); in cil_write_ast_node()
600 fprintf(out, "\n"); in cil_write_ast_node()
605 fprintf(out, "(booleanif "); in cil_write_ast_node()
607 write_expr(out, bif->datum_expr); in cil_write_ast_node()
609 write_expr(out, bif->str_expr); in cil_write_ast_node()
611 fprintf(out, ")"); in cil_write_ast_node()
612 fprintf(out, "\n"); in cil_write_ast_node()
617 fprintf(out, "(tunableif "); in cil_write_ast_node()
619 write_expr(out, tif->datum_expr); in cil_write_ast_node()
621 write_expr(out, tif->str_expr); in cil_write_ast_node()
623 fprintf(out, ")"); in cil_write_ast_node()
624 fprintf(out, "\n"); in cil_write_ast_node()
629 fprintf(out, "(%s", cb->flavor == CIL_CONDTRUE ? "true" : "false"); in cil_write_ast_node()
631 fprintf(out, ")"); in cil_write_ast_node()
632 fprintf(out, "\n"); in cil_write_ast_node()
638 fprintf(out, "(macro %s (", datum_to_str(DATUM(macro))); in cil_write_ast_node()
642 fprintf(out, "(%s %s)", macro_param_flavor_to_string(param->flavor), param->str); in cil_write_ast_node()
645 fprintf(out, ")"); in cil_write_ast_node()
647 fprintf(out, ")"); in cil_write_ast_node()
648 fprintf(out, "\n"); in cil_write_ast_node()
653 fprintf(out, "(call %s", datum_or_str(DATUM(call->macro), call->macro_str)); in cil_write_ast_node()
655 fprintf(out, " "); in cil_write_ast_node()
656 write_call_args(out, call->args); in cil_write_ast_node()
658 fprintf(out, " "); in cil_write_ast_node()
659 write_call_args_tree(out, call->args_tree->root); in cil_write_ast_node()
662 fprintf(out, ")"); in cil_write_ast_node()
663 fprintf(out, "\n"); in cil_write_ast_node()
668 fprintf(out, "(blockabstract %s)\n", abstract->block_str); in cil_write_ast_node()
673 fprintf(out, "(mls %s)\n", mls->value ? "true" : "false"); in cil_write_ast_node()
678 fprintf(out, "(handleunknown "); in cil_write_ast_node()
680 fprintf(out, "%s", CIL_KEY_HANDLEUNKNOWN_ALLOW); in cil_write_ast_node()
682 fprintf(out, "%s", CIL_KEY_HANDLEUNKNOWN_DENY); in cil_write_ast_node()
684 fprintf(out, "%s", CIL_KEY_HANDLEUNKNOWN_REJECT); in cil_write_ast_node()
686 fprintf(out, "<?UNKNOWN>"); in cil_write_ast_node()
687 fprintf(out, ")\n"); in cil_write_ast_node()
692 fprintf(out, "(defaultuser "); in cil_write_ast_node()
694 write_datum_list(out, def->class_datums); in cil_write_ast_node()
696 write_string_list(out, def->class_strs); in cil_write_ast_node()
698 fprintf(out, " source"); in cil_write_ast_node()
700 fprintf(out, " target"); in cil_write_ast_node()
702 fprintf(out, " <?DEFAULT>"); in cil_write_ast_node()
703 fprintf(out, ")\n"); in cil_write_ast_node()
708 fprintf(out, "(defaultrole "); in cil_write_ast_node()
710 write_datum_list(out, def->class_datums); in cil_write_ast_node()
712 write_string_list(out, def->class_strs); in cil_write_ast_node()
714 fprintf(out, " source"); in cil_write_ast_node()
716 fprintf(out, " target"); in cil_write_ast_node()
718 fprintf(out, " <?DEFAULT>"); in cil_write_ast_node()
719 fprintf(out, ")\n"); in cil_write_ast_node()
724 fprintf(out, "(defaulttype "); in cil_write_ast_node()
726 write_datum_list(out, def->class_datums); in cil_write_ast_node()
728 write_string_list(out, def->class_strs); in cil_write_ast_node()
730 fprintf(out, " source"); in cil_write_ast_node()
732 fprintf(out, " target"); in cil_write_ast_node()
734 fprintf(out, " <?DEFAULT>"); in cil_write_ast_node()
735 fprintf(out, ")\n"); in cil_write_ast_node()
740 fprintf(out, "(defaultrange "); in cil_write_ast_node()
742 write_datum_list(out, def->class_datums); in cil_write_ast_node()
744 write_string_list(out, def->class_strs); in cil_write_ast_node()
746 fprintf(out, " source low"); in cil_write_ast_node()
748 fprintf(out, " source high"); in cil_write_ast_node()
750 fprintf(out, " source low-high"); in cil_write_ast_node()
752 fprintf(out, " target low"); in cil_write_ast_node()
754 fprintf(out, " target high"); in cil_write_ast_node()
756 fprintf(out, " target low-high"); in cil_write_ast_node()
758 fprintf(out, " <?DEFAULT>"); in cil_write_ast_node()
759 fprintf(out, ")\n"); in cil_write_ast_node()
764 fprintf(out, "(class %s ", datum_to_str(DATUM(class))); in cil_write_ast_node()
765 write_node_list(out, node->cl_head); in cil_write_ast_node()
766 fprintf(out, ")\n"); in cil_write_ast_node()
771 fprintf(out, "(classorder "); in cil_write_ast_node()
772 write_string_list(out, classorder->class_list_str); in cil_write_ast_node()
773 fprintf(out, ")\n"); in cil_write_ast_node()
778 fprintf(out, "(common %s ", datum_to_str(DATUM(common))); in cil_write_ast_node()
779 write_node_list(out, node->cl_head); in cil_write_ast_node()
780 fprintf(out, ")\n"); in cil_write_ast_node()
785 fprintf(out, "(classcommon %s %s)\n", cc->class_str, cc->common_str); in cil_write_ast_node()
790 fprintf(out, "(classpermission %s)\n", datum_to_str(DATUM(cp))); in cil_write_ast_node()
795 fprintf(out, "(classpermissionset %s ", cps->set_str); in cil_write_ast_node()
796 write_classperms_list(out, cps->classperms); in cil_write_ast_node()
797 fprintf(out, ")\n"); in cil_write_ast_node()
802 fprintf(out, "(classmap %s ", datum_to_str(DATUM(map))); in cil_write_ast_node()
803 write_node_list(out, node->cl_head); in cil_write_ast_node()
804 fprintf(out, ")\n"); in cil_write_ast_node()
809 fprintf(out, "(classmapping %s %s ", mapping->map_class_str, mapping->map_perm_str); in cil_write_ast_node()
810 write_classperms_list(out, mapping->classperms); in cil_write_ast_node()
811 fprintf(out, ")\n"); in cil_write_ast_node()
816 fprintf(out, "(permissionx %s (", datum_to_str(DATUM(permx))); in cil_write_ast_node()
817 fprintf(out, "%s ", permx->kind == CIL_PERMX_KIND_IOCTL ? "ioctl" : "<?KIND>"); in cil_write_ast_node()
818 fprintf(out, "%s ", datum_or_str(DATUM(permx->obj), permx->obj_str)); in cil_write_ast_node()
819 write_expr(out, permx->expr_str); in cil_write_ast_node()
820 fprintf(out, "))\n"); in cil_write_ast_node()
825 fprintf(out, "(sid %s)\n", datum_to_str(DATUM(sid))); in cil_write_ast_node()
830 fprintf(out, "(sidcontext %s ", sidcon->sid_str); in cil_write_ast_node()
832 write_context(out, sidcon->context, CIL_TRUE); in cil_write_ast_node()
834 fprintf(out, "%s", sidcon->context_str); in cil_write_ast_node()
835 fprintf(out, ")\n"); in cil_write_ast_node()
840 fprintf(out, "(sidorder "); in cil_write_ast_node()
841 write_string_list(out, sidorder->sid_list_str); in cil_write_ast_node()
842 fprintf(out, ")\n"); in cil_write_ast_node()
847 …fprintf(out, "(boolean %s %s)\n", datum_to_str(DATUM(boolean)), boolean->value ? "true" : "false"); in cil_write_ast_node()
852 …fprintf(out, "(tunable %s %s)\n", datum_to_str(DATUM(tunable)), tunable->value ? "true" : "false"); in cil_write_ast_node()
857 fprintf(out, "(sensitivity %s)\n", datum_to_str(DATUM(sens))); in cil_write_ast_node()
862 fprintf(out, "(sensitivityalias %s)\n", datum_to_str(DATUM(alias))); in cil_write_ast_node()
867 fprintf(out, "(sensitivityaliasactual %s %s)\n", aliasactual->alias_str, aliasactual->actual_str); in cil_write_ast_node()
872 fprintf(out, "(category %s)\n", datum_to_str(DATUM(cat))); in cil_write_ast_node()
877 fprintf(out, "(categoryalias %s)\n", datum_to_str(DATUM(alias))); in cil_write_ast_node()
882 fprintf(out, "(categoryaliasactual %s %s)\n", aliasactual->alias_str, aliasactual->actual_str); in cil_write_ast_node()
887 fprintf(out, "(categoryset %s ", datum_to_str(DATUM(catset))); in cil_write_ast_node()
888 write_cats(out, catset->cats); in cil_write_ast_node()
889 fprintf(out, ")\n"); in cil_write_ast_node()
894 fprintf(out, "(categoryorder "); in cil_write_ast_node()
895 write_string_list(out, catorder->cat_list_str); in cil_write_ast_node()
896 fprintf(out, ")\n"); in cil_write_ast_node()
901 fprintf(out, "(sensitivitycategory "); in cil_write_ast_node()
902 fprintf(out, "%s ", senscat->sens_str); in cil_write_ast_node()
903 write_cats(out, senscat->cats); in cil_write_ast_node()
904 fprintf(out, ")\n"); in cil_write_ast_node()
909 fprintf(out, "(sensitivityorder "); in cil_write_ast_node()
910 write_string_list(out, sensorder->sens_list_str); in cil_write_ast_node()
911 fprintf(out, ")\n"); in cil_write_ast_node()
916 fprintf(out, "(level %s ", datum_to_str(&level->datum)); in cil_write_ast_node()
917 write_level(out, level, CIL_FALSE); in cil_write_ast_node()
918 fprintf(out, ")\n"); in cil_write_ast_node()
923 fprintf(out, "(levelrange %s ", datum_to_str(DATUM(lvlrange))); in cil_write_ast_node()
924 write_range(out, lvlrange, CIL_FALSE); in cil_write_ast_node()
925 fprintf(out, ")\n"); in cil_write_ast_node()
930 fprintf(out, "(user %s)\n", datum_to_str(DATUM(user))); in cil_write_ast_node()
935 fprintf(out, "(userattribute %s)\n", datum_to_str(DATUM(attr))); in cil_write_ast_node()
940 fprintf(out, "(userattributeset %s ", attr->attr_str); in cil_write_ast_node()
942 write_expr(out, attr->datum_expr); in cil_write_ast_node()
944 write_expr(out, attr->str_expr); in cil_write_ast_node()
945 fprintf(out, ")\n"); in cil_write_ast_node()
950 fprintf(out, "(userrole "); in cil_write_ast_node()
951 fprintf(out, "%s ", datum_or_str(userrole->user, userrole->user_str)); in cil_write_ast_node()
952 fprintf(out, "%s", datum_or_str(userrole->role, userrole->role_str)); in cil_write_ast_node()
953 fprintf(out, ")\n"); in cil_write_ast_node()
958 fprintf(out, "(userlevel %s ", userlevel->user_str); in cil_write_ast_node()
960 write_level(out, userlevel->level, CIL_TRUE); in cil_write_ast_node()
962 fprintf(out, "%s", userlevel->level_str); in cil_write_ast_node()
963 fprintf(out, ")\n"); in cil_write_ast_node()
968 fprintf(out, "(userrange %s ", userrange->user_str); in cil_write_ast_node()
970 write_range(out, userrange->range, CIL_TRUE); in cil_write_ast_node()
972 fprintf(out, "%s", userrange->range_str); in cil_write_ast_node()
973 fprintf(out, ")\n"); in cil_write_ast_node()
978 fprintf(out, "(userbounds %s %s)\n", bounds->parent_str, bounds->child_str); in cil_write_ast_node()
983 fprintf(out, "(userprefix "); in cil_write_ast_node()
984 fprintf(out, "%s ", datum_or_str(DATUM(prefix->user), prefix->user_str)); in cil_write_ast_node()
985 fprintf(out, "%s)\n", prefix->prefix_str); in cil_write_ast_node()
990 fprintf(out, "(selinuxuser %s ", selinuxuser->name_str); in cil_write_ast_node()
991 fprintf(out, "%s ", datum_or_str(DATUM(selinuxuser->user), selinuxuser->user_str)); in cil_write_ast_node()
993 write_range(out, selinuxuser->range, CIL_TRUE); in cil_write_ast_node()
995 fprintf(out, "%s", selinuxuser->range_str); in cil_write_ast_node()
996 fprintf(out, ")\n"); in cil_write_ast_node()
1001 fprintf(out, "(selinuxuserdefault "); in cil_write_ast_node()
1002 fprintf(out, "%s ", datum_or_str(DATUM(selinuxuser->user), selinuxuser->user_str)); in cil_write_ast_node()
1004 write_range(out, selinuxuser->range, CIL_TRUE); in cil_write_ast_node()
1006 fprintf(out, "%s", selinuxuser->range_str); in cil_write_ast_node()
1007 fprintf(out, ")\n"); in cil_write_ast_node()
1011 fprintf(out, "(role %s)\n", datum_to_str(node->data)); in cil_write_ast_node()
1015 fprintf(out, "(roleattribute %s)\n", datum_to_str(node->data)); in cil_write_ast_node()
1020 fprintf(out, "(roleattributeset %s ", attr->attr_str); in cil_write_ast_node()
1022 write_expr(out, attr->datum_expr); in cil_write_ast_node()
1024 write_expr(out, attr->str_expr); in cil_write_ast_node()
1025 fprintf(out, ")\n"); in cil_write_ast_node()
1030 fprintf(out, "(roletype "); in cil_write_ast_node()
1031 fprintf(out, "%s ", datum_or_str(DATUM(roletype->role), roletype->role_str)); in cil_write_ast_node()
1032 fprintf(out, "%s", datum_or_str(DATUM(roletype->type), roletype->type_str)); in cil_write_ast_node()
1033 fprintf(out, ")\n"); in cil_write_ast_node()
1038 fprintf(out, "(rolebounds %s %s)\n", bnds->parent_str, bnds->child_str); in cil_write_ast_node()
1042 fprintf(out, "(type %s)\n", datum_to_str(node->data)); in cil_write_ast_node()
1046 fprintf(out, "(typealias %s)\n", datum_to_str(node->data)); in cil_write_ast_node()
1051 fprintf(out, "(typealiasactual %s %s)\n", aliasactual->alias_str, aliasactual->actual_str); in cil_write_ast_node()
1055 fprintf(out, "(typeattribute %s)\n", datum_to_str(node->data)); in cil_write_ast_node()
1060 fprintf(out, "(typeattributeset %s ", attr->attr_str); in cil_write_ast_node()
1062 write_expr(out, attr->datum_expr); in cil_write_ast_node()
1064 write_expr(out, attr->str_expr); in cil_write_ast_node()
1065 fprintf(out, ")\n"); in cil_write_ast_node()
1070 fprintf(out, "(expandtypeattribute "); in cil_write_ast_node()
1072 write_expr(out, attr->attr_datums); in cil_write_ast_node()
1074 write_expr(out, attr->attr_strs); in cil_write_ast_node()
1075 fprintf(out, " %s)\n", attr->expand ? "true" : "false"); in cil_write_ast_node()
1080 fprintf(out, "(typepermissive "); in cil_write_ast_node()
1081 fprintf(out, "%s", datum_or_str(DATUM(tp->type), tp->type_str)); in cil_write_ast_node()
1082 fprintf(out, ")\n"); in cil_write_ast_node()
1087 fprintf(out, "(typebounds %s %s)\n", bounds->parent_str, bounds->child_str); in cil_write_ast_node()
1092 fprintf(out, "(roleallow "); in cil_write_ast_node()
1093 fprintf(out, "%s ", datum_or_str(DATUM(roleallow->src), roleallow->src_str)); in cil_write_ast_node()
1094 fprintf(out, "%s", datum_or_str(DATUM(roleallow->tgt), roleallow->tgt_str)); in cil_write_ast_node()
1095 fprintf(out, ")\n"); in cil_write_ast_node()
1100 fprintf(out, "(roletransition "); in cil_write_ast_node()
1101 fprintf(out, "%s ", datum_or_str(DATUM(roletrans->src), roletrans->src_str)); in cil_write_ast_node()
1102 fprintf(out, "%s ", datum_or_str(DATUM(roletrans->tgt), roletrans->tgt_str)); in cil_write_ast_node()
1103 fprintf(out, "%s ", datum_or_str(DATUM(roletrans->obj), roletrans->obj_str)); in cil_write_ast_node()
1104 fprintf(out, "%s", datum_or_str(DATUM(roletrans->result), roletrans->result_str)); in cil_write_ast_node()
1105 fprintf(out, ")\n"); in cil_write_ast_node()
1111 fprintf(out, "(allow "); in cil_write_ast_node()
1113 fprintf(out, "(auditallow "); in cil_write_ast_node()
1115 fprintf(out, "(dontaudit "); in cil_write_ast_node()
1117 fprintf(out, "(neverallow "); in cil_write_ast_node()
1119 fprintf(out, "(<?AVRULE> "); in cil_write_ast_node()
1121 fprintf(out, "%s ", datum_or_str(DATUM(rule->src), rule->src_str)); in cil_write_ast_node()
1122 fprintf(out, "%s ", datum_or_str(DATUM(rule->tgt), rule->tgt_str)); in cil_write_ast_node()
1123 write_classperms_list(out, rule->perms.classperms); in cil_write_ast_node()
1124 fprintf(out, ")\n"); in cil_write_ast_node()
1130 fprintf(out, "(allowx "); in cil_write_ast_node()
1132 fprintf(out, "(auditallowx "); in cil_write_ast_node()
1134 fprintf(out, "(dontauditx "); in cil_write_ast_node()
1136 fprintf(out, "(neverallowx "); in cil_write_ast_node()
1138 fprintf(out, "(<?AVRULEX> "); in cil_write_ast_node()
1139 fprintf(out, "%s ", datum_or_str(DATUM(rule->src), rule->src_str)); in cil_write_ast_node()
1140 fprintf(out, "%s ", datum_or_str(DATUM(rule->tgt), rule->tgt_str)); in cil_write_ast_node()
1142 fprintf(out, "%s",rule->perms.x.permx_str); in cil_write_ast_node()
1144 write_permx(out, rule->perms.x.permx); in cil_write_ast_node()
1146 fprintf(out, ")\n"); in cil_write_ast_node()
1152 fprintf(out, "(typetransition "); in cil_write_ast_node()
1154 fprintf(out, "(typemember "); in cil_write_ast_node()
1156 fprintf(out, "(typechange "); in cil_write_ast_node()
1158 fprintf(out, "(<?TYPERULE> "); in cil_write_ast_node()
1159 fprintf(out, "%s ", datum_or_str(DATUM(rule->src), rule->src_str)); in cil_write_ast_node()
1160 fprintf(out, "%s ", datum_or_str(DATUM(rule->tgt), rule->tgt_str)); in cil_write_ast_node()
1161 fprintf(out, "%s ", datum_or_str(DATUM(rule->obj), rule->obj_str)); in cil_write_ast_node()
1162 fprintf(out, "%s", datum_or_str(DATUM(rule->result), rule->result_str)); in cil_write_ast_node()
1163 fprintf(out, ")\n"); in cil_write_ast_node()
1168 fprintf(out, "(typetransition "); in cil_write_ast_node()
1169 fprintf(out, "%s ", datum_or_str(DATUM(rule->src), rule->src_str)); in cil_write_ast_node()
1170 fprintf(out, "%s ", datum_or_str(DATUM(rule->tgt), rule->tgt_str)); in cil_write_ast_node()
1171 fprintf(out, "%s ", datum_or_str(DATUM(rule->obj), rule->obj_str)); in cil_write_ast_node()
1172 fprintf(out, "\"%s\" ", datum_or_str(DATUM(rule->name), rule->name_str)); in cil_write_ast_node()
1173 fprintf(out, "%s", datum_or_str(DATUM(rule->result), rule->result_str)); in cil_write_ast_node()
1174 fprintf(out, ")\n"); in cil_write_ast_node()
1179 fprintf(out, "(rangetransition "); in cil_write_ast_node()
1180 fprintf(out, "%s ", datum_or_str(DATUM(rule->src), rule->src_str)); in cil_write_ast_node()
1181 fprintf(out, "%s ", datum_or_str(DATUM(rule->exec), rule->exec_str)); in cil_write_ast_node()
1182 fprintf(out, "%s ", datum_or_str(DATUM(rule->obj), rule->obj_str)); in cil_write_ast_node()
1184 write_range(out, rule->range, CIL_TRUE); in cil_write_ast_node()
1186 fprintf(out, "%s", rule->range_str); in cil_write_ast_node()
1187 fprintf(out, ")\n"); in cil_write_ast_node()
1192 fprintf(out, "(constrain "); in cil_write_ast_node()
1193 write_constrain(out, cons); in cil_write_ast_node()
1194 fprintf(out, ")\n"); in cil_write_ast_node()
1199 fprintf(out, "(mlsconstrain "); in cil_write_ast_node()
1200 write_constrain(out, cons); in cil_write_ast_node()
1201 fprintf(out, ")\n"); in cil_write_ast_node()
1206 fprintf(out, "(validatetrans "); in cil_write_ast_node()
1207 fprintf(out, "%s ", datum_or_str(DATUM(vt->class), vt->class_str)); in cil_write_ast_node()
1209 write_expr(out, vt->datum_expr); in cil_write_ast_node()
1211 write_expr(out, vt->str_expr); in cil_write_ast_node()
1212 fprintf(out, ")\n"); in cil_write_ast_node()
1217 fprintf(out, "(mlsvalidatetrans "); in cil_write_ast_node()
1218 fprintf(out, "%s ", datum_or_str(DATUM(vt->class), vt->class_str)); in cil_write_ast_node()
1220 write_expr(out, vt->datum_expr); in cil_write_ast_node()
1222 write_expr(out, vt->str_expr); in cil_write_ast_node()
1223 fprintf(out, ")\n"); in cil_write_ast_node()
1228 fprintf(out, "(context %s ", datum_to_str(DATUM(context))); in cil_write_ast_node()
1229 write_context(out, context, CIL_FALSE); in cil_write_ast_node()
1230 fprintf(out, ")\n"); in cil_write_ast_node()
1235 fprintf(out, "(filecon "); in cil_write_ast_node()
1236 fprintf(out, "\"%s\" ", filecon->path_str); in cil_write_ast_node()
1239 fprintf(out, "%s ", CIL_KEY_ANY); in cil_write_ast_node()
1242 fprintf(out, "%s ", CIL_KEY_FILE); in cil_write_ast_node()
1245 fprintf(out, "%s ", CIL_KEY_DIR); in cil_write_ast_node()
1248 fprintf(out, "%s ", CIL_KEY_CHAR); in cil_write_ast_node()
1251 fprintf(out, "%s ", CIL_KEY_BLOCK); in cil_write_ast_node()
1254 fprintf(out, "%s ", CIL_KEY_SOCKET); in cil_write_ast_node()
1257 fprintf(out, "%s ", CIL_KEY_PIPE); in cil_write_ast_node()
1260 fprintf(out, "%s ", CIL_KEY_SYMLINK); in cil_write_ast_node()
1263 fprintf(out, "<?FILETYPE> "); in cil_write_ast_node()
1266 write_context(out, filecon->context, CIL_TRUE); in cil_write_ast_node()
1268 fprintf(out, "%s", filecon->context_str); in cil_write_ast_node()
1270 fprintf(out, "()"); in cil_write_ast_node()
1271 fprintf(out, ")\n"); in cil_write_ast_node()
1276 fprintf(out, "(ibpkeycon %s ", ibpkeycon->subnet_prefix_str); in cil_write_ast_node()
1277 fprintf(out, "(%d %d) ", ibpkeycon->pkey_low, ibpkeycon->pkey_high); in cil_write_ast_node()
1279 write_context(out, ibpkeycon->context, CIL_TRUE); in cil_write_ast_node()
1281 fprintf(out, "%s", ibpkeycon->context_str); in cil_write_ast_node()
1282 fprintf(out, ")\n"); in cil_write_ast_node()
1287 fprintf(out, "(portcon "); in cil_write_ast_node()
1289 fprintf(out, " udp "); in cil_write_ast_node()
1291 fprintf(out, " tcp "); in cil_write_ast_node()
1293 fprintf(out, "dccp "); in cil_write_ast_node()
1295 fprintf(out, "sctp "); in cil_write_ast_node()
1297 fprintf(out, "<?PROTOCOL> "); in cil_write_ast_node()
1299 fprintf(out, "%d ", portcon->port_low); in cil_write_ast_node()
1301 fprintf(out, "(%d %d) ", portcon->port_low, portcon->port_high); in cil_write_ast_node()
1303 write_context(out, portcon->context, CIL_TRUE); in cil_write_ast_node()
1305 fprintf(out, "%s", portcon->context_str); in cil_write_ast_node()
1306 fprintf(out, ")\n"); in cil_write_ast_node()
1311 fprintf(out, "(nodecon "); in cil_write_ast_node()
1313 write_ipaddr(out, nodecon->addr); in cil_write_ast_node()
1315 fprintf(out, "%s ", nodecon->addr_str); in cil_write_ast_node()
1316 fprintf(out, " "); in cil_write_ast_node()
1318 write_ipaddr(out, nodecon->mask); in cil_write_ast_node()
1320 fprintf(out, "%s ", nodecon->mask_str); in cil_write_ast_node()
1321 fprintf(out, " "); in cil_write_ast_node()
1323 write_context(out, nodecon->context, CIL_TRUE); in cil_write_ast_node()
1325 fprintf(out, "%s", nodecon->context_str); in cil_write_ast_node()
1326 fprintf(out, ")\n"); in cil_write_ast_node()
1331 fprintf(out, "(genfscon "); in cil_write_ast_node()
1332 fprintf(out, "%s \"%s\" ", genfscon->fs_str, genfscon->path_str); in cil_write_ast_node()
1336 fprintf(out, "%s ", CIL_KEY_FILE); in cil_write_ast_node()
1339 fprintf(out, "%s ", CIL_KEY_DIR); in cil_write_ast_node()
1342 fprintf(out, "%s ", CIL_KEY_CHAR); in cil_write_ast_node()
1345 fprintf(out, "%s ", CIL_KEY_BLOCK); in cil_write_ast_node()
1348 fprintf(out, "%s ", CIL_KEY_SOCKET); in cil_write_ast_node()
1351 fprintf(out, "%s ", CIL_KEY_PIPE); in cil_write_ast_node()
1354 fprintf(out, "%s ", CIL_KEY_SYMLINK); in cil_write_ast_node()
1357 fprintf(out, "<?FILETYPE> "); in cil_write_ast_node()
1361 write_context(out, genfscon->context, CIL_TRUE); in cil_write_ast_node()
1363 fprintf(out, "%s", genfscon->context_str); in cil_write_ast_node()
1364 fprintf(out, ")\n"); in cil_write_ast_node()
1369 fprintf(out, "(netifcon %s ", netifcon->interface_str); in cil_write_ast_node()
1371 write_context(out, netifcon->if_context, CIL_TRUE); in cil_write_ast_node()
1373 fprintf(out, "%s", netifcon->if_context_str); in cil_write_ast_node()
1374 fprintf(out, " "); in cil_write_ast_node()
1376 write_context(out, netifcon->packet_context, CIL_TRUE); in cil_write_ast_node()
1378 fprintf(out, "%s", netifcon->packet_context_str); in cil_write_ast_node()
1379 fprintf(out, ")\n"); in cil_write_ast_node()
1384 fprintf(out, "(ibendportcon %s %u ", ibendportcon->dev_name_str, ibendportcon->port); in cil_write_ast_node()
1386 write_context(out, ibendportcon->context, CIL_TRUE); in cil_write_ast_node()
1388 fprintf(out, "%s", ibendportcon->context_str); in cil_write_ast_node()
1389 fprintf(out, ")\n"); in cil_write_ast_node()
1394 fprintf(out, "(pirqcon %d ", pirqcon->pirq); in cil_write_ast_node()
1396 write_context(out, pirqcon->context, CIL_TRUE); in cil_write_ast_node()
1398 fprintf(out, "%s", pirqcon->context_str); in cil_write_ast_node()
1399 fprintf(out, ")\n"); in cil_write_ast_node()
1404 fprintf(out, "(iomemcon (%"PRId64" %"PRId64") ", iomemcon->iomem_low, iomemcon->iomem_high); in cil_write_ast_node()
1406 write_context(out, iomemcon->context, CIL_TRUE); in cil_write_ast_node()
1408 fprintf(out, "%s", iomemcon->context_str); in cil_write_ast_node()
1409 fprintf(out, ")\n"); in cil_write_ast_node()
1414 fprintf(out, "(ioportcon "); in cil_write_ast_node()
1416 fprintf(out, "%d ", ioportcon->ioport_low); in cil_write_ast_node()
1418 fprintf(out, "(%d %d) ", ioportcon->ioport_low, ioportcon->ioport_high); in cil_write_ast_node()
1421 write_context(out, ioportcon->context, CIL_TRUE); in cil_write_ast_node()
1423 fprintf(out, "%s", ioportcon->context_str); in cil_write_ast_node()
1424 fprintf(out, ")\n"); in cil_write_ast_node()
1429 fprintf(out, "(pcidevicecon %d ", pcidevicecon->dev); in cil_write_ast_node()
1431 write_context(out, pcidevicecon->context, CIL_TRUE); in cil_write_ast_node()
1433 fprintf(out, "%s", pcidevicecon->context_str); in cil_write_ast_node()
1434 fprintf(out, ")\n"); in cil_write_ast_node()
1439 fprintf(out, "(devicetreecon \"%s\" ", devicetreecon->path); in cil_write_ast_node()
1441 write_context(out, devicetreecon->context, CIL_TRUE); in cil_write_ast_node()
1443 fprintf(out, "%s", devicetreecon->context_str); in cil_write_ast_node()
1444 fprintf(out, ")\n"); in cil_write_ast_node()
1449 fprintf(out, "(fsuse "); in cil_write_ast_node()
1451 fprintf(out, "xattr "); in cil_write_ast_node()
1453 fprintf(out, "task "); in cil_write_ast_node()
1455 fprintf(out, "trans "); in cil_write_ast_node()
1457 fprintf(out, "<?TYPE> "); in cil_write_ast_node()
1458 fprintf(out, "%s ", fsuse->fs_str); in cil_write_ast_node()
1460 write_context(out, fsuse->context, CIL_TRUE); in cil_write_ast_node()
1462 fprintf(out, "%s", fsuse->context_str); in cil_write_ast_node()
1463 fprintf(out, ")\n"); in cil_write_ast_node()
1468 fprintf(out, "(policycap %s)\n", polcap->datum.name); in cil_write_ast_node()
1476 fprintf(out, "(ipaddr %s %s)\n", datum_to_str(&ipaddr->datum), buf); in cil_write_ast_node()
1480 fprintf(out, "(<?RULE:%s>)\n", cil_node_to_string(node)); in cil_write_ast_node()
1490 FILE *out; member
1502 fprintf(args->out, "%*s", args->depth*4, ""); in __write_parse_ast_node_helper()
1505 fprintf(args->out, "(\n"); in __write_parse_ast_node_helper()
1507 fprintf(args->out, "()\n"); in __write_parse_ast_node_helper()
1515 fprintf(args->out, "\"%s\"\n", str); in __write_parse_ast_node_helper()
1520 fprintf(args->out, "%s\n", (char *)node->data); in __write_parse_ast_node_helper()
1548 fprintf(args->out, "%*s", args->depth*4, ""); in __write_parse_ast_last_child_helper()
1549 fprintf(args->out, ")\n"); in __write_parse_ast_last_child_helper()
1566 // cil_write_src_info_node(args->out, node); in __write_cil_ast_node_helper()
1570 fprintf(args->out, "%*s", args->depth*4, ""); in __write_cil_ast_node_helper()
1572 cil_write_ast_node(args->out, node); in __write_cil_ast_node_helper()
1604 // fprintf(args->out, ";;* lme\n"); in __write_cil_ast_last_child_helper()
1609 fprintf(args->out, "%*s", args->depth*4, ""); in __write_cil_ast_last_child_helper()
1610 fprintf(args->out, ")\n"); in __write_cil_ast_last_child_helper()
1615 int cil_write_ast(FILE *out, enum cil_write_ast_phase phase, struct cil_tree_node *node) in cil_write_ast() argument
1620 extra_args.out = out; in cil_write_ast()