diff options
Diffstat (limited to 'local/mib2c-conf.d/generic-table-indexes-to-oid.m2i')
-rw-r--r-- | local/mib2c-conf.d/generic-table-indexes-to-oid.m2i | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/local/mib2c-conf.d/generic-table-indexes-to-oid.m2i b/local/mib2c-conf.d/generic-table-indexes-to-oid.m2i new file mode 100644 index 0000000..c17de4c --- /dev/null +++ b/local/mib2c-conf.d/generic-table-indexes-to-oid.m2i @@ -0,0 +1,52 @@ +############################################################# -*- c -*- +## generic include for XXX. Do not use directly. +## +## $Id$ +######################################################################## +@if $m2c_mark_boundary == 1@ +/** START code generated by $RCSfile$ $Revision$ */ +@end@ +######################################################################## +## +/** + * @internal + * convert the index component stored in the context to an oid + */ +int +${context}_index_to_oid(netsnmp_index *oid_idx, + ${context}_mib_index *mib_idx) +{ +@include generic-table-indexes-varbind-setup.m2i@ + + DEBUGMSGTL(("verbose:${context}:${context}_index_to_oid","called\n")); + +@ foreach $node index@ +@ include m2c_setup_node.m2i@ + /* $m2c_node_summary */ +@ if $m2c_node_needlength == 1@ + snmp_set_var_value(&var_$node, &mib_idx->$node, + mib_idx->${node}_len * sizeof(mib_idx->${node}[0])); +@ else@ + snmp_set_var_value(&var_$node, &mib_idx->$node, sizeof(mib_idx->$node)); +@ end@ + +@ end@ # for each column + + err = build_oid_noalloc(oid_idx->oids, oid_idx->len, &oid_idx->len, + NULL, 0, &var_$m2c_dii_first); + if(err) + snmp_log(LOG_ERR,"error %d converting index to oid\n", err); + + /* + * parsing may have allocated memory. free it. + */ + snmp_reset_var_buffers( &var_$m2c_dii_first ); + + return err; +} /* ${context}_index_to_oid */ + +## +######################################################################## +@if $m2c_mark_boundary == 1@ +/** END code generated by $RCSfile$ $Revision$ */ +@end@ |