## -*- c -*- ###################################################################### ## Do the .h file ###################################################################### @open ${name}_checkfns_local.h@ /* * Note: this file originally auto-generated by mib2c * using mib2c.check_values_local.conf * */ #ifndef $name.uc_CHECKFNS_LOCAL_H #define $name.uc_CHECKFNS_LOCAL_H @foreach $t table@ /* these functions are designed to check incoming values for columns in the $t table for legality with respect to datatype and value according to local conventions. You should modify them as appropriate. They will be called from parent check_value functions that are auto-generated using mib2c and the parent functions should NOT be modified. */ @foreach $i column@ @if $i.access =~ /(Write|Create)/@ int check_${i}_local(int type, $i.decl *val, size_t val_len, $i.decl *old_val, size_t old_val_len); @end@ @end@ @end@ #endif /* $name.uc_CHECKFNS_LOCAL_H */ ###################################################################### ## Do the .c file ###################################################################### @open ${name}_checkfns_local.c@ /* * Note: this file originally auto-generated by mib2c * using mib2c.check_values_local.conf */ /* standard headers */ #include #include #include "${name}_checkfns.h" #include "${name}_enums.h" @run mib2c.column_enums.conf@ @foreach $t table@ @foreach $i column@ @if $i.access =~ /(Write|Create)/@ /** Decides if an incoming value for the $i mib node is legal, from a local implementation specific viewpoint. * @param type The incoming data type. * @param val The value to be checked. * @param val_len The length of data stored in val (in bytes). * @return 0 if the incoming value is legal, an SNMP error code otherwise. */ int check_${i}_local(int type, $i.decl *val, size_t val_len, $i.decl *old_val, size_t old_val_len) { /** XXX: you may want to check aspects of the new value that were not covered by the automatic checks by the parent function. */ /** XXX: you make want to check that the requested change from the old value to the new value is legal (ie, the transistion from one value to another is legal */ /** if everything looks ok, return SNMP_ERR_NOERROR */ return SNMP_ERR_NOERROR; } @end@ @end@ @end@