table of contents
agent_handler.h(3) | net-snmp | 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.
23 Sep 2009 | Version 5.5 |