.TH "row_merge" 3 "31 May 2012" "Version 5.5.2.rc2" "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.
