row_merge.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef ROW_MERGE_H
  2. #define ROW_MERGE_H
  3. /*
  4. * This row_merge helper splits a whole bunch of requests into chunks
  5. * based on the row index that they refer to, and passes all requests
  6. * for a given row to the lower handlers.
  7. */
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. typedef struct netsnmp_row_merge_status_x {
  12. char count; /* number of requests */
  13. char rows; /* number of rows (unique indexes) */
  14. char current; /* current row number */
  15. char reserved; /* reserver for future use */
  16. netsnmp_request_info **saved_requests; /* internal use */
  17. char *saved_status; /* internal use */
  18. } netsnmp_row_merge_status;
  19. netsnmp_mib_handler *netsnmp_get_row_merge_handler(int);
  20. int netsnmp_register_row_merge(netsnmp_handler_registration *reginfo);
  21. void netsnmp_init_row_merge(void);
  22. int netsnmp_row_merge_status_first(netsnmp_handler_registration *reginfo,
  23. netsnmp_agent_request_info *reqinfo);
  24. int netsnmp_row_merge_status_last(netsnmp_handler_registration *reginfo,
  25. netsnmp_agent_request_info *reqinfo);
  26. Netsnmp_Node_Handler netsnmp_row_merge_helper_handler;
  27. #ifdef __cplusplus
  28. }
  29. #endif
  30. #endif