ifTable.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:28k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. /*
  2.  * Note: this file originally auto-generated by mib2c using
  3.  *       version : 1.32 $ of : mfd-top.m2c,v $
  4.  *
  5.  * $Id: ifTable.h,v 1.16.2.1 2005/02/08 21:57:43 nba Exp $
  6.  */
  7. #ifndef IFTABLE_H
  8. #define IFTABLE_H
  9. #ifdef __cplusplus
  10. extern          "C" {
  11. #endif
  12. /** @defgroup misc misc: Miscelaneous routines
  13.  *
  14.  * @{
  15.  */
  16. #include <net-snmp/library/asn1.h>
  17. #include <net-snmp/data_access/interface.h>
  18.     /*
  19.      * OID, column number and enum definions for  
  20.      */
  21. #include "ifTable_constants.h"
  22.     /*
  23.      *********************************************************************
  24.      * function declarations
  25.      */
  26.     void            init_ifTable(void);
  27.     /*
  28.      *********************************************************************
  29.      * Table declarations
  30.      */
  31. /**********************************************************************
  32.  **********************************************************************
  33.  ***
  34.  *** Table ifTable
  35.  ***
  36.  **********************************************************************
  37.  **********************************************************************/
  38.     /*
  39.      * ifTable is subid 2 of interfaces.
  40.      * Its status is Current.
  41.      * OID: .1.3.6.1.2.1.2.2, length: 8
  42.      */
  43.     /*
  44.      *********************************************************************
  45.      * When you register your mib, you get to provide a generic
  46.      * pointer that will be passed back to you for most of the
  47.      * functions calls.
  48.      *
  49.      * TODO:100:r: Review all context structures
  50.      */
  51.     /*
  52.      * TODO:101:o: |-> Review ifTable registration context.
  53.      */
  54.     typedef netsnmp_data_list *ifTable_registration_ptr;
  55. /**********************************************************************/
  56.     /*
  57.      * TODO:110:r: |-> Review ifTable data context structure.
  58.      * This structure is used to represent the data for ifTable.
  59.      */
  60.     /*
  61.      * This structure contains storage for all the columns defined in the
  62.      * ifTable.
  63.      */
  64.     typedef struct ifTable_data_s {
  65.         /*
  66.          * ifDescr(2)/DisplayString/ASN_OCTET_STR/char(char)//L/A/w/e/R/d/h
  67.          */
  68. #define ifDescr ifentry->descr
  69.         /*
  70.          * ifType(3)/INTEGER/ASN_INTEGER/long(u_long)//l/A/w/E/r/d/h
  71.          */
  72. #define ifType ifentry->type
  73.         /*
  74.          * ifMtu(4)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/r/d/h
  75.          */
  76. #define ifMtu ifentry->mtu
  77.         /*
  78.          * ifSpeed(5)/GAUGE/ASN_GAUGE/u_long(u_long)//l/A/w/e/r/d/h
  79.          */
  80. #define ifSpeed ifentry->speed
  81.         /*
  82.          * ifPhysAddress(6)/PhysAddress/ASN_OCTET_STR/char(char)//L/A/w/e/r/d/h
  83.          */
  84. #define ifPhysAddress ifentry->paddr
  85. #define ifPhysAddress_len ifentry->paddr_len    /* # of char elements, not bytes */
  86.         /*
  87.          * ifAdminStatus(7)/INTEGER/ASN_INTEGER/long(u_long)//l/A/W/E/r/d/h
  88.          */
  89. #define ifAdminStatus ifentry->admin_status
  90.         /*
  91.          * ifOperStatus(8)/INTEGER/ASN_INTEGER/long(u_long)//l/A/w/E/r/d/h
  92.          */
  93. #define ifOperStatus ifentry->oper_status
  94.         /*
  95.          * ifLastChange(9)/TICKS/ASN_TIMETICKS/u_long(u_long)//l/A/w/e/r/d/h
  96.          */
  97.         u_long          ifLastChange;
  98.         /*
  99.          * ifInOctets(10)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  100.          */
  101. #define ifInOctets ifentry->stats.ibytes.low
  102.         /*
  103.          * ifInUcastPkts(11)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  104.          */
  105. #define ifInUcastPkts ifentry->stats.iucast.low
  106.         /*
  107.          * ifInNUcastPkts(12)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  108.          */
  109.         u_long          ifInNUcastPkts;
  110.         /*
  111.          * ifInDiscards(13)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  112.          */
  113. #define ifInDiscards ifentry->stats.idiscards
  114.         /*
  115.          * ifInErrors(14)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  116.          */
  117. #define ifInErrors ifentry->stats.ierrors
  118.         /*
  119.          * ifInUnknownProtos(15)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  120.          */
  121. #define ifInUnknownProtos ifentry->stats.iunknown_protos
  122.         /*
  123.          * ifOutOctets(16)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  124.          */
  125. #define ifOutOctets ifentry->stats.obytes.low
  126.         /*
  127.          * ifOutUcastPkts(17)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  128.          */
  129. #define ifOutUcastPkts ifentry->stats.oucast.low
  130.         /*
  131.          * ifOutNUcastPkts(18)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  132.          */
  133.         u_long          ifOutNUcastPkts;
  134.         /*
  135.          * ifOutDiscards(19)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  136.          */
  137. #define ifOutDiscards ifentry->stats.odiscards
  138.         /*
  139.          * ifOutErrors(20)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  140.          */
  141. #define ifOutErrors ifentry->stats.oerrors
  142.         /*
  143.          * ifOutQLen(21)/GAUGE/ASN_GAUGE/u_long(u_long)//l/A/w/e/r/d/h
  144.          */
  145. #define ifOutQLen ifentry->stats.oqlen
  146.         /*
  147.          * ifSpecific(22)/OBJECTID/ASN_OBJECT_ID/oid(oid)//L/A/w/e/r/d/h
  148.          */
  149. #ifdef IFTABLE_HAS_IFSPECIFIC
  150.         oid             ifSpecific[128];
  151.         size_t          ifSpecific_len; /* # of oid elements, not bytes */
  152. #endif
  153. #ifdef USING_IF_MIB_IFXTABLE_IFXTABLE_MODULE
  154.         /*
  155.          * ifXTable stuff
  156.          */
  157.         /*
  158.          * ifName(1)/DisplayString/ASN_OCTET_STR/char(char)//L/A/w/e/R/d/H
  159.          */
  160. #define ifName ifentry->name
  161.         /*
  162.          * ifInMulticastPkts(2)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  163.          */
  164.         u_long          ifInMulticastPkts;
  165.         /*
  166.          * ifInBroadcastPkts(3)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  167.          */
  168.         u_long          ifInBroadcastPkts;
  169.         /*
  170.          * ifOutMulticastPkts(4)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  171.          */
  172.         u_long          ifOutMulticastPkts;
  173.         /*
  174.          * ifOutBroadcastPkts(5)/COUNTER/ASN_COUNTER/u_long(u_long)//l/A/w/e/r/d/h
  175.          */
  176.         u_long          ifOutBroadcastPkts;
  177.         /*
  178.          * ifHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  179.          */
  180. #define ifHCInOctets ifentry->stats.ibytes
  181.         /*
  182.          * ifHCInUcastPkts(7)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  183.          */
  184. #define ifHCInUcastPkts ifentry->stats.iucast
  185.         /*
  186.          * ifHCInMulticastPkts(8)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  187.          */
  188. #define ifHCInMulticastPkts ifentry->stats.imcast
  189.         /*
  190.          * ifHCInBroadcastPkts(9)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  191.          */
  192. #define ifHCInBroadcastPkts ifentry->stats.ibcast
  193.         /*
  194.          * ifHCOutOctets(10)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  195.          */
  196. #define ifHCOutOctets ifentry->stats.obytes
  197.         /*
  198.          * ifHCOutUcastPkts(11)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  199.          */
  200. #define ifHCOutUcastPkts ifentry->stats.oucast
  201.         /*
  202.          * ifHCOutMulticastPkts(12)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  203.          */
  204. #define ifHCOutMulticastPkts ifentry->stats.omcast
  205.         /*
  206.          * ifHCOutBroadcastPkts(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h
  207.          */
  208. #define ifHCOutBroadcastPkts ifentry->stats.obcast
  209.         /*
  210.          * ifLinkUpDownTrapEnable(14)/INTEGER/ASN_INTEGER/long(u_long)//l/A/W/E/r/d/h
  211.          */
  212.         u_long          ifLinkUpDownTrapEnable;
  213.         /*
  214.          * ifHighSpeed(15)/GAUGE/ASN_GAUGE/u_long(u_long)//l/A/w/e/r/d/h
  215.          */
  216.         u_long          ifHighSpeed;
  217.         /*
  218.          * ifPromiscuousMode(16)/TruthValue/ASN_INTEGER/long(u_long)//l/A/W/E/r/d/h
  219.          */
  220.         u_long          ifPromiscuousMode;
  221.         /*
  222.          * ifConnectorPresent(17)/TruthValue/ASN_INTEGER/long(u_long)//l/A/w/E/r/d/h
  223.          */
  224.         u_long          ifConnectorPresent;
  225.         /*
  226.          * ifAlias(18)/DisplayString/ASN_OCTET_STR/char(char)//L/A/W/e/R/d/H
  227.          */
  228.         char            ifAlias[64];
  229.         size_t          ifAlias_len;    /* # of char elements, not bytes */
  230.         /*
  231.          * ifCounterDiscontinuityTime(19)/TimeStamp/ASN_TIMETICKS/u_long(u_long)//l/A/w/e/r/d/h
  232.          */
  233.         u_long          ifCounterDiscontinuityTime;
  234. #endif                          /* USING_IF_MIB_IFXTABLE_IFXTABLE_MODULE */
  235.         /*
  236.          * some data kept externally 
  237.          */
  238.         netsnmp_interface_entry *ifentry;
  239.     } ifTable_data;
  240.     /*
  241.      *********************************************************************
  242.      * TODO:115:o: |-> Review ifTable undo context.
  243.      * We're just going to use the same data structure for our
  244.      * undo_context. If you want to do something more efficent,
  245.      * define your typedef here.
  246.      */
  247.     typedef ifTable_data ifTable_undo_data;
  248.     /*
  249.      * TODO:120:r: |-> Review ifTable mib index.
  250.      * This structure is used to represent the index for ifTable.
  251.      */
  252.     typedef struct ifTable_mib_index_s {
  253.         /*
  254.          * ifIndex(1)/InterfaceIndex/ASN_INTEGER/long(long)//l/A/w/e/R/d/H
  255.          */
  256.         long            ifIndex;
  257.     } ifTable_mib_index;
  258.     /*
  259.      * TODO:121:r: |   |-> Review ifTable max index length.
  260.      * If you KNOW that your indexes will never exceed a certain
  261.      * length, update this macro to that length.
  262.      */
  263. #define MAX_ifTable_IDX_LEN     1
  264.     /*
  265.      *********************************************************************
  266.      * TODO:130:o: |-> Review ifTable Row request (rowreq) context.
  267.      * When your functions are called, you will be passed a
  268.      * ifTable_rowreq_ctx pointer.
  269.      */
  270.     typedef struct ifTable_rowreq_ctx_s {
  271.     /** this must be first for container compare to work */
  272.         netsnmp_index   oid_idx;
  273.         oid             oid_tmp[MAX_ifTable_IDX_LEN];
  274.         ifTable_mib_index tbl_idx;
  275.         ifTable_data    data;
  276.         ifTable_undo_data *undo;
  277.         unsigned int    column_set_flags;       /* flags for set columns */
  278.         /*
  279.          * flags per row. Currently, the first 8 bits are reserverd
  280.          * for the user. See mfd.h for other flags.
  281.          */
  282.         u_int           rowreq_flags;
  283.         /*
  284.          * implementor's context pointer (provided during registration)
  285.          */
  286.         ifTable_registration_ptr ifTable_reg;
  287.         /*
  288.          * TODO:131:o: |   |-> Add useful data to ifTable rowreq context.
  289.          */
  290.         char            known_missing;
  291.         /*
  292.          * storage for future expansion
  293.          */
  294.         netsnmp_data_list *ifTable_data_list;
  295.     } ifTable_rowreq_ctx;
  296.     typedef struct ifTable_ref_rowreq_ctx_s {
  297.         ifTable_rowreq_ctx *rowreq_ctx;
  298.     } ifTable_ref_rowreq_ctx;
  299.     /*
  300.      *********************************************************************
  301.      * function prototypes
  302.      */
  303.     int             ifTable_pre_request(ifTable_registration_ptr
  304.                                         user_context);
  305.     int             ifTable_post_request(ifTable_registration_ptr
  306.                                          user_context);
  307.     int             ifTable_rowreq_ctx_init(ifTable_rowreq_ctx *
  308.                                             rowreq_ctx,
  309.                                             void *userreq_ctx);
  310.     void            ifTable_rowreq_ctx_cleanup(ifTable_rowreq_ctx *
  311.                                                rowreq_ctx);
  312.     int             ifTable_check_dependencies(ifTable_rowreq_ctx *
  313.                                                rowreq_ctx);
  314.     int             ifTable_commit(ifTable_rowreq_ctx * rowreq_ctx);
  315.     extern oid      ifTable_oid[];
  316.     extern int      ifTable_oid_size;
  317. #include "ifTable_interface.h"
  318. #include "ifTable_data_access.h"
  319.     /*
  320.      *********************************************************************
  321.      * GET function declarations
  322.      */
  323.     /*
  324.      *********************************************************************
  325.      * GET Table declarations
  326.      */
  327. /**********************************************************************
  328.  **********************************************************************
  329.  ***
  330.  *** Table ifTable
  331.  ***
  332.  **********************************************************************
  333.  **********************************************************************/
  334.     /*
  335.      * ifTable is subid 2 of interfaces.
  336.      * Its status is Current.
  337.      * OID: .1.3.6.1.2.1.2.2, length: 8
  338.      */
  339.     /*
  340.      * indexes
  341.      */
  342.     int             ifDescr_get(ifTable_rowreq_ctx * rowreq_ctx,
  343.                                 char **ifDescr_val_ptr_ptr,
  344.                                 size_t *ifDescr_val_ptr_len_ptr);
  345.     int             ifType_get(ifTable_rowreq_ctx * rowreq_ctx,
  346.                                u_long * ifType_val_ptr);
  347.     int             ifMtu_get(ifTable_rowreq_ctx * rowreq_ctx,
  348.                               long *ifMtu_val_ptr);
  349.     int             ifSpeed_get(ifTable_rowreq_ctx * rowreq_ctx,
  350.                                 u_long * ifSpeed_val_ptr);
  351.     int             ifPhysAddress_get(ifTable_rowreq_ctx * rowreq_ctx,
  352.                                       char **ifPhysAddress_val_ptr_ptr,
  353.                                       size_t
  354.                                       *ifPhysAddress_val_ptr_len_ptr);
  355.     int             ifAdminStatus_get(ifTable_rowreq_ctx * rowreq_ctx,
  356.                                       u_long * ifAdminStatus_val_ptr);
  357.     int             ifOperStatus_get(ifTable_rowreq_ctx * rowreq_ctx,
  358.                                      u_long * ifOperStatus_val_ptr);
  359.     int             ifLastChange_get(ifTable_rowreq_ctx * rowreq_ctx,
  360.                                      u_long * ifLastChange_val_ptr);
  361.     int             ifInOctets_get(ifTable_rowreq_ctx * rowreq_ctx,
  362.                                    u_long * ifInOctets_val_ptr);
  363.     int             ifInUcastPkts_get(ifTable_rowreq_ctx * rowreq_ctx,
  364.                                       u_long * ifInUcastPkts_val_ptr);
  365.     int             ifInNUcastPkts_get(ifTable_rowreq_ctx * rowreq_ctx,
  366.                                        u_long * ifInNUcastPkts_val_ptr);
  367.     int             ifInDiscards_get(ifTable_rowreq_ctx * rowreq_ctx,
  368.                                      u_long * ifInDiscards_val_ptr);
  369.     int             ifInErrors_get(ifTable_rowreq_ctx * rowreq_ctx,
  370.                                    u_long * ifInErrors_val_ptr);
  371.     int             ifInUnknownProtos_get(ifTable_rowreq_ctx * rowreq_ctx,
  372.                                           u_long *
  373.                                           ifInUnknownProtos_val_ptr);
  374.     int             ifOutOctets_get(ifTable_rowreq_ctx * rowreq_ctx,
  375.                                     u_long * ifOutOctets_val_ptr);
  376.     int             ifOutUcastPkts_get(ifTable_rowreq_ctx * rowreq_ctx,
  377.                                        u_long * ifOutUcastPkts_val_ptr);
  378.     int             ifOutNUcastPkts_get(ifTable_rowreq_ctx * rowreq_ctx,
  379.                                         u_long * ifOutNUcastPkts_val_ptr);
  380.     int             ifOutDiscards_get(ifTable_rowreq_ctx * rowreq_ctx,
  381.                                       u_long * ifOutDiscards_val_ptr);
  382.     int             ifOutErrors_get(ifTable_rowreq_ctx * rowreq_ctx,
  383.                                     u_long * ifOutErrors_val_ptr);
  384.     int             ifOutQLen_get(ifTable_rowreq_ctx * rowreq_ctx,
  385.                                   u_long * ifOutQLen_val_ptr);
  386.     int             ifSpecific_get(ifTable_rowreq_ctx * rowreq_ctx,
  387.                                    oid ** ifSpecific_val_ptr_ptr,
  388.                                    size_t *ifSpecific_val_ptr_len_ptr);
  389.     int             ifTable_indexes_set_tbl_idx(ifTable_mib_index *
  390.                                                 tbl_idx, long ifIndex_val);
  391.     int             ifTable_indexes_set(ifTable_rowreq_ctx * rowreq_ctx,
  392.                                         long ifIndex_val);
  393.     /*
  394.      *********************************************************************
  395.      * SET function declarations
  396.      */
  397.     /*
  398.      *********************************************************************
  399.      * SET Table declarations
  400.      */
  401. /**********************************************************************
  402.  **********************************************************************
  403.  ***
  404.  *** Table ifTable
  405.  ***
  406.  **********************************************************************
  407.  **********************************************************************/
  408.     /*
  409.      * ifTable is subid 2 of interfaces.
  410.      * Its status is Current.
  411.      * OID: .1.3.6.1.2.1.2.2, length: 8
  412.      */
  413.     int             ifIndex_check_index(ifTable_rowreq_ctx * rowreq_ctx);       /* internal */
  414.     int             ifTable_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  415.     int             ifTable_undo_cleanup(ifTable_rowreq_ctx * rowreq_ctx);
  416.     int             ifTable_commit(ifTable_rowreq_ctx * rowreq_ctx);
  417.     int             ifTable_undo_commit(ifTable_rowreq_ctx * rowreq_ctx);
  418.     int             ifDescr_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  419.                                         char *ifDescr_val_ptr,
  420.                                         size_t ifDescr_val_ptr_len);
  421.     int             ifDescr_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  422.     int             ifDescr_set(ifTable_rowreq_ctx * rowreq_ctx,
  423.                                 char *ifDescr_val_ptr,
  424.                                 size_t ifDescr_val_ptr_len);
  425.     int             ifDescr_undo(ifTable_rowreq_ctx * rowreq_ctx);
  426.     int             ifType_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  427.                                        u_long ifType_val);
  428.     int             ifType_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  429.     int             ifType_set(ifTable_rowreq_ctx * rowreq_ctx,
  430.                                u_long ifType_val);
  431.     int             ifType_undo(ifTable_rowreq_ctx * rowreq_ctx);
  432.     int             ifMtu_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  433.                                       long ifMtu_val);
  434.     int             ifMtu_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  435.     int             ifMtu_set(ifTable_rowreq_ctx * rowreq_ctx,
  436.                               long ifMtu_val);
  437.     int             ifMtu_undo(ifTable_rowreq_ctx * rowreq_ctx);
  438.     int             ifSpeed_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  439.                                         u_long ifSpeed_val);
  440.     int             ifSpeed_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  441.     int             ifSpeed_set(ifTable_rowreq_ctx * rowreq_ctx,
  442.                                 u_long ifSpeed_val);
  443.     int             ifSpeed_undo(ifTable_rowreq_ctx * rowreq_ctx);
  444.     int             ifPhysAddress_check_value(ifTable_rowreq_ctx *
  445.                                               rowreq_ctx,
  446.                                               char *ifPhysAddress_val_ptr,
  447.                                               size_t
  448.                                               ifPhysAddress_val_ptr_len);
  449.     int             ifPhysAddress_undo_setup(ifTable_rowreq_ctx *
  450.                                              rowreq_ctx);
  451.     int             ifPhysAddress_set(ifTable_rowreq_ctx * rowreq_ctx,
  452.                                       char *ifPhysAddress_val_ptr,
  453.                                       size_t ifPhysAddress_val_ptr_len);
  454.     int             ifPhysAddress_undo(ifTable_rowreq_ctx * rowreq_ctx);
  455.     int             ifAdminStatus_check_value(ifTable_rowreq_ctx *
  456.                                               rowreq_ctx,
  457.                                               u_long ifAdminStatus_val);
  458.     int             ifAdminStatus_undo_setup(ifTable_rowreq_ctx *
  459.                                              rowreq_ctx);
  460.     int             ifAdminStatus_set(ifTable_rowreq_ctx * rowreq_ctx,
  461.                                       u_long ifAdminStatus_val);
  462.     int             ifAdminStatus_undo(ifTable_rowreq_ctx * rowreq_ctx);
  463.     int             ifOperStatus_check_value(ifTable_rowreq_ctx *
  464.                                              rowreq_ctx,
  465.                                              u_long ifOperStatus_val);
  466.     int             ifOperStatus_undo_setup(ifTable_rowreq_ctx *
  467.                                             rowreq_ctx);
  468.     int             ifOperStatus_set(ifTable_rowreq_ctx * rowreq_ctx,
  469.                                      u_long ifOperStatus_val);
  470.     int             ifOperStatus_undo(ifTable_rowreq_ctx * rowreq_ctx);
  471.     int             ifLastChange_check_value(ifTable_rowreq_ctx *
  472.                                              rowreq_ctx,
  473.                                              u_long ifLastChange_val);
  474.     int             ifLastChange_undo_setup(ifTable_rowreq_ctx *
  475.                                             rowreq_ctx);
  476.     int             ifLastChange_set(ifTable_rowreq_ctx * rowreq_ctx,
  477.                                      u_long ifLastChange_val);
  478.     int             ifLastChange_undo(ifTable_rowreq_ctx * rowreq_ctx);
  479.     int             ifInOctets_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  480.                                            u_long ifInOctets_val);
  481.     int             ifInOctets_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  482.     int             ifInOctets_set(ifTable_rowreq_ctx * rowreq_ctx,
  483.                                    u_long ifInOctets_val);
  484.     int             ifInOctets_undo(ifTable_rowreq_ctx * rowreq_ctx);
  485.     int             ifInUcastPkts_check_value(ifTable_rowreq_ctx *
  486.                                               rowreq_ctx,
  487.                                               u_long ifInUcastPkts_val);
  488.     int             ifInUcastPkts_undo_setup(ifTable_rowreq_ctx *
  489.                                              rowreq_ctx);
  490.     int             ifInUcastPkts_set(ifTable_rowreq_ctx * rowreq_ctx,
  491.                                       u_long ifInUcastPkts_val);
  492.     int             ifInUcastPkts_undo(ifTable_rowreq_ctx * rowreq_ctx);
  493.     int             ifInNUcastPkts_check_value(ifTable_rowreq_ctx *
  494.                                                rowreq_ctx,
  495.                                                u_long ifInNUcastPkts_val);
  496.     int             ifInNUcastPkts_undo_setup(ifTable_rowreq_ctx *
  497.                                               rowreq_ctx);
  498.     int             ifInNUcastPkts_set(ifTable_rowreq_ctx * rowreq_ctx,
  499.                                        u_long ifInNUcastPkts_val);
  500.     int             ifInNUcastPkts_undo(ifTable_rowreq_ctx * rowreq_ctx);
  501.     int             ifInDiscards_check_value(ifTable_rowreq_ctx *
  502.                                              rowreq_ctx,
  503.                                              u_long ifInDiscards_val);
  504.     int             ifInDiscards_undo_setup(ifTable_rowreq_ctx *
  505.                                             rowreq_ctx);
  506.     int             ifInDiscards_set(ifTable_rowreq_ctx * rowreq_ctx,
  507.                                      u_long ifInDiscards_val);
  508.     int             ifInDiscards_undo(ifTable_rowreq_ctx * rowreq_ctx);
  509.     int             ifInErrors_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  510.                                            u_long ifInErrors_val);
  511.     int             ifInErrors_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  512.     int             ifInErrors_set(ifTable_rowreq_ctx * rowreq_ctx,
  513.                                    u_long ifInErrors_val);
  514.     int             ifInErrors_undo(ifTable_rowreq_ctx * rowreq_ctx);
  515.     int             ifInUnknownProtos_check_value(ifTable_rowreq_ctx *
  516.                                                   rowreq_ctx,
  517.                                                   u_long
  518.                                                   ifInUnknownProtos_val);
  519.     int             ifInUnknownProtos_undo_setup(ifTable_rowreq_ctx *
  520.                                                  rowreq_ctx);
  521.     int             ifInUnknownProtos_set(ifTable_rowreq_ctx * rowreq_ctx,
  522.                                           u_long ifInUnknownProtos_val);
  523.     int             ifInUnknownProtos_undo(ifTable_rowreq_ctx *
  524.                                            rowreq_ctx);
  525.     int             ifOutOctets_check_value(ifTable_rowreq_ctx *
  526.                                             rowreq_ctx,
  527.                                             u_long ifOutOctets_val);
  528.     int             ifOutOctets_undo_setup(ifTable_rowreq_ctx *
  529.                                            rowreq_ctx);
  530.     int             ifOutOctets_set(ifTable_rowreq_ctx * rowreq_ctx,
  531.                                     u_long ifOutOctets_val);
  532.     int             ifOutOctets_undo(ifTable_rowreq_ctx * rowreq_ctx);
  533.     int             ifOutUcastPkts_check_value(ifTable_rowreq_ctx *
  534.                                                rowreq_ctx,
  535.                                                u_long ifOutUcastPkts_val);
  536.     int             ifOutUcastPkts_undo_setup(ifTable_rowreq_ctx *
  537.                                               rowreq_ctx);
  538.     int             ifOutUcastPkts_set(ifTable_rowreq_ctx * rowreq_ctx,
  539.                                        u_long ifOutUcastPkts_val);
  540.     int             ifOutUcastPkts_undo(ifTable_rowreq_ctx * rowreq_ctx);
  541.     int             ifOutNUcastPkts_check_value(ifTable_rowreq_ctx *
  542.                                                 rowreq_ctx,
  543.                                                 u_long
  544.                                                 ifOutNUcastPkts_val);
  545.     int             ifOutNUcastPkts_undo_setup(ifTable_rowreq_ctx *
  546.                                                rowreq_ctx);
  547.     int             ifOutNUcastPkts_set(ifTable_rowreq_ctx * rowreq_ctx,
  548.                                         u_long ifOutNUcastPkts_val);
  549.     int             ifOutNUcastPkts_undo(ifTable_rowreq_ctx * rowreq_ctx);
  550.     int             ifOutDiscards_check_value(ifTable_rowreq_ctx *
  551.                                               rowreq_ctx,
  552.                                               u_long ifOutDiscards_val);
  553.     int             ifOutDiscards_undo_setup(ifTable_rowreq_ctx *
  554.                                              rowreq_ctx);
  555.     int             ifOutDiscards_set(ifTable_rowreq_ctx * rowreq_ctx,
  556.                                       u_long ifOutDiscards_val);
  557.     int             ifOutDiscards_undo(ifTable_rowreq_ctx * rowreq_ctx);
  558.     int             ifOutErrors_check_value(ifTable_rowreq_ctx *
  559.                                             rowreq_ctx,
  560.                                             u_long ifOutErrors_val);
  561.     int             ifOutErrors_undo_setup(ifTable_rowreq_ctx *
  562.                                            rowreq_ctx);
  563.     int             ifOutErrors_set(ifTable_rowreq_ctx * rowreq_ctx,
  564.                                     u_long ifOutErrors_val);
  565.     int             ifOutErrors_undo(ifTable_rowreq_ctx * rowreq_ctx);
  566.     int             ifOutQLen_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  567.                                           u_long ifOutQLen_val);
  568.     int             ifOutQLen_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  569.     int             ifOutQLen_set(ifTable_rowreq_ctx * rowreq_ctx,
  570.                                   u_long ifOutQLen_val);
  571.     int             ifOutQLen_undo(ifTable_rowreq_ctx * rowreq_ctx);
  572.     int             ifSpecific_check_value(ifTable_rowreq_ctx * rowreq_ctx,
  573.                                            oid * ifSpecific_val_ptr,
  574.                                            size_t ifSpecific_val_ptr_len);
  575.     int             ifSpecific_undo_setup(ifTable_rowreq_ctx * rowreq_ctx);
  576.     int             ifSpecific_set(ifTable_rowreq_ctx * rowreq_ctx,
  577.                                    oid * ifSpecific_val_ptr,
  578.                                    size_t ifSpecific_val_ptr_len);
  579.     int             ifSpecific_undo(ifTable_rowreq_ctx * rowreq_ctx);
  580.     int             ifTable_check_dependencies(ifTable_rowreq_ctx * ctx);
  581.     /*
  582.      * DUMMY markers, ignore
  583.      *
  584.      * TODO:099:x: *************************************************************
  585.      * TODO:199:x: *************************************************************
  586.      * TODO:299:x: *************************************************************
  587.      * TODO:399:x: *************************************************************
  588.      * TODO:499:x: *************************************************************
  589.      */
  590. #ifdef __cplusplus
  591. }
  592. #endif
  593. #endif                          /* IFTABLE_H */