70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
|
############################################################# -*- c -*-
|
||
|
## generic include for XXX. Do not use directly.
|
||
|
##
|
||
|
########################################################################
|
||
|
@if $m2c_mark_boundary == 1@
|
||
|
/** START code generated by generic-table-indexes-from-oid.m2i */
|
||
|
@end@
|
||
|
########################################################################
|
||
|
##
|
||
|
/**
|
||
|
* extract ${context} indexes from a netsnmp_index
|
||
|
*
|
||
|
* @retval SNMP_ERR_NOERROR : no error
|
||
|
* @retval SNMP_ERR_GENERR : error
|
||
|
*/
|
||
|
int
|
||
|
${context}_index_from_oid(netsnmp_index *oid_idx,
|
||
|
${context}_mib_index *mib_idx)
|
||
|
{
|
||
|
@include generic-table-indexes-varbind-setup.m2i@
|
||
|
|
||
|
DEBUGMSGTL(("verbose:${context}:${context}_index_from_oid","called\n"));
|
||
|
|
||
|
/*
|
||
|
* parse the oid into the individual index components
|
||
|
*/
|
||
|
err = parse_oid_indexes( oid_idx->oids, oid_idx->len,
|
||
|
&var_$m2c_dii_first );
|
||
|
if (err == SNMP_ERR_NOERROR) {
|
||
|
/*
|
||
|
* copy out values
|
||
|
*/
|
||
|
@ eval $m2c_node_name = ""@ # purge node name to re-eval $m2c_node_var_name
|
||
|
@ foreach $node index@
|
||
|
@ eval $m2c_node_var_name = "var_${node}."@
|
||
|
@ include m2c_setup_node.m2i@
|
||
|
@ if $m2c_node_needlength == 1@
|
||
|
/*
|
||
|
* NOTE: val_len is in bytes, ${node}_len might not be
|
||
|
*/
|
||
|
if(var_${node}.val_len > sizeof(mib_idx->$node))
|
||
|
err = SNMP_ERR_GENERR;
|
||
|
else {
|
||
|
memcpy(mib_idx->${node}, var_${node}.val.string, var_${node}.val_len);
|
||
|
mib_idx->${node}_len = var_${node}.val_len / sizeof(mib_idx->${node}[0]);
|
||
|
}
|
||
|
@ else@
|
||
|
mib_idx->$node = $m2c_node_var_val;
|
||
|
@ end@
|
||
|
@ end@ # foreach
|
||
|
@ eval $m2c_node_var_name = ""@ #reset custom name
|
||
|
@ eval $m2c_node_name = ""@ # purge node name to re-eval $m2c_node_var_name
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* parsing may have allocated memory. free it.
|
||
|
*/
|
||
|
snmp_reset_var_buffers( &var_$m2c_dii_first );
|
||
|
|
||
|
return err;
|
||
|
} /* ${context}_index_from_oid */
|
||
|
|
||
|
##
|
||
|
########################################################################
|
||
|
@if $m2c_mark_boundary == 1@
|
||
|
/** END code generated by generic-table-indexes-from-oid.m2i */
|
||
|
@end@
|