summaryrefslogtreecommitdiff
path: root/local/mib2c-conf.d/node-varbind-validate.m2i
blob: 1b3fb372b4809f1c3565a34f8ef6005614da6da5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#############################################################  -*- c -*-
## generic include for XXX. Do not use directly.
##
## $Id$
##
## 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 $RCSfile$ $Revision$ */
@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 $RCSfile$ $Revision$ */
@end@