Lines Matching refs:out
559 static void render(FILE *out, FILE *hdr);
568 FILE *out, *hdr; in main() local
646 out = fopen(outputname, "w"); in main()
647 if (!out) { in main()
653 if (!out) { in main()
658 render(out, hdr); in main()
660 if (fclose(out) < 0) { in main()
1260 static void render_element(FILE *out, struct element *e, struct element *tag);
1261 static void render_out_of_line_list(FILE *out);
1268 static void render_opcode(FILE *out, const char *fmt, ...) in render_opcode() argument
1272 if (out) { in render_opcode()
1273 fprintf(out, "\t[%4d] =%*s", nr_entries, render_depth, ""); in render_opcode()
1275 vfprintf(out, fmt, va); in render_opcode()
1282 static void render_more(FILE *out, const char *fmt, ...) in render_more() argument
1286 if (out) { in render_more()
1288 vfprintf(out, fmt, va); in render_more()
1296 static void render(FILE *out, FILE *hdr) in render() argument
1316 fprintf(out, "/*\n"); in render()
1317 fprintf(out, " * Automatically generated by asn1_compiler. Do not edit\n"); in render()
1318 fprintf(out, " *\n"); in render()
1319 fprintf(out, " * ASN.1 parser for %s\n", grammar_name); in render()
1320 fprintf(out, " */\n"); in render()
1321 fprintf(out, "#include <linux/asn1_ber_bytecode.h>\n"); in render()
1322 fprintf(out, "#include \"%s-asn1.h\"\n", grammar_name); in render()
1323 fprintf(out, "\n"); in render()
1324 if (ferror(out)) { in render()
1341 fprintf(out, "enum %s_actions {\n", grammar_name); in render()
1343 fprintf(out, "\tACT_%s = %u,\n", in render()
1345 fprintf(out, "\tNR__%s_actions = %u\n", grammar_name, nr_actions); in render()
1346 fprintf(out, "};\n"); in render()
1348 fprintf(out, "\n"); in render()
1349 fprintf(out, "static const asn1_action_t %s_action_table[NR__%s_actions] = {\n", in render()
1352 fprintf(out, "\t[%4u] = %s,\n", action->index, action->name); in render()
1353 fprintf(out, "};\n"); in render()
1355 if (ferror(out)) { in render()
1373 fprintf(out, "\n"); in render()
1374 fprintf(out, "static const unsigned char %s_machine[] = {\n", in render()
1379 render_element(out, root->element, NULL); in render()
1380 render_opcode(out, "ASN1_OP_COMPLETE,\n"); in render()
1381 render_out_of_line_list(out); in render()
1383 fprintf(out, "};\n"); in render()
1385 fprintf(out, "\n"); in render()
1386 fprintf(out, "const struct asn1_decoder %s_decoder = {\n", grammar_name); in render()
1387 fprintf(out, "\t.machine = %s_machine,\n", grammar_name); in render()
1388 fprintf(out, "\t.machlen = sizeof(%s_machine),\n", grammar_name); in render()
1389 fprintf(out, "\t.actions = %s_action_table,\n", grammar_name); in render()
1390 fprintf(out, "};\n"); in render()
1396 static void render_out_of_line_list(FILE *out) in render_out_of_line_list() argument
1407 render_more(out, "\n"); in render_out_of_line_list()
1411 render_element(out, ce, NULL); in render_out_of_line_list()
1417 render_opcode(out, "ASN1_OP_END_SEQ%s,\n", act); in render_out_of_line_list()
1420 render_opcode(out, "ASN1_OP_END_SEQ_OF%s,\n", act); in render_out_of_line_list()
1421 render_opcode(out, "_jump_target(%u),\n", entry); in render_out_of_line_list()
1424 render_opcode(out, "ASN1_OP_END_SET%s,\n", act); in render_out_of_line_list()
1427 render_opcode(out, "ASN1_OP_END_SET_OF%s,\n", act); in render_out_of_line_list()
1428 render_opcode(out, "_jump_target(%u),\n", entry); in render_out_of_line_list()
1434 render_opcode(out, "_action(ACT_%s),\n", in render_out_of_line_list()
1436 render_opcode(out, "ASN1_OP_RETURN,\n"); in render_out_of_line_list()
1443 static void render_element(FILE *out, struct element *e, struct element *tag) in render_element() argument
1457 if (e->type_def && out) { in render_element()
1458 render_more(out, "\t// %s\n", e->type_def->name->content); in render_element()
1467 render_opcode(out, "ASN1_OP_%sMATCH_ANY%s%s,", in render_element()
1470 render_more(out, "\t\t// %s", e->name->content); in render_element()
1471 render_more(out, "\n"); in render_element()
1475 render_element(out, e->children, e); in render_element()
1482 render_opcode(out, "ASN1_OP_%sMATCH%s%s,", in render_element()
1495 render_opcode(out, "ASN1_OP_%sMATCH%s%s,", in render_element()
1503 render_more(out, "\t\t// %s", x->name->content); in render_element()
1504 render_more(out, "\n"); in render_element()
1514 render_opcode(out, "_tag(%s, %s, %s),\n", in render_element()
1519 render_opcode(out, "_tagn(%s, %s, %2u),\n", in render_element()
1529 render_element(out, e->type->type->element, tag); in render_element()
1531 render_opcode(out, "ASN1_OP_%sACT,\n", in render_element()
1539 render_opcode(out, "_jump_target(%u),", e->entry_index); in render_element()
1541 render_more(out, "\t\t// --> %s", in render_element()
1543 render_more(out, "\n"); in render_element()
1554 render_element(out, ec, NULL); in render_element()
1556 render_opcode(out, "ASN1_OP_END_SEQ%s,\n", act); in render_element()
1565 render_opcode(out, "_jump_target(%u),", e->entry_index); in render_element()
1567 render_more(out, "\t\t// --> %s", in render_element()
1569 render_more(out, "\n"); in render_element()
1580 render_element(out, e->children, NULL); in render_element()
1583 render_opcode(out, "ASN1_OP_END_SEQ_OF%s,\n", act); in render_element()
1585 render_opcode(out, "ASN1_OP_END_SET_OF%s,\n", act); in render_element()
1586 render_opcode(out, "_jump_target(%u),\n", entry); in render_element()
1602 render_element(out, ec, ec); in render_element()
1604 render_opcode(out, "ASN1_OP_COND_FAIL,\n"); in render_element()
1606 render_opcode(out, "ASN1_OP_ACT,\n"); in render_element()
1614 render_opcode(out, "_action(ACT_%s),\n", e->action->name); in render_element()