.TH "read_only" 3 "24 Jun 2011" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
read_only \- 
.PP
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.  

.SS "Functions"

.in +1c
.ti -1c
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_read_only_handler\fP (void)"
.br
.RI "\fIreturns a read_only handler that can be injected into a given handler chain. \fP"
.ti -1c
.RI "int \fBnetsnmp_read_only_helper\fP (\fBnetsnmp_mib_handler\fP *handler, \fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo, \fBnetsnmp_request_info\fP *requests)"
.br
.ti -1c
.RI "void \fBnetsnmp_init_read_only_helper\fP (void)"
.br
.RI "\fIinitializes the read_only helper which then registers a read_only handler as a run-time injectable handler for configuration file use. \fP"
.in -1c
.SH "Detailed Description"
.PP 
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. 
.SH "Function Documentation"
.PP 
.SS "\fBnetsnmp_mib_handler\fP* netsnmp_get_read_only_handler (void)"
.PP
returns a read_only handler that can be injected into a given handler chain. 
.PP
Definition at line 29 of file read_only.c.
.SS "void netsnmp_init_read_only_helper (void)"
.PP
initializes the read_only helper which then registers a read_only handler as a run-time injectable handler for configuration file use. 
.PP
Definition at line 81 of file read_only.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
