mib2c.check_values_local.conf
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:2k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. ## -*- c -*-
  2. ######################################################################
  3. ## Do the .h file
  4. ######################################################################
  5. @open ${name}_checkfns_local.h@
  6. /*
  7.  * Note: this file originally auto-generated by mib2c using
  8.  *        : $Id: mib2c.check_values_local.conf,v 5.2 2004/05/04 23:34:56 hardaker Exp $
  9.  * 
  10.  */
  11. #ifndef $name.uc_CHECKFNS_H
  12. #define $name.uc_CHECKFNS_H
  13. @foreach $t table@
  14. /* these functions are designed to check incoming values for 
  15. columns in the $t table for legality with respect to 
  16. datatype and value according to local conventions.  You should modify
  17. them as appropriate.  They will be called from parent check_value
  18. functions that are auto-generated using mib2c and the parent functions
  19. should NOT be modified.
  20.  */
  21.   @foreach $i column@
  22.     @if $i.access =~ /(Write|Create)/@
  23.     int check_${i}_local(int type, $i.decl *val, size_t val_len, $i.decl *old_val, size_t old_val_len);
  24.     @end@
  25.   @end@
  26. @end@
  27. #endif /* $name.uc_CHECKFNS_H */
  28. ######################################################################
  29. ## Do the .c file
  30. ######################################################################
  31. @open ${name}_checkfns_local.c@
  32. /*
  33.  * Note: this file originally auto-generated by mib2c using
  34.  *        $Id: mib2c.check_values_local.conf,v 5.2 2004/05/04 23:34:56 hardaker Exp $
  35.  */
  36. /* standard headers */
  37. #include <net-snmp/net-snmp-config.h>
  38. #include <net-snmp/net-snmp-includes.h>
  39. #include "${name}_checkfns.h"
  40. #include "${name}_enums.h"
  41. @run mib2c.column_enums.conf@
  42. @foreach $t table@
  43.   @foreach $i column@
  44.     @if $i.access =~ /(Write|Create)/@
  45. /** Decides if an incoming value for the $i mib node is legal, from a local implementation specific viewpoint.
  46.  *  @param type    The incoming data type.
  47.  *  @param val     The value to be checked.
  48.  *  @param val_len The length of data stored in val (in bytes).
  49.  *  @return 0 if the incoming value is legal, an SNMP error code otherwise.
  50.  */
  51.     int
  52.     check_${i}_local(int type, $i.decl *val, size_t val_len, $i.decl *old_val, size_t old_val_len) {
  53.     /** XXX: you may want to check aspects of the new value that
  54.        were not covered by the automatic checks by the parent function. */
  55.     /** XXX: you make want to check that the requested change from
  56.         the old value to the new value is legal (ie, the transistion
  57.         from one value to another is legal */
  58.       
  59.     /** if everything looks ok, return SNMP_ERR_NOERROR */
  60.       return SNMP_ERR_NOERROR;
  61.     }
  62.     @end@
  63.   @end@
  64. @end@