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 |