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

📄 read_only.c

📁 snmp的源代码,已经在我的ubuntu下编译通过
💻 C
字号:
#include <net-snmp/net-snmp-config.h>#if HAVE_STRING_H#include <string.h>#else#include <strings.h>#endif#include <net-snmp/net-snmp-includes.h>#include <net-snmp/agent/net-snmp-agent-includes.h>#include <net-snmp/agent/read_only.h>#if HAVE_DMALLOC_H#include <dmalloc.h>#endif/** @defgroup read_only read_only: make your handler read_only automatically  *  The only purpose of this handler is to return an *  appropriate error for any requests passed to it in a SET mode. *  Inserting it into your handler chain will ensure you're never *  asked to perform a SET request so you can ignore those error *  conditions. *  @ingroup utilities *  @{ *//** returns a read_only handler that can be injected into a given *  handler chain. */netsnmp_mib_handler *netsnmp_get_read_only_handler(void){    netsnmp_mib_handler *ret = NULL;        ret = netsnmp_create_handler("read_only",                                 netsnmp_read_only_helper);    if (ret) {        ret->flags |= MIB_HANDLER_AUTO_NEXT;    }    return ret;}/** @internal Implements the read_only handler */intnetsnmp_read_only_helper(netsnmp_mib_handler *handler,                         netsnmp_handler_registration *reginfo,                         netsnmp_agent_request_info *reqinfo,                         netsnmp_request_info *requests){    DEBUGMSGTL(("helper:read_only", "Got request\n"));    switch (reqinfo->mode) {    case MODE_SET_RESERVE1:    case MODE_SET_RESERVE2:    case MODE_SET_ACTION:    case MODE_SET_COMMIT:    case MODE_SET_FREE:    case MODE_SET_UNDO:        netsnmp_set_all_requests_error(reqinfo, requests,                                       SNMP_ERR_NOTWRITABLE);        return SNMP_ERR_NOTWRITABLE;    case MODE_GET:    case MODE_GETNEXT:    case MODE_GETBULK:        /* next handler called automatically - 'AUTO_NEXT' */        return SNMP_ERR_NOERROR;    default:        netsnmp_set_all_requests_error(reqinfo, requests,                                       SNMP_ERR_GENERR);        return SNMP_ERR_GENERR;    }    netsnmp_set_all_requests_error(reqinfo, requests, SNMP_ERR_GENERR);    return SNMP_ERR_GENERR;     /* should never get here */}/** initializes the read_only helper which then registers a read_only *  handler as a run-time injectable handler for configuration file *  use. */voidnetsnmp_init_read_only_helper(void){    netsnmp_register_handler_by_name("read_only",                                     netsnmp_get_read_only_handler());}

⌨️ 快捷键说明

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