Lines Matching defs:np

449 report_node(const struct node *np, const char *fmt, ...)
454 fprintf(stderr, "line %u, node %s: ", np->lno, np->name);
904 gen_node(FILE *fp, struct node *np, struct asn_oid *oid, u_int idx,
912 report_node(np, "OID too long");
913 oid->subs[oid->len++] = np->id;
915 if (np->type == NODE_TREE) {
916 TAILQ_FOREACH(sub, &np->u.tree.subs, link)
921 if (np->type == NODE_ENTRY) {
922 TAILQ_FOREACH(sub, &np->u.entry.subs, link)
923 gen_node(fp, sub, oid, np->u.entry.index,
924 np->u.entry.func);
930 if ((np->flags & (FL_GET|FL_SET)) == 0) {
938 fprintf(fp, " }}, \"%s\", ", np->name);
940 if (np->type == NODE_COLUMN) {
941 syntax = np->u.column.syntax;
944 syntax = np->u.leaf.syntax;
992 if (np->type == NODE_COLUMN)
995 fprintf(fp, "%s, ", np->u.leaf.func);
998 if (np->flags & FL_SET)
1009 gen_header(FILE *fp, struct node *np, u_int oidlen, const char *func)
1016 if (np->type == NODE_TREE) {
1017 TAILQ_FOREACH(sub, &np->u.tree.subs, link)
1021 if (np->type == NODE_ENTRY) {
1022 TAILQ_FOREACH(sub, &np->u.entry.subs, link)
1023 gen_header(fp, sub, oidlen, np->u.entry.func);
1027 if((np->flags & (FL_GET|FL_SET)) == 0)
1030 if (np->type == NODE_COLUMN) {
1033 "outside of a table", np->name);
1036 sprintf(f, "%s", np->u.leaf.func);
1052 fprintf(fp, "# define LEAF_%s %u\n", np->name, np->id);
1107 gen_tree(const struct node *np, int level)
1112 printf("%*s(%u %s", 2 * level, "", np->id, np->name);
1114 switch (np->type) {
1117 print_syntax(np->u.leaf.syntax);
1118 printf(" %s%s%s)\n", np->u.leaf.func,
1119 (np->flags & FL_GET) ? " GET" : "",
1120 (np->flags & FL_SET) ? " SET" : "");
1124 if (TAILQ_EMPTY(&np->u.tree.subs)) {
1128 TAILQ_FOREACH(sp, &np->u.tree.subs, link)
1137 for (i = 0; i < SNMP_INDEX_COUNT(np->u.entry.index); i++)
1138 print_syntax(SNMP_INDEX(np->u.entry.index, i));
1139 printf(" %s\n", np->u.entry.func);
1140 TAILQ_FOREACH(sp, &np->u.entry.subs, link)
1146 print_syntax(np->u.column.syntax);
1147 printf("%s%s)\n", (np->flags & FL_GET) ? " GET" : "",
1148 (np->flags & FL_SET) ? " SET" : "");
1154 extract(FILE *fp, const struct node *np, struct asn_oid *oid, const char *obj,
1161 report_node(np, "OID too long");
1162 oid->subs[oid->len++] = np->id;
1164 if (strcmp(obj, np->name) == 0) {
1166 report_node(np, "OID too long");
1167 fprintf(fp, "#define OID_%s%s\t%u\n", np->name,
1168 iname ? iname : "", np->id);
1169 fprintf(fp, "#define OIDLEN_%s%s\t%u\n", np->name,
1171 fprintf(fp, "#define OIDX_%s%s\t{ %u, {", np->name,
1181 if (np->type == NODE_TREE) {
1182 TAILQ_FOREACH(sub, &np->u.tree.subs, link)
1185 } else if (np->type == NODE_ENTRY) {
1186 TAILQ_FOREACH(sub, &np->u.entry.subs, link)
1250 check_sub_order(const struct node *np, const struct node_list *subs)
1260 report_node(np, "subids not ordered at %s", sub->name);
1270 check_tree(struct node *np)
1274 if (np->type == NODE_LEAF || np->type == NODE_COLUMN) {
1275 if ((np->flags & (FL_GET|FL_SET)) != 0)
1280 if (np->type == NODE_ENTRY) {
1281 check_sub_order(np, &np->u.entry.subs);
1284 TAILQ_FOREACH(sub, &np->u.entry.subs, link) {
1286 report_node(np, "entry subnode '%s' is not "
1291 check_sub_order(np, &np->u.tree.subs);
1293 TAILQ_FOREACH(sub, &np->u.tree.subs, link)