netsnmp_multiplexer.3snmp

Langue: en

Autres versions - même langue

Version: 284129 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

multiplexer - Splits mode requests into calls to different handlers.

Functions


netsnmp_mib_handler * netsnmp_get_multiplexer_handler (netsnmp_mib_handler_methods *req)
returns a multiplixer handler given a netsnmp_mib_handler_methods structure of subhandlers.
int netsnmp_multiplexer_helper_handler (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
implements the multiplexer helper

Detailed Description

Splits mode requests into calls to different handlers.

The multiplexer helper lets you split the calling chain depending on the calling mode (get vs getnext vs set). Useful if you want different routines to handle different aspects of SNMP requests, which is very common for GET vs SET type actions.

Functionally:

1.
GET requests call the get_method
2.
GETNEXT requests call the getnext_method, or if not present, the get_method.
3.
GETBULK requests call the getbulk_method, or if not present, the getnext_method, or if even that isn't present the get_method.
4.
SET requests call the set_method, or if not present return a SNMP_ERR_NOTWRITABLE error.

Function Documentation

netsnmp_mib_handler* netsnmp_get_multiplexer_handler (netsnmp_mib_handler_methods * req)

returns a multiplixer handler given a netsnmp_mib_handler_methods structure of subhandlers.

Definition at line 33 of file multiplexer.c.

References netsnmp_mib_handler_s::myvoid, netsnmp_create_handler(), netsnmp_multiplexer_helper_handler(), NULL, and snmp_log().

int netsnmp_multiplexer_helper_handler (netsnmp_mib_handler * handler, netsnmp_handler_registration * reginfo, netsnmp_agent_request_info * reqinfo, netsnmp_request_info * requests)

implements the multiplexer helper

Definition at line 54 of file multiplexer.c.

References netsnmp_agent_request_info_s::mode, netsnmp_mib_handler_s::myvoid, netsnmp_call_handler(), netsnmp_request_set_error_all(), and snmp_log().

Referenced by netsnmp_get_multiplexer_handler().