.TH "row_merge: Calls sub handlers with request for one row at a time." 3 "31 Oct 2005" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
row_merge: 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.  

.PP
.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 "netsnmp_row_merge_status * \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 
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. Definition at line 27 of file row_merge.c.
.PP
References netsnmp_mib_handler_s::myvoid, netsnmp_create_handler(), and netsnmp_mib_handler.
.PP
Referenced by netsnmp_init_row_merge(), and netsnmp_register_row_merge().
.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. Definition at line 359 of file row_merge.c.
.PP
References netsnmp_get_row_merge_handler(), and netsnmp_register_handler_by_name().
.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. Definition at line 41 of file row_merge.c.
.PP
References netsnmp_get_row_merge_handler(), netsnmp_handler_registration, netsnmp_inject_handler(), netsnmp_register_handler(), and netsnmp_handler_registration_s::rootoid_len.
.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. Definition at line 153 of file row_merge.c.
.PP
References netsnmp_agent_request_info_s::mode, netsnmp_mib_handler_s::myvoid, variable_list::name, variable_list::name_length, netsnmp_call_next_handler(), netsnmp_handler_registration, netsnmp_mib_handler, netsnmp_row_merge_status_get(), netsnmp_request_info_s::next, netsnmp_request_info_s::requestvb, netsnmp_handler_registration_s::rootoid, netsnmp_handler_registration_s::rootoid_len, SNMP_FREE, snmp_log(), and snmp_oid_compare().
.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. Definition at line 109 of file row_merge.c.
.PP
References netsnmp_handler_registration, and netsnmp_row_merge_status_get().
.SS "netsnmp_row_merge_status* netsnmp_row_merge_status_get (\fBnetsnmp_handler_registration\fP * reginfo, \fBnetsnmp_agent_request_info\fP * reqinfo, int create_missing)"
.PP
retrieve row_merge_status Definition at line 66 of file row_merge.c.
.PP
References netsnmp_create_data_list(), netsnmp_handler_registration, snmp_log(), and SNMP_MALLOC_TYPEDEF.
.PP
Referenced by netsnmp_row_merge_helper_handler(), netsnmp_row_merge_status_first(), and netsnmp_row_merge_status_last().
.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. Definition at line 129 of file row_merge.c.
.PP
References netsnmp_handler_registration, and netsnmp_row_merge_status_get().
