agent_handler.h(3)

NAME
agent_handler.h -

SYNOPSIS

  Data Structures
struct netsnmp_mib_handler_s
the mib handler structure to be registered
struct netsnmp_handler_registration_s
Root registration info.
struct netsnmp_handler_args_s
struct netsnmp_delegated_cache_s

  Defines
#define MIB_HANDLER_AUTO_NEXT 0x00000001
#define MIB_HANDLER_AUTO_NEXT_OVERRIDE_ONCE 0x00000002
#define MIB_HANDLER_INSTANCE 0x00000004
#define MIB_HANDLER_CUSTOM4 0x10000000
#define MIB_HANDLER_CUSTOM3 0x20000000
#define MIB_HANDLER_CUSTOM2 0x40000000
#define MIB_HANDLER_CUSTOM1 0x80000000
#define HANDLER_CAN_GETANDGETNEXT 0x01
#define HANDLER_CAN_SET 0x02
#define HANDLER_CAN_GETBULK 0x04
#define HANDLER_CAN_NOT_CREATE 0x08
#define HANDLER_CAN_BABY_STEP 0x10
#define HANDLER_CAN_STASH 0x20
#define HANDLER_CAN_RONLY (HANDLER_CAN_GETANDGETNEXT)
#define HANDLER_CAN_RWRITE (HANDLER_CAN_GETANDGETNEXT | HANDLER_CAN_SET)
#define HANDLER_CAN_SET_ONLY (HANDLER_CAN_SET | HANDLER_CAN_NOT_CREATE)
#define HANDLER_CAN_DEFAULT (HANDLER_CAN_RONLY | HANDLER_CAN_NOT_CREATE)
#define REQUEST_IS_DELEGATED 1
#define REQUEST_IS_NOT_DELEGATED 0

  Typedefs
typedef struct netsnmp_mib_handler_s netsnmp_mib_handler
Typedefs the netsnmp_mib_handler_s struct into netsnmp_mib_handler.
typedef struct netsnmp_handler_registration_s netsnmp_handler_registration
Typedefs the netsnmp_handler_registration_s struct into netsnmp_handler_registration.
typedef int( Netsnmp_Node_Handler )(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
typedef struct netsnmp_handler_args_s netsnmp_handler_args
typedef struct netsnmp_delegated_cache_s netsnmp_delegated_cache

  Functions
void netsnmp_init_handler_conf (void)
int netsnmp_register_handler (netsnmp_handler_registration *reginfo)
register a handler, as defined by the netsnmp_handler_registration pointer.
int netsnmp_unregister_handler (netsnmp_handler_registration *reginfo)
unregister a handler, as defined by the netsnmp_handler_registration pointer.
int netsnmp_register_handler_nocallback (netsnmp_handler_registration *reginfo)
register a handler, as defined by the netsnmp_handler_registration pointer.
int netsnmp_inject_handler (netsnmp_handler_registration *reginfo, netsnmp_mib_handler *handler)
inject a new handler into the calling chain of the handlers definedy by the netsnmp_handler_registration pointer.
int netsnmp_inject_handler_before (netsnmp_handler_registration *reginfo, netsnmp_mib_handler *handler, const char *before_what)
inject a new handler into the calling chain of the handlers definedy by the netsnmp_handler_registration pointer.
netsnmp_mib_handler * netsnmp_find_handler_by_name (netsnmp_handler_registration *reginfo, const char *name)
Returns a handler from a chain based on the name.
void * netsnmp_find_handler_data_by_name (netsnmp_handler_registration *reginfo, const char *name)
Returns a handler's void * pointer from a chain based on the name.
int netsnmp_call_handlers (netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
NETSNMP_INLINE int netsnmp_call_handler (netsnmp_mib_handler *next_handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
calls a handler with with appropriate NULL checking of arguments, etc.
NETSNMP_INLINE int netsnmp_call_next_handler (netsnmp_mib_handler *current, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
calls the next handler in the chain after the current one with with appropriate NULL checking, etc.
NETSNMP_INLINE int netsnmp_call_next_handler_one_request (netsnmp_mib_handler *current, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
calls the next handler in the chain after the current one with with appropriate NULL checking, etc.
netsnmp_mib_handler * netsnmp_create_handler (const char *name, Netsnmp_Node_Handler *handler_access_method)
creates a netsnmp_mib_handler structure given a name and a access method.
netsnmp_handler_registration * netsnmp_handler_registration_create (const char *name, netsnmp_mib_handler *handler, const oid *reg_oid, size_t reg_oid_len, int modes)
creates a handler registration structure given a name, a access_method function, a registration location oid and the modes the handler supports.
netsnmp_handler_registration * netsnmp_create_handler_registration (const char *name, Netsnmp_Node_Handler *handler_access_method, const oid *reg_oid, size_t reg_oid_len, int modes)
NETSNMP_INLINE netsnmp_delegated_cache * netsnmp_create_delegated_cache (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests, void *localinfo)
creates a cache of information which can be saved for future reference.
NETSNMP_INLINE void netsnmp_free_delegated_cache (netsnmp_delegated_cache *dcache)
frees a cache once you're finished using it
NETSNMP_INLINE netsnmp_delegated_cache * netsnmp_handler_check_cache (netsnmp_delegated_cache *dcache)
check's a given cache and returns it if it is still valid (ie, the agent still considers it to be an outstanding request.
void netsnmp_register_handler_by_name (const char *name, netsnmp_mib_handler *handler)
registers a given handler by name so that it can be found easily later.
void netsnmp_clear_handler_list (void)
clears the entire handler-registration list
NETSNMP_INLINE void netsnmp_request_add_list_data (netsnmp_request_info *request, netsnmp_data_list *node)
add data to a request that can be extracted later by submodules
NETSNMP_INLINE int netsnmp_request_remove_list_data (netsnmp_request_info *request, const char *name)
remove data from a request
void * netsnmp_request_get_list_data (netsnmp_request_info *request, const char *name)
extract data from a request that was added previously by a parent module
NETSNMP_INLINE void netsnmp_free_request_data_set (netsnmp_request_info *request)
Free the extra data stored in a request.
NETSNMP_INLINE void netsnmp_free_request_data_sets (netsnmp_request_info *request)
Free the extra data stored in a bunch of requests (all data in the chain).
void netsnmp_handler_free (netsnmp_mib_handler *handler)
free's the resourceses associated with a given handler
netsnmp_mib_handler * netsnmp_handler_dup (netsnmp_mib_handler *handler)
dulpicates a handler and all subsequent handlers see also _clone_handler
netsnmp_handler_registration * netsnmp_handler_registration_dup (netsnmp_handler_registration *reginfo)
duplicates the handler registration object
void netsnmp_handler_registration_free (netsnmp_handler_registration *reginfo)
free the resources associated with a handler registration object
void netsnmp_handler_mark_requests_as_delegated (netsnmp_request_info *requests, int isdelegated)
marks a list of requests as delegated (or not if isdelegaded = 0)
void * netsnmp_handler_get_parent_data (netsnmp_request_info *, const char *)

Detailed Description

Definition in file agent_handler.h.

Author

Generated automatically by Doxygen for net-snmp from the source code.