blob: 3e989579a12c5a6608b75b139505a0cbf2aff2df [file] [log] [blame]
#ifndef ROW_MERGE_H
#define ROW_MERGE_H
/*
* This row_merge 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.
*/
#ifdef __cplusplus
extern "C" {
#endif
typedef struct netsnmp_row_merge_status_x {
char count; /* number of requests */
char rows; /* number of rows (unique indexes) */
char current; /* current row number */
char reserved; /* reserver for future use */
netsnmp_request_info **saved_requests; /* internal use */
char *saved_status; /* internal use */
} netsnmp_row_merge_status;
netsnmp_mib_handler *netsnmp_get_row_merge_handler(int);
int netsnmp_register_row_merge(netsnmp_handler_registration *reginfo);
void netsnmp_init_row_merge(void);
int netsnmp_row_merge_status_first(netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo);
int netsnmp_row_merge_status_last(netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo);
Netsnmp_Node_Handler netsnmp_row_merge_helper_handler;
#ifdef __cplusplus
}
#endif
#endif