indent_me(ofp);
fprintf(ofp, "int _i;\n");
indent_me(ofp);
- fprintf(ofp, "for (_i = 0; _i < %u; _i++) {\n",
+ fprintf(ofp, "for (_i = 0; _i < %lu; _i++) {\n",
(u64)(deeper->data[1]));
indent += 4;
indent_me(ofp);
fprintf(fp, "}\n");
break;
case PYTHON_PASS:
- fprintf(fp, "'%s', '%d'),\n", CDATA0, IDATA1);
+ if (CDATA2 != 0) { // variable length vector
+ fprintf(fp, "'%s', '%d', '%s'),\n", CDATA0, IDATA1, CDATA2);
+ } else {
+ fprintf(fp, "'%s', '%d'),\n", CDATA0, IDATA1);
+ }
break;
default:
return ((YYSTYPE) np);
}
+/*
+ * add_vector_vbl (char *vector_name, char *vector_length_var)
+ */
+
+YYSTYPE add_variable_length_vector_vbl (YYSTYPE vector_name, YYSTYPE vector_length_var)
+{
+ node_t *np;
+
+ np = make_node(NODE_VECTOR);
+ np->data[0] = (void *) vector_name;
+ np->data[1] = (void *) 0; // vector size used for vpe.api.h generation (array of length zero)
+ np->data[2] = (void *) vector_length_var; // name of the variable that stores vector length
+ return ((YYSTYPE) np);
+}
+
/*
* add_scalar_vbl (char *name)
*/
fprintf (fp,
"#define vl_api_version(n,v) static u32 %s_api_version %s = v;\n",
vlib_app_name, "__attribute__((unused))");
- fprintf (fp, "#include <api/%s.api.h>\n", vlib_app_name);
+ fprintf (fp, "#include <vpp-api/%s.api.h>\n", vlib_app_name);
fprintf (fp, "#undef vl_api_version\n\n");
fprintf (fp, "#include <japi/org_openvpp_vppjapi_vppConn.h>\n");
fprintf (fp, "#include <japi/org_openvpp_vppjapi_%s.h>\n\n", java_class);
- fprintf (fp, "#include <api/%s_msg_enum.h>\n", vlib_app_name);
+ fprintf (fp, "#include <vpp-api/%s_msg_enum.h>\n", vlib_app_name);
fprintf (fp, "#define vl_typedefs /* define message structures */\n");
- fprintf (fp, "#include <api/%s_all_api_h.h> \n", vlib_app_name);
+ fprintf (fp, "#include <vpp-api/%s_all_api_h.h> \n", vlib_app_name);
fprintf (fp, "#undef vl_typedefs\n\n");
fprintf (fp, "#define vl_endianfun \n");
- fprintf (fp, "#include <api/%s_all_api_h.h> \n", vlib_app_name);
+ fprintf (fp, "#include <vpp-api/%s_all_api_h.h> \n", vlib_app_name);
fprintf (fp, "#undef vl_endianfun\n\n");
fprintf (fp, "#define vl_print(handle, ...)\n");
fprintf (fp, "#define vl_printfun\n");
- fprintf (fp, "#include <api/%s_all_api_h.h>\n", vlib_app_name);
+ fprintf (fp, "#include <vpp-api/%s_all_api_h.h>\n", vlib_app_name);
fprintf (fp, "#undef vl_printfun\n\n");
}