mode_end_call(3)

NAME
mode_end_call - At the end of a series of requests, call another handler hook.

  Functions

netsnmp_mib_handler * netsnmp_get_mode_end_call_handler (netsnmp_mode_handler_list *endlist)
returns a mode_end_call handler that can be injected into a given handler chain.
netsnmp_mode_handler_list * netsnmp_mode_end_call_add_mode_callback (netsnmp_mode_handler_list *endlist, int mode, netsnmp_mib_handler *callbackh)
adds a mode specific callback to the callback list.
int netsnmp_mode_end_call_helper (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)

Detailed Description

At the end of a series of requests, call another handler hook.

Handlers that want to loop through a series of requests and then receive a callback at the end of a particular MODE can use this helper to make this possible. For most modules, this is not needed as the handler itself could perform a for() loop around the request list and then perform its actions afterwards. However, if something like the serialize helper is in use this isn't possible because not all the requests for a given handler are being passed downward in a single group. Thus, this helper *must* be added above other helpers like the serialize helper to be useful.

Multiple mode specific handlers can be registered and will be called in the order they were regestered in. Callbacks regesterd with a mode of NETSNMP_MODE_END_ALL_MODES will be called for all modes.

Function Documentation

  netsnmp_mib_handler* netsnmp_get_mode_end_call_handler (netsnmp_mode_handler_list * endlist)

returns a mode_end_call handler that can be injected into a given handler chain.

Parameters:
    endlist The callback list for the handler to make use of.

Returns:
    An injectable Net-SNMP handler.

Definition at line 45 of file mode_end_call.c.

References netsnmp_mib_handler_s::myvoid, netsnmp_create_handler(), netsnmp_mode_end_call_helper(), and NULL.

  netsnmp_mode_handler_list* netsnmp_mode_end_call_add_mode_callback (netsnmp_mode_handler_list * endlist, int mode, netsnmp_mib_handler * callbackh)

adds a mode specific callback to the callback list.

Parameters:
    endlist the information structure for the mode_end_call helper. Can be NULL to create a new list.
    mode the mode to be called upon. A mode of NETSNMP_MODE_END_ALL_MODES = all modes.
    callbackh the netsnmp_mib_handler callback to call.

Returns:
    the new registration information list upon success.

Definition at line 65 of file mode_end_call.c.

References netsnmp_mode_handler_list_s::callback_handler, netsnmp_mode_handler_list_s::mode, netsnmp_mode_handler_list_s::next, NULL, and SNMP_MALLOC_TYPEDEF.