Lines Matching refs:out

537 static void render(FILE *out, FILE *hdr);
546 FILE *out, *hdr; in main() local
612 out = fopen(outputname, "w"); in main()
613 if (!out) { in main()
619 if (!out) { in main()
624 render(out, hdr); in main()
626 if (fclose(out) < 0) { in main()
1194 static void render_element(FILE *out, struct element *e, struct element *tag);
1195 static void render_out_of_line_list(FILE *out);
1202 static void render_opcode(FILE *out, const char *fmt, ...) in render_opcode() argument
1206 if (out) { in render_opcode()
1207 fprintf(out, "\t[%4d] =%*s", nr_entries, render_depth, ""); in render_opcode()
1209 vfprintf(out, fmt, va); in render_opcode()
1216 static void render_more(FILE *out, const char *fmt, ...) in render_more() argument
1220 if (out) { in render_more()
1222 vfprintf(out, fmt, va); in render_more()
1230 static void render(FILE *out, FILE *hdr) in render() argument
1250 fprintf(out, "/*\n"); in render()
1251 fprintf(out, " * Automatically generated by asn1_compiler. Do not edit\n"); in render()
1252 fprintf(out, " *\n"); in render()
1253 fprintf(out, " * ASN.1 parser for %s\n", grammar_name); in render()
1254 fprintf(out, " */\n"); in render()
1255 fprintf(out, "#include <linux/asn1_ber_bytecode.h>\n"); in render()
1256 fprintf(out, "#include \"%s-asn1.h\"\n", grammar_name); in render()
1257 fprintf(out, "\n"); in render()
1258 if (ferror(out)) { in render()
1275 fprintf(out, "enum %s_actions {\n", grammar_name); in render()
1277 fprintf(out, "\tACT_%s = %u,\n", in render()
1279 fprintf(out, "\tNR__%s_actions = %u\n", grammar_name, nr_actions); in render()
1280 fprintf(out, "};\n"); in render()
1282 fprintf(out, "\n"); in render()
1283 fprintf(out, "static const asn1_action_t %s_action_table[NR__%s_actions] = {\n", in render()
1286 fprintf(out, "\t[%4u] = %s,\n", action->index, action->name); in render()
1287 fprintf(out, "};\n"); in render()
1289 if (ferror(out)) { in render()
1307 fprintf(out, "\n"); in render()
1308 fprintf(out, "static const unsigned char %s_machine[] = {\n", in render()
1313 render_element(out, root->element, NULL); in render()
1314 render_opcode(out, "ASN1_OP_COMPLETE,\n"); in render()
1315 render_out_of_line_list(out); in render()
1317 fprintf(out, "};\n"); in render()
1319 fprintf(out, "\n"); in render()
1320 fprintf(out, "const struct asn1_decoder %s_decoder = {\n", grammar_name); in render()
1321 fprintf(out, "\t.machine = %s_machine,\n", grammar_name); in render()
1322 fprintf(out, "\t.machlen = sizeof(%s_machine),\n", grammar_name); in render()
1323 fprintf(out, "\t.actions = %s_action_table,\n", grammar_name); in render()
1324 fprintf(out, "};\n"); in render()
1330 static void render_out_of_line_list(FILE *out) in render_out_of_line_list() argument
1341 render_more(out, "\n"); in render_out_of_line_list()
1345 render_element(out, ce, NULL); in render_out_of_line_list()
1351 render_opcode(out, "ASN1_OP_END_SEQ%s,\n", act); in render_out_of_line_list()
1354 render_opcode(out, "ASN1_OP_END_SEQ_OF%s,\n", act); in render_out_of_line_list()
1355 render_opcode(out, "_jump_target(%u),\n", entry); in render_out_of_line_list()
1358 render_opcode(out, "ASN1_OP_END_SET%s,\n", act); in render_out_of_line_list()
1361 render_opcode(out, "ASN1_OP_END_SET_OF%s,\n", act); in render_out_of_line_list()
1362 render_opcode(out, "_jump_target(%u),\n", entry); in render_out_of_line_list()
1368 render_opcode(out, "_action(ACT_%s),\n", in render_out_of_line_list()
1370 render_opcode(out, "ASN1_OP_RETURN,\n"); in render_out_of_line_list()
1377 static void render_element(FILE *out, struct element *e, struct element *tag) in render_element() argument
1391 if (e->type_def && out) { in render_element()
1392 render_more(out, "\t// %*.*s\n", in render_element()
1403 render_opcode(out, "ASN1_OP_%sMATCH_ANY%s,", cond, act); in render_element()
1405 render_more(out, "\t\t// %*.*s", in render_element()
1408 render_more(out, "\n"); in render_element()
1412 render_element(out, e->children, e); in render_element()
1419 render_opcode(out, "ASN1_OP_%sMATCH%s%s,", in render_element()
1432 render_opcode(out, "ASN1_OP_%sMATCH%s%s,", in render_element()
1439 render_more(out, "\t\t// %*.*s", in render_element()
1442 render_more(out, "\n"); in render_element()
1451 render_opcode(out, "_tag(%s, %s, %s),\n", in render_element()
1456 render_opcode(out, "_tagn(%s, %s, %2u),\n", in render_element()
1466 render_element(out, e->type->type->element, tag); in render_element()
1468 render_opcode(out, "ASN1_OP_ACT,\n"); in render_element()
1475 render_opcode(out, "_jump_target(%u),", e->entry_index); in render_element()
1477 render_more(out, "\t\t// --> %*.*s", in render_element()
1481 render_more(out, "\n"); in render_element()
1492 render_element(out, ec, NULL); in render_element()
1494 render_opcode(out, "ASN1_OP_END_SEQ%s,\n", act); in render_element()
1503 render_opcode(out, "_jump_target(%u),", e->entry_index); in render_element()
1505 render_more(out, "\t\t// --> %*.*s", in render_element()
1509 render_more(out, "\n"); in render_element()
1520 render_element(out, e->children, NULL); in render_element()
1523 render_opcode(out, "ASN1_OP_END_SEQ_OF%s,\n", act); in render_element()
1525 render_opcode(out, "ASN1_OP_END_SET_OF%s,\n", act); in render_element()
1526 render_opcode(out, "_jump_target(%u),\n", entry); in render_element()
1542 render_element(out, ec, NULL); in render_element()
1544 render_opcode(out, "ASN1_OP_COND_FAIL,\n"); in render_element()
1546 render_opcode(out, "ASN1_OP_ACT,\n"); in render_element()
1554 render_opcode(out, "_action(ACT_%s),\n", e->action->name); in render_element()