Tryag File Manager
Home
-
Turbo Force
Current Path :
/
usr
/
share
/
snmp
/
mib2c-data
/
Upload File :
New :
File
Dir
//usr/share/snmp/mib2c-data/node-validate.m2i
############################################################# -*- c -*- ## generic include for XXX. Do not use directly. ## ## $Id: node-validate.m2i 12101 2005-04-20 22:45:01Z rstory $ ## ## assumes an integer rc is available and will be tested by caller ## ######################################################################## @if $m2c_mark_boundary == 1@ /** START code generated by $RCSfile$ $Revision: 12101 $ */ @end@ ######################################################################## ##---------------------------------------------------------------------- ## setup ##---------------------------------------------------------------------- @if $node.enums == 1@ ##------------------------------------------------------ @ if "$node.perltype" ne "BITS"@ /* check that the value is one of defined enums */ if( (SNMPERR_SUCCESS == rc) @ foreach $e $v enum@ @ include m2c_setup_enum.m2i@ && ( $m2c_nv_val != $m2c_ename ) @ end@ # for each ) { rc = SNMP_ERR_WRONGVALUE; } ##------------------------------------------------------ @ else@ # BITS ## { if($m2c_nv_len > 4) { snmp_log(LOG_ERR,"I can not handle BITS > 4 bytes\n"); rc = SNMP_ERR_GENERR; } else if (SNMPERR_SUCCESS == rc){ u_long bits = 0; /* check that value is within enum mask */ memcpy( &bits, $m2c_nv_str, $m2c_nv_len); if( (bits | $m2c_enum_mask) != $m2c_enum_mask) rc = SNMP_ERR_WRONGVALUE; } @ end@ ##---------------------------------------------------------------------- ## check RANGES ##---------------------------------------------------------------------- @elsif $node.ranges == 1@ @ if ("$node.decl" eq "long") || ("$node.decl" eq "u_long")@ @ eval $m2c_nv_rc = "SNMP_ERR_WRONGVALUE"@ @ eval $m2c_nv_tmp = "$m2c_nv_val"@ @ else@ @ eval $m2c_nv_rc = "SNMP_ERR_WRONGLENGTH"@ @ eval $m2c_nv_tmp = "$m2c_nv_len"@ @ end@ /* check defined range(s). */ if( (SNMPERR_SUCCESS == rc) @ foreach $a $b range $node@ @ if $a == $b@ && ($m2c_nv_tmp != $a) @ else@ && (($m2c_nv_tmp < $a) || ($m2c_nv_tmp > $b)) @ end@ @ end@ ) { rc = $m2c_nv_rc; } @end@ ## ######################################################################## @if $m2c_mark_boundary == 1@ /** END code generated by $RCSfile$ $Revision: 12101 $ */ @end@