net-snmp 5.7
row_merge.h
00001 #ifndef ROW_MERGE_H
00002 #define ROW_MERGE_H
00003 
00004 /*
00005  * This row_merge helper splits a whole bunch of requests into chunks
00006  * based on the row index that they refer to, and passes all requests
00007  * for a given row to the lower handlers.
00008  */
00009 
00010 #ifdef __cplusplus
00011 extern          "C" {
00012 #endif
00013 
00014     typedef struct netsnmp_row_merge_status_x {
00015        char                  count;    /* number of requests */
00016        char                  rows;     /* number of rows (unique indexes) */
00017        char                  current;  /* current row number */
00018        char                  reserved; /* reserver for future use */
00019 
00020        netsnmp_request_info  **saved_requests; /* internal use */
00021        char                  *saved_status;    /* internal use */
00022     } netsnmp_row_merge_status;
00023 
00024     netsnmp_mib_handler *netsnmp_get_row_merge_handler(int);
00025     int   netsnmp_register_row_merge(netsnmp_handler_registration *reginfo);
00026     void  netsnmp_init_row_merge(void);
00027 
00028     int netsnmp_row_merge_status_first(netsnmp_handler_registration *reginfo,
00029                                        netsnmp_agent_request_info *reqinfo);
00030     int netsnmp_row_merge_status_last(netsnmp_handler_registration *reginfo,
00031                                       netsnmp_agent_request_info *reqinfo);
00032 
00033     Netsnmp_Node_Handler netsnmp_row_merge_helper_handler;
00034 
00035 #ifdef __cplusplus
00036 }
00037 #endif
00038 #endif