.TH "row_merge" 3 "24 Jun 2011" "Version 5.4.3.pre1" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
row_merge \- 
.PP
Calls sub handlers with request for one row at a time.  

.SS "Defines"

.in +1c
.ti -1c
.RI "#define \fBROW_MERGE_WAITING\fP   0"
.br
.ti -1c
.RI "#define \fBROW_MERGE_ACTIVE\fP   1"
.br
.ti -1c
.RI "#define \fBROW_MERGE_DONE\fP   2"
.br
.ti -1c
.RI "#define \fBROW_MERGE_HEAD\fP   3"
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "\fBnetsnmp_mib_handler\fP * \fBnetsnmp_get_row_merge_handler\fP (int prefix_len)"
.br
.RI "\fIreturns a row_merge handler that can be injected into a given handler chain. \fP"
.ti -1c
.RI "int \fBnetsnmp_register_row_merge\fP (\fBnetsnmp_handler_registration\fP *reginfo)"
.br
.RI "\fIfunctionally the same as calling \fBnetsnmp_register_handler()\fP but also injects a row_merge handler at the same time for you. \fP"
.ti -1c
.RI "\fBnetsnmp_row_merge_status\fP * \fBnetsnmp_row_merge_status_get\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo, int create_missing)"
.br
.RI "\fIretrieve row_merge_status \fP"
.ti -1c
.RI "int \fBnetsnmp_row_merge_status_first\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo)"
.br
.RI "\fIDetermine if this is the first row. \fP"
.ti -1c
.RI "int \fBnetsnmp_row_merge_status_last\fP (\fBnetsnmp_handler_registration\fP *reginfo, \fBnetsnmp_agent_request_info\fP *reqinfo)"
.br
.RI "\fIDetermine if this is the last row. \fP"
.ti -1c
.RI "int \fBnetsnmp_row_merge_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 row_merge handler. \fP"
.ti -1c
.RI "void \fBnetsnmp_init_row_merge\fP (void)"
.br
.RI "\fIinitializes the row_merge helper which then registers a row_merge handler as a run-time injectable handler for configuration file use. \fP"
.in -1c
.SH "Detailed Description"
.PP 
Calls sub handlers with request for one row at a time. 

This helper splits a whole bunch of requests into chunks based on the row index that they refer to, and passes all requests for a given row to the lower handlers. This is useful for handlers that don't want to process multiple rows at the same time, but are happy to iterate through the request list for a single row. 
.SH "Function Documentation"
.PP 
.SS "\fBnetsnmp_mib_handler\fP* netsnmp_get_row_merge_handler (int prefix_len)"
.PP
returns a row_merge handler that can be injected into a given handler chain. 
.PP
Definition at line 28 of file row_merge.c.
.SS "void netsnmp_init_row_merge (void)"
.PP
initializes the row_merge helper which then registers a row_merge handler as a run-time injectable handler for configuration file use. 
.PP
Definition at line 360 of file row_merge.c.
.SS "int netsnmp_register_row_merge (\fBnetsnmp_handler_registration\fP * reginfo)"
.PP
functionally the same as calling \fBnetsnmp_register_handler()\fP but also injects a row_merge handler at the same time for you. 
.PP
Definition at line 42 of file row_merge.c.
.SS "int netsnmp_row_merge_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 row_merge handler. 
.PP
Definition at line 154 of file row_merge.c.
.SS "int netsnmp_row_merge_status_first (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_agent_request_info\fP * reqinfo)"
.PP
Determine if this is the first row. returns 1 if this is the first row for this pass of the handler. 
.PP
Definition at line 110 of file row_merge.c.
.SS "\fBnetsnmp_row_merge_status\fP* netsnmp_row_merge_status_get (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_agent_request_info\fP * reqinfo, int create_missing)"
.PP
retrieve row_merge_status 
.PP
Definition at line 67 of file row_merge.c.
.SS "int netsnmp_row_merge_status_last (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_agent_request_info\fP * reqinfo)"
.PP
Determine if this is the last row. returns 1 if this is the last row for this pass of the handler. 
.PP
Definition at line 130 of file row_merge.c.
.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
