.TH "multiplexer" 3 "31 May 2012" "Version 5.5.2.rc2" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
multiplexer \- 
.PP
Splits mode requests into calls to different handlers.  

.SS "Functions"

.in +1c
.ti -1c
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_multiplexer_handler\fP (\fBnetsnmp_mib_handler_methods\fP *req)"
.br
.RI "\fIreturns a multiplixer handler given a \fBnetsnmp_mib_handler_methods\fP structure of subhandlers. \fP"
.ti -1c
.RI "int \fBnetsnmp_multiplexer_helper_handler\fP (\fBnetsnmp_mib_handler\fP *handler, \fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo, \fBnetsnmp_request_info\fP *requests)"
.br
.RI "\fIimplements the multiplexer helper \fP"
.in -1c
.SH "Detailed Description"
.PP 
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.
.PP
Functionally:
.PP
.IP "1." 4
GET requests call the get_method
.IP "2." 4
GETNEXT requests call the getnext_method, or if not present, the get_method.
.IP "3." 4
GETBULK requests call the getbulk_method, or if not present, the getnext_method, or if even that isn't present the get_method.
.IP "4." 4
SET requests call the set_method, or if not present return a SNMP_ERR_NOTWRITABLE error. 
.PP

.SH "Function Documentation"
.PP 
.SS "\fBnetsnmp_mib_handler\fP* netsnmp_get_multiplexer_handler (\fBnetsnmp_mib_handler_methods\fP * req)"
.PP
returns a multiplixer handler given a \fBnetsnmp_mib_handler_methods\fP structure of subhandlers. 
.PP
Definition at line 33 of file multiplexer.c.
.SS "int netsnmp_multiplexer_helper_handler (\fBnetsnmp_mib_handler\fP * handler, \fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_agent_request_info\fP * reqinfo, \fBnetsnmp_request_info\fP * requests)"
.PP
implements the multiplexer helper 
.PP
Definition at line 54 of file multiplexer.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
