⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inetcidrroutetable.c

📁 开发snmp的开发包有两个开放的SNMP开发库
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * Note: this file originally auto-generated by mib2c using *       version : 1.48 $ of : mfd-top.m2c,v $  * * $Id: inetCidrRouteTable.c 15639 2006-12-06 15:01:27Z rstory $ *//** \page MFD helper for inetCidrRouteTable * * \section intro Introduction * Introductory text. * *//* * standard Net-SNMP includes  */#include <net-snmp/net-snmp-config.h>#include <net-snmp/net-snmp-includes.h>#include <net-snmp/agent/net-snmp-agent-includes.h>/* * include our parent header  */#include "inetCidrRouteTable.h"#include <net-snmp/agent/mib_modules.h>#include "inetCidrRouteTable_interface.h"oid             inetCidrRouteTable_oid[] = { INETCIDRROUTETABLE_OID };int             inetCidrRouteTable_oid_size =OID_LENGTH(inetCidrRouteTable_oid);inetCidrRouteTable_registration inetCidrRouteTable_user_context;void            initialize_table_inetCidrRouteTable(void);void            shutdown_table_inetCidrRouteTable(void);int_route_number_handler(netsnmp_mib_handler *handler,                      netsnmp_handler_registration *reginfo,                      netsnmp_agent_request_info *reqinfo,                      netsnmp_request_info *requests);/** * Initializes the inetCidrRouteTable module */voidinit_inetCidrRouteTable(void){    DEBUGMSGTL(("verbose:inetCidrRouteTable:init_inetCidrRouteTable",                "called\n"));    /*     * TODO:300:o: Perform inetCidrRouteTable one-time module initialization.     */    /*     * here we initialize all the tables we're planning on supporting     */    if (should_init("inetCidrRouteTable"))        initialize_table_inetCidrRouteTable();}                               /* init_inetCidrRouteTable *//** * Shut-down the inetCidrRouteTable module (agent is exiting) */voidshutdown_inetCidrRouteTable(void){    if (should_init("inetCidrRouteTable"))        shutdown_table_inetCidrRouteTable();}/** * Initialize the table inetCidrRouteTable  *    (Define its contents and how it's structured) */voidinitialize_table_inetCidrRouteTable(void){    inetCidrRouteTable_registration *user_context;    u_long          flags;    DEBUGMSGTL(("verbose:inetCidrRouteTable:initialize_table_inetCidrRouteTable", "called\n"));    /*     * TODO:301:o: Perform inetCidrRouteTable one-time table initialization.     */    /*     * TODO:302:o: |->Initialize inetCidrRouteTable user context     * if you'd like to pass in a pointer to some data for this     * table, allocate or set it up here.     */    /*     * a netsnmp_data_list is a simple way to store void pointers. A simple     * string token is used to add, find or remove pointers.     */    user_context =        netsnmp_create_data_list("inetCidrRouteTable", NULL, NULL);    /*     * No support for any flags yet, but in the future you would     * set any flags here.     */    flags = 0;    /*     * call interface initialization code     */    _inetCidrRouteTable_initialize_interface(user_context, flags);    /*     * regester scalar for route number     */    {        oid             reg_oid[] =            { INETCIDRROUTENUMBER_OID };        netsnmp_handler_registration *myreg;        netsnmp_mib_handler *handler;        myreg =            netsnmp_create_handler_registration("route number",                                                _route_number_handler,                                                reg_oid,                                                OID_LENGTH(reg_oid),                                                HANDLER_CAN_RONLY);        /*         * snarf cache to use w/cache handler to make sure the         * container is loaded w/up to date data.         */        netsnmp_assert(NULL != inetCidrRouteTable_get_cache());        handler =            netsnmp_cache_handler_get(inetCidrRouteTable_get_cache());        netsnmp_inject_handler(myreg, handler);                netsnmp_register_instance(myreg);    }}                               /* initialize_table_inetCidrRouteTable *//** * Shutdown the table inetCidrRouteTable  */voidshutdown_table_inetCidrRouteTable(void){    /*     * call interface shutdown code     */    _inetCidrRouteTable_shutdown_interface        (&inetCidrRouteTable_user_context);}/** * extra context initialization (eg default values) * * @param rowreq_ctx    : row request context * @param user_init_ctx : void pointer for user (parameter to rowreq_ctx_allocate) * * @retval MFD_SUCCESS  : no errors * @retval MFD_ERROR    : error (context allocate will fail) */intinetCidrRouteTable_rowreq_ctx_init(inetCidrRouteTable_rowreq_ctx *                                   rowreq_ctx, void *user_init_ctx){    DEBUGMSGTL(("verbose:inetCidrRouteTable:inetCidrRouteTable_rowreq_ctx_init", "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:210:o: |-> Perform extra inetCidrRouteTable rowreq initialization. (eg DEFVALS)     */    rowreq_ctx->data->rt_nexthop_type = 0;    rowreq_ctx->data->rt_metric1 = -1;    rowreq_ctx->data->rt_metric2 = -1;    rowreq_ctx->data->rt_metric3 = -1;    rowreq_ctx->data->rt_metric4 = -1;    rowreq_ctx->data->rt_metric5 = -1;    return MFD_SUCCESS;}                               /* inetCidrRouteTable_rowreq_ctx_init *//** * extra context cleanup * */voidinetCidrRouteTable_rowreq_ctx_cleanup(inetCidrRouteTable_rowreq_ctx *                                      rowreq_ctx){    DEBUGMSGTL(("verbose:inetCidrRouteTable:inetCidrRouteTable_rowreq_ctx_cleanup", "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:211:o: |-> Perform extra inetCidrRouteTable rowreq cleanup.     */    if (NULL != rowreq_ctx->data) {        inetCidrRouteTable_release_data(rowreq_ctx->data);        rowreq_ctx->data = NULL;    }}                               /* inetCidrRouteTable_rowreq_ctx_cleanup *//** * pre-request callback * * * @retval MFD_SUCCESS              : success. * @retval MFD_ERROR                : other error */intinetCidrRouteTable_pre_request(inetCidrRouteTable_registration *                               user_context){    DEBUGMSGTL(("verbose:inetCidrRouteTable:inetCidrRouteTable_pre_request", "called\n"));    /*     * TODO:510:o: Perform inetCidrRouteTable pre-request actions.     */    return MFD_SUCCESS;}                               /* inetCidrRouteTable_pre_request *//** * post-request callback * * Note: *   New rows have been inserted into the container, and *   deleted rows have been removed from the container and *   released. * * @param user_context  * @param rc : MFD_SUCCESS if all requests succeeded * * @retval MFD_SUCCESS : success. * @retval MFD_ERROR   : other error (ignored) */intinetCidrRouteTable_post_request(inetCidrRouteTable_registration *                                user_context, int rc){    DEBUGMSGTL(("verbose:inetCidrRouteTable:inetCidrRouteTable_post_request", "called\n"));    /*     * TODO:511:o: Perform inetCidrRouteTable post-request actions.     */    /*     * check to set if any rows were changed.     */    if (inetCidrRouteTable_dirty_get()) {        /*         * check if request was successful. If so, this would be         * a good place to save data to its persistent store.         */        if (MFD_SUCCESS == rc) {            /*             * save changed rows, if you haven't already             */        }        inetCidrRouteTable_dirty_set(0);        /* clear table dirty flag */    }    return MFD_SUCCESS;}                               /* inetCidrRouteTable_post_request *//********************************************************************** ********************************************************************** *** *** Table inetCidrRouteTable *** ********************************************************************** **********************************************************************//* * IP-FORWARD-MIB::inetCidrRouteTable is subid 7 of ipForward. * Its status is Current. * OID: .1.3.6.1.2.1.4.24.7, length: 9 *//* * --------------------------------------------------------------------- * * TODO:200:r: Implement inetCidrRouteTable data context functions. *//* * inetCidrRouteTable_allocate_data * * Purpose: create new inetCidrRouteTable_data-> */inetCidrRouteTable_data *inetCidrRouteTable_allocate_data(void){    /*     * TODO:201:r: |-> allocate memory for the inetCidrRouteTable data context.     */    inetCidrRouteTable_data *rtn = netsnmp_access_route_entry_create();    DEBUGMSGTL(("verbose:inetCidrRouteTable:inetCidrRouteTable_allocate_data", "called\n"));    if (NULL == rtn) {        snmp_log(LOG_ERR, "unable to malloc memory for new "                 "inetCidrRouteTable_data->\n");    }    return rtn;}                               /* inetCidrRouteTable_allocate_data *//* * inetCidrRouteTable_release_data * * Purpose: release inetCidrRouteTable data-> */voidinetCidrRouteTable_release_data(inetCidrRouteTable_data * data){    DEBUGMSGTL(("verbose:inetCidrRouteTable:inetCidrRouteTable_release_data", "called\n"));    /*     * TODO:202:r: |-> release memory for the inetCidrRouteTable data context.     */    netsnmp_access_route_entry_free(data);}                               /* inetCidrRouteTable_release_data *//** * set mib index(es) * * @param tbl_idx mib index structure * @param inetCidrRouteDestType_val * @param inetCidrRouteDest_val_ptr * @param inetCidrRouteDest_val_ptr_len * @param inetCidrRoutePfxLen_val * @param inetCidrRoutePolicy_val_ptr * @param inetCidrRoutePolicy_val_ptr_len * @param inetCidrRouteNextHopType_val * @param inetCidrRouteNextHop_val_ptr * @param inetCidrRouteNextHop_val_ptr_len * @retval MFD_SUCCESS     : success. * @retval MFD_ERROR       : other error. * * @remark *  This convenience function is useful for setting all the MIB index *  components with a single function call. It is assume that the C values *  have already been mapped from their native/rawformat to the MIB format. */intinetCidrRouteTable_indexes_set_tbl_idx(inetCidrRouteTable_mib_index *                                       tbl_idx,                                       u_long inetCidrRouteDestType_val,                                       char *inetCidrRouteDest_val_ptr,                                       size_t                                       inetCidrRouteDest_val_ptr_len,                                       u_long inetCidrRoutePfxLen_val,                                       oid * inetCidrRoutePolicy_val_ptr,                                       size_t                                       inetCidrRoutePolicy_val_ptr_len,                                       u_long inetCidrRouteNextHopType_val,                                       char *inetCidrRouteNextHop_val_ptr,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -