.TH "netsnmp_mib_handler_s" 3 "24 Jun 2011" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
netsnmp_mib_handler_s \- 
.PP
the mib handler structure to be registered  

.SH SYNOPSIS
.br
.PP
.PP
\fC#include <agent_handler.h>\fP
.SS "Data Fields"

.in +1c
.ti -1c
.RI "char * \fBhandler_name\fP"
.br
.ti -1c
.RI "void * \fBmyvoid\fP"
.br
.RI "\fIfor handler's internal use \fP"
.ti -1c
.RI "int \fBflags\fP"
.br
.RI "\fIfor agent_handler's internal use \fP"
.ti -1c
.RI "int(* \fBaccess_method\fP )(struct \fBnetsnmp_mib_handler_s\fP *, struct \fBnetsnmp_handler_registration_s\fP *, struct \fBnetsnmp_agent_request_info_s\fP *, struct \fBnetsnmp_request_info_s\fP *)"
.br
.RI "\fIif you add more members, you probably also want to update \fP"
.ti -1c
.RI "void(* \fBdata_free\fP )(void *\fBmyvoid\fP)"
.br
.RI "\fIdata free hook for myvoid \fP"
.ti -1c
.RI "struct \fBnetsnmp_mib_handler_s\fP * \fBnext\fP"
.br
.ti -1c
.RI "struct \fBnetsnmp_mib_handler_s\fP * \fBprev\fP"
.br
.in -1c
.SH "Detailed Description"
.PP 
the mib handler structure to be registered 
.PP
\fBExamples: \fP
.in +1c
.PP
\fBdelayed_instance.c\fP.
.PP
Definition at line 48 of file agent_handler.h.
.SH "Field Documentation"
.PP 
.SS "int(* \fBnetsnmp_mib_handler_s::access_method\fP)(struct \fBnetsnmp_mib_handler_s\fP *, struct \fBnetsnmp_handler_registration_s\fP *, struct \fBnetsnmp_agent_request_info_s\fP *, struct \fBnetsnmp_request_info_s\fP *)"
.PP
if you add more members, you probably also want to update _clone_handler in \fBagent_handler.c\fP. 
.SS "void(* \fBnetsnmp_mib_handler_s::data_free\fP)(void *\fBmyvoid\fP)"
.PP
data free hook for myvoid 
.SS "int \fBnetsnmp_mib_handler_s::flags\fP"
.PP
for agent_handler's internal use 
.PP
Definition at line 53 of file agent_handler.h.
.SS "void* \fBnetsnmp_mib_handler_s::myvoid\fP"
.PP
for handler's internal use 
.PP
Definition at line 51 of file agent_handler.h.

.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
