net-snmp/local/mib2c-conf.d/node-varbind-validate.m2i

54 lines
2.0 KiB
C

############################################################# -*- c -*-
## generic include for XXX. Do not use directly.
##
##
## Tests a netsnmp_variable_list pointer (var) against known
## contstraints. If none are found, calls the user supplied funtion
## ${node}_check_value.
##
## Sets the variable rc to a SNMP_ERR.
##
## Requirements
## ------------
##
########################################################################
@if $m2c_mark_boundary == 1@
/** START code generated by node-varbind-validate.m2i */
@end@
########################################################################
##----------------------------------------------------------------------
## setup
##----------------------------------------------------------------------
@if $m2c_paranoid == 1@
netsnmp_assert(rc == SNMP_ERR_NOERROR); /* paranoia */
@end@
##----------------------------------------------------------------------
## syntax specific
##----------------------------------------------------------------------
@ifconf syntax-$node.syntax-varbind-validate.m2i@
@ include syntax-$node.syntax-varbind-validate.m2i@
@else@
##----------------------------------------------------------------------
## Check type
##----------------------------------------------------------------------
## if not generated code, length checks are up to user
@ if "$m2c_data_context" ne "generated"@
rc = netsnmp_check_vb_type( var, $node.type );
@ elsif ($m2c_node_needlength == 1) || ("$node.perltype" eq "BITS")@
rc = netsnmp_check_vb_type_and_max_size( var, $node.type,
sizeof( $m2c_nvv_item$node ) );
@ else@
rc = netsnmp_check_vb_type_and_size( var, $node.type,
sizeof( $m2c_nvv_item$node ) );
@ end@
@ eval $m2c_nv_val = "*var->val.integer"@
@ eval $m2c_nv_len = "var->val_len"@
@ eval $m2c_nv_str = "var->val.string"@
@ include node-validate.m2i@
@end@ # not syntax specific
##
########################################################################
@if $m2c_mark_boundary == 1@
/** END code generated by node-varbind-validate.m2i */
@end@