/*
 * Note: this file originally auto-generated by mib2c using
 *       version : 1.48 $ of : mfd-top.m2c,v $
 *
 * $Id$
 */
#ifndef IFXTABLE_H
#define IFXTABLE_H

#ifdef __cplusplus
extern          "C" {
#endif


/** @addtogroup misc misc: Miscellaneous routines
 *
 * @{
 */
#include <net-snmp/library/asn1.h>
#include <net-snmp/data_access/interface.h>

#include "if-mib/ifTable/ifTable.h"

    /*
     * other required module components 
     */
    /* *INDENT-OFF*  */
config_require(if-mib/ifTable/ifTable)
config_require(if-mib/ifXTable/ifXTable_interface)
config_require(if-mib/ifXTable/ifXTable_data_access)
    /* *INDENT-ON*  */

    /*
     * OID, column number and enum definions for ifXTable 
     */
#include "ifXTable_constants.h"

    /*
     *********************************************************************
     * function declarations
     */
    void            init_ifXTable(void);
    void            initialize_table_ifXTable(void);
    void            shutdown_ifXTable(void);

    /*
     *********************************************************************
     * Table declarations
     */
/**********************************************************************
 **********************************************************************
 ***
 *** Table ifXTable
 ***
 **********************************************************************
 **********************************************************************/
    /*
     * IF-MIB::ifXTable is subid 1 of ifMIBObjects.
     * Its status is Current.
     * OID: .1.3.6.1.2.1.31.1.1, length: 9
     *
     * we share data structures (data too, in fact) with ifTable
     */

    typedef ifTable_registration ifXTable_registration;
    typedef ifTable_data ifXTable_data;
    typedef ifTable_undo_data ifXTable_undo_data;
    typedef ifTable_mib_index ifXTable_mib_index;
    typedef ifTable_rowreq_ctx ifXTable_rowreq_ctx;
    typedef ifTable_ref_rowreq_ctx ifXTable_ref_rowreq_ctx;

#define ifXTable_data_list           ifTable_data_list
#define ifXTable_reg                 ifTable_reg

    /*
     *********************************************************************
     * function prototypes
     */
    int             ifXTable_pre_request(ifXTable_registration *
                                         user_context);
    int             ifXTable_post_request(ifXTable_registration *
                                          user_context, int rc);

    int             ifXTable_rowreq_ctx_init(ifXTable_rowreq_ctx *
                                             rowreq_ctx,
                                             void *user_init_ctx);
    void            ifXTable_rowreq_ctx_cleanup(ifXTable_rowreq_ctx *
                                                rowreq_ctx);

    int             ifXTable_check_dependencies(ifXTable_rowreq_ctx *
                                                rowreq_ctx);
    int             ifXTable_commit(ifXTable_rowreq_ctx * rowreq_ctx);

    ifXTable_rowreq_ctx *ifXTable_row_find_by_mib_index(ifXTable_mib_index
                                                        * mib_idx);

    extern const oid      ifXTable_oid[];
    extern const int      ifXTable_oid_size;


#include "ifXTable_interface.h"
#include "ifXTable_data_access.h"
    /*
     *********************************************************************
     * GET function declarations
     */

    /*
     *********************************************************************
     * GET Table declarations
     */
/**********************************************************************
 **********************************************************************
 ***
 *** Table ifXTable
 ***
 **********************************************************************
 **********************************************************************/
    /*
     * IF-MIB::ifXTable is subid 1 of ifMIBObjects.
     * Its status is Current.
     * OID: .1.3.6.1.2.1.31.1.1, length: 9
     */
    /*
     * indexes
     */

    int             ifName_get(ifXTable_rowreq_ctx * rowreq_ctx,
                               char **ifName_val_ptr_ptr,
                               size_t * ifName_val_ptr_len_ptr);
    int             ifInMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                          u_long *
                                          ifInMulticastPkts_val_ptr);
    int             ifInBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                          u_long *
                                          ifInBroadcastPkts_val_ptr);
    int             ifOutMulticastPkts_get(ifXTable_rowreq_ctx *
                                           rowreq_ctx,
                                           u_long *
                                           ifOutMulticastPkts_val_ptr);
    int             ifOutBroadcastPkts_get(ifXTable_rowreq_ctx *
                                           rowreq_ctx,
                                           u_long *
                                           ifOutBroadcastPkts_val_ptr);
    int             ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                     struct counter64 *ifHCInOctets_val_ptr);
    int             ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                        struct counter64 *ifHCInUcastPkts_val_ptr);
    int             ifHCInMulticastPkts_get(ifXTable_rowreq_ctx *
                                            rowreq_ctx,
                                            struct counter64 *
                                            ifHCInMulticastPkts_val_ptr);
    int             ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx *
                                            rowreq_ctx,
                                            struct counter64 *
                                            ifHCInBroadcastPkts_val_ptr);
    int             ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                      struct counter64 *ifHCOutOctets_val_ptr);
    int             ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                         struct counter64 *ifHCOutUcastPkts_val_ptr);
    int             ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx *
                                             rowreq_ctx,
                                             struct counter64 *
                                             ifHCOutMulticastPkts_val_ptr);
    int             ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx *
                                             rowreq_ctx,
                                             struct counter64 *
                                             ifHCOutBroadcastPkts_val_ptr);
    int             ifLinkUpDownTrapEnable_get(ifXTable_rowreq_ctx *
                                               rowreq_ctx,
                                               u_long *
                                               ifLinkUpDownTrapEnable_val_ptr);
    int             ifHighSpeed_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                    u_long * ifHighSpeed_val_ptr);
    int             ifPromiscuousMode_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                          u_long *
                                          ifPromiscuousMode_val_ptr);
    int             ifConnectorPresent_get(ifXTable_rowreq_ctx *
                                           rowreq_ctx,
                                           u_long *
                                           ifConnectorPresent_val_ptr);
    int             ifAlias_get(ifXTable_rowreq_ctx * rowreq_ctx,
                                char **ifAlias_val_ptr_ptr,
                                size_t * ifAlias_val_ptr_len_ptr);
    int             ifCounterDiscontinuityTime_get(ifXTable_rowreq_ctx *
                                                   rowreq_ctx,
                                                   u_long *
                                                   ifCounterDiscontinuityTime_val_ptr);


    int             ifXTable_indexes_set_tbl_idx(ifXTable_mib_index *
                                                 tbl_idx,
                                                 long ifIndex_val);
    int             ifXTable_indexes_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                         long ifIndex_val);



    /*
     *********************************************************************
     * SET function declarations
     */

    /*
     *********************************************************************
     * SET Table declarations
     */
/**********************************************************************
 **********************************************************************
 ***
 *** Table ifXTable
 ***
 **********************************************************************
 **********************************************************************/
    /*
     * IF-MIB::ifXTable is subid 1 of ifMIBObjects.
     * Its status is Current.
     * OID: .1.3.6.1.2.1.31.1.1, length: 9
     */

#ifndef NETSNMP_NO_WRITE_SUPPORT
    int             ifXTable_undo_setup(ifXTable_rowreq_ctx * rowreq_ctx);
    int             ifXTable_undo_cleanup(ifXTable_rowreq_ctx *
                                          rowreq_ctx);
    int             ifXTable_undo(ifXTable_rowreq_ctx * rowreq_ctx);
    int             ifXTable_commit(ifXTable_rowreq_ctx * rowreq_ctx);
    int             ifXTable_undo_commit(ifXTable_rowreq_ctx * rowreq_ctx);


    int             ifName_check_value(ifXTable_rowreq_ctx * rowreq_ctx,
                                       char *ifName_val_ptr,
                                       size_t ifName_val_ptr_len);
    int             ifName_undo_setup(ifXTable_rowreq_ctx * rowreq_ctx);
    int             ifName_set(ifXTable_rowreq_ctx * rowreq_ctx,
                               char *ifName_val_ptr,
                               size_t ifName_val_ptr_len);
    int             ifName_undo(ifXTable_rowreq_ctx * rowreq_ctx);

    int             ifInMulticastPkts_check_value(ifXTable_rowreq_ctx *
                                                  rowreq_ctx,
                                                  u_long
                                                  ifInMulticastPkts_val);
    int             ifInMulticastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                 rowreq_ctx);
    int             ifInMulticastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                          u_long ifInMulticastPkts_val);
    int             ifInMulticastPkts_undo(ifXTable_rowreq_ctx *
                                           rowreq_ctx);

    int             ifInBroadcastPkts_check_value(ifXTable_rowreq_ctx *
                                                  rowreq_ctx,
                                                  u_long
                                                  ifInBroadcastPkts_val);
    int             ifInBroadcastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                 rowreq_ctx);
    int             ifInBroadcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                          u_long ifInBroadcastPkts_val);
    int             ifInBroadcastPkts_undo(ifXTable_rowreq_ctx *
                                           rowreq_ctx);

    int             ifOutMulticastPkts_check_value(ifXTable_rowreq_ctx *
                                                   rowreq_ctx,
                                                   u_long
                                                   ifOutMulticastPkts_val);
    int             ifOutMulticastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                  rowreq_ctx);
    int             ifOutMulticastPkts_set(ifXTable_rowreq_ctx *
                                           rowreq_ctx,
                                           u_long ifOutMulticastPkts_val);
    int             ifOutMulticastPkts_undo(ifXTable_rowreq_ctx *
                                            rowreq_ctx);

    int             ifOutBroadcastPkts_check_value(ifXTable_rowreq_ctx *
                                                   rowreq_ctx,
                                                   u_long
                                                   ifOutBroadcastPkts_val);
    int             ifOutBroadcastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                  rowreq_ctx);
    int             ifOutBroadcastPkts_set(ifXTable_rowreq_ctx *
                                           rowreq_ctx,
                                           u_long ifOutBroadcastPkts_val);
    int             ifOutBroadcastPkts_undo(ifXTable_rowreq_ctx *
                                            rowreq_ctx);

    int             ifHCInOctets_check_value(ifXTable_rowreq_ctx *
                                             rowreq_ctx,
                                             struct counter64 ifHCInOctets_val);
    int             ifHCInOctets_undo_setup(ifXTable_rowreq_ctx *
                                            rowreq_ctx);
    int             ifHCInOctets_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                     struct counter64 ifHCInOctets_val);
    int             ifHCInOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx);

    int             ifHCInUcastPkts_check_value(ifXTable_rowreq_ctx *
                                                rowreq_ctx,
                                                struct counter64 ifHCInUcastPkts_val);
    int             ifHCInUcastPkts_undo_setup(ifXTable_rowreq_ctx *
                                               rowreq_ctx);
    int             ifHCInUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                        struct counter64 ifHCInUcastPkts_val);
    int             ifHCInUcastPkts_undo(ifXTable_rowreq_ctx * rowreq_ctx);

    int             ifHCInMulticastPkts_check_value(ifXTable_rowreq_ctx *
                                                    rowreq_ctx,
                                                    struct counter64
                                                    ifHCInMulticastPkts_val);
    int             ifHCInMulticastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                   rowreq_ctx);
    int             ifHCInMulticastPkts_set(ifXTable_rowreq_ctx *
                                            rowreq_ctx,
                                            struct counter64 ifHCInMulticastPkts_val);
    int             ifHCInMulticastPkts_undo(ifXTable_rowreq_ctx *
                                             rowreq_ctx);

    int             ifHCInBroadcastPkts_check_value(ifXTable_rowreq_ctx *
                                                    rowreq_ctx,
                                                    struct counter64
                                                    ifHCInBroadcastPkts_val);
    int             ifHCInBroadcastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                   rowreq_ctx);
    int             ifHCInBroadcastPkts_set(ifXTable_rowreq_ctx *
                                            rowreq_ctx,
                                            struct counter64 ifHCInBroadcastPkts_val);
    int             ifHCInBroadcastPkts_undo(ifXTable_rowreq_ctx *
                                             rowreq_ctx);

    int             ifHCOutOctets_check_value(ifXTable_rowreq_ctx *
                                              rowreq_ctx,
                                              struct counter64 ifHCOutOctets_val);
    int             ifHCOutOctets_undo_setup(ifXTable_rowreq_ctx *
                                             rowreq_ctx);
    int             ifHCOutOctets_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                      struct counter64 ifHCOutOctets_val);
    int             ifHCOutOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx);

    int             ifHCOutUcastPkts_check_value(ifXTable_rowreq_ctx *
                                                 rowreq_ctx,
                                                 struct counter64 ifHCOutUcastPkts_val);
    int             ifHCOutUcastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                rowreq_ctx);
    int             ifHCOutUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                         struct counter64 ifHCOutUcastPkts_val);
    int             ifHCOutUcastPkts_undo(ifXTable_rowreq_ctx *
                                          rowreq_ctx);

    int             ifHCOutMulticastPkts_check_value(ifXTable_rowreq_ctx *
                                                     rowreq_ctx,
                                                     struct counter64
                                                     ifHCOutMulticastPkts_val);
    int             ifHCOutMulticastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                    rowreq_ctx);
    int             ifHCOutMulticastPkts_set(ifXTable_rowreq_ctx *
                                             rowreq_ctx,
                                             struct counter64 ifHCOutMulticastPkts_val);
    int             ifHCOutMulticastPkts_undo(ifXTable_rowreq_ctx *
                                              rowreq_ctx);

    int             ifHCOutBroadcastPkts_check_value(ifXTable_rowreq_ctx *
                                                     rowreq_ctx,
                                                     struct counter64
                                                     ifHCOutBroadcastPkts_val);
    int             ifHCOutBroadcastPkts_undo_setup(ifXTable_rowreq_ctx *
                                                    rowreq_ctx);
    int             ifHCOutBroadcastPkts_set(ifXTable_rowreq_ctx *
                                             rowreq_ctx,
                                             struct counter64 ifHCOutBroadcastPkts_val);
    int             ifHCOutBroadcastPkts_undo(ifXTable_rowreq_ctx *
                                              rowreq_ctx);

    int             ifLinkUpDownTrapEnable_check_value(ifXTable_rowreq_ctx
                                                       * rowreq_ctx,
                                                       u_long
                                                       ifLinkUpDownTrapEnable_val);
    int             ifLinkUpDownTrapEnable_undo_setup(ifXTable_rowreq_ctx *
                                                      rowreq_ctx);
    int             ifLinkUpDownTrapEnable_set(ifXTable_rowreq_ctx *
                                               rowreq_ctx,
                                               u_long
                                               ifLinkUpDownTrapEnable_val);
    int             ifLinkUpDownTrapEnable_undo(ifXTable_rowreq_ctx *
                                                rowreq_ctx);

    int             ifHighSpeed_check_value(ifXTable_rowreq_ctx *
                                            rowreq_ctx,
                                            u_long ifHighSpeed_val);
    int             ifHighSpeed_undo_setup(ifXTable_rowreq_ctx *
                                           rowreq_ctx);
    int             ifHighSpeed_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                    u_long ifHighSpeed_val);
    int             ifHighSpeed_undo(ifXTable_rowreq_ctx * rowreq_ctx);

    int             ifPromiscuousMode_check_value(ifXTable_rowreq_ctx *
                                                  rowreq_ctx,
                                                  u_long
                                                  ifPromiscuousMode_val);
    int             ifPromiscuousMode_undo_setup(ifXTable_rowreq_ctx *
                                                 rowreq_ctx);
    int             ifPromiscuousMode_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                          u_long ifPromiscuousMode_val);
    int             ifPromiscuousMode_undo(ifXTable_rowreq_ctx *
                                           rowreq_ctx);

    int             ifConnectorPresent_check_value(ifXTable_rowreq_ctx *
                                                   rowreq_ctx,
                                                   u_long
                                                   ifConnectorPresent_val);
    int             ifConnectorPresent_undo_setup(ifXTable_rowreq_ctx *
                                                  rowreq_ctx);
    int             ifConnectorPresent_set(ifXTable_rowreq_ctx *
                                           rowreq_ctx,
                                           u_long ifConnectorPresent_val);
    int             ifConnectorPresent_undo(ifXTable_rowreq_ctx *
                                            rowreq_ctx);

    int             ifAlias_check_value(ifXTable_rowreq_ctx * rowreq_ctx,
                                        char *ifAlias_val_ptr,
                                        size_t ifAlias_val_ptr_len);
    int             ifAlias_undo_setup(ifXTable_rowreq_ctx * rowreq_ctx);
    int             ifAlias_set(ifXTable_rowreq_ctx * rowreq_ctx,
                                char *ifAlias_val_ptr,
                                size_t ifAlias_val_ptr_len);
    int             ifAlias_undo(ifXTable_rowreq_ctx * rowreq_ctx);

    int
        ifCounterDiscontinuityTime_check_value(ifXTable_rowreq_ctx *
                                               rowreq_ctx,
                                               u_long
                                               ifCounterDiscontinuityTime_val);
    int
        ifCounterDiscontinuityTime_undo_setup(ifXTable_rowreq_ctx *
                                              rowreq_ctx);
    int             ifCounterDiscontinuityTime_set(ifXTable_rowreq_ctx *
                                                   rowreq_ctx,
                                                   u_long
                                                   ifCounterDiscontinuityTime_val);
    int             ifCounterDiscontinuityTime_undo(ifXTable_rowreq_ctx *
                                                    rowreq_ctx);


    int             ifXTable_check_dependencies(ifXTable_rowreq_ctx * ctx);
#endif /* !NETSNMP_NO_WRITE_SUPPORT */

    /*
     * DUMMY markers, ignore
     *
     * TODO:099:x: *************************************************************
     * TODO:199:x: *************************************************************
     * TODO:299:x: *************************************************************
     * TODO:399:x: *************************************************************
     * TODO:499:x: *************************************************************
     */

#ifdef __cplusplus
}
#endif
#endif                          /* IFXTABLE_H */
/**  @} */

