Documentation
From my personal library, The Internet

man page:




   Functions
       netsnmp_cache * netsnmp_cache_get_head (void)
           get cache head
       netsnmp_cache * netsnmp_cache_find_by_oid (oid *rootoid, int
           rootoid_len)
           find existing cache
       netsnmp_cache * netsnmp_cache_create (int timeout, NetsnmpCacheLoad
           *load_hook, NetsnmpCacheFree *free_hook, oid *rootoid, int
           rootoid_len)
           returns a cache
       unsigned int netsnmp_cache_timer_start (netsnmp_cache *cache)
           starts the recurring cache_load callback
       void netsnmp_cache_timer_stop (netsnmp_cache *cache)
           stops the recurring cache_load callback
       netsnmp_mib_handler * netsnmp_cache_handler_get (netsnmp_cache *cache)
           returns a cache handler that can be injected into a given handler
           chain.
       netsnmp_mib_handler * netsnmp_get_cache_handler (int timeout,
           NetsnmpCacheLoad *load_hook, NetsnmpCacheFree *free_hook, oid
           *rootoid, int rootoid_len)
           returns a cache handler that can be injected into a given handler
           chain.
       int netsnmp_cache_handler_register (netsnmp_handler_registration
           *reginfo, netsnmp_cache *cache)
           functionally the same as calling netsnmp_register_handler() but
           also injects a cache handler at the same time for you.
       int netsnmp_register_cache_handler (netsnmp_handler_registration
           *reginfo, int timeout, NetsnmpCacheLoad *load_hook,
           NetsnmpCacheFree *free_hook)
           functionally the same as calling netsnmp_register_handler() but
           also injects a cache handler at the same time for you.
       NETSNMP_STATIC_INLINE char * _build_cache_name (const char *name)
       void netsnmp_cache_reqinfo_insert (netsnmp_cache *cache,
           netsnmp_agent_request_info *reqinfo, const char *name)
           Insert the cache information for a given request (PDU).
       netsnmp_cache * netsnmp_cache_reqinfo_extract
           (netsnmp_agent_request_info *reqinfo, const char *name)
           Extract the cache information for a given request (PDU).
       netsnmp_cache * netsnmp_extract_cache_info (netsnmp_agent_request_info
           *reqinfo)
           Extract the cache information for a given request (PDU).
       int netsnmp_cache_check_expired (netsnmp_cache *cache)
           Check if the cache timeout has passed.
       int netsnmp_cache_check_and_reload (netsnmp_cache *cache)
           Reload the cache if required.
       int netsnmp_cache_is_valid (netsnmp_agent_request_info *reqinfo, const
           char *name)
           Is the cache valid for a given request?
       int netsnmp_is_cache_valid (netsnmp_agent_request_info *reqinfo)
       A timeout value of -1 will cause netsnmp_cache_check_expired() to
       always return true, and thus the cache will be reloaded for every
       request.

       To minimze resource use by the agent, a periodic callback checks for
       expired caches, and will call the free_cache function for any expired
       cache.

       The load_cache route should return a negative number if the cache was
       not successfully loaded. 0 or any positive number indicates successs.

       Several flags can be set to affect the operations on the cache.

       If NETSNMP_CACHE_DONT_INVALIDATE_ON_SET is set, the free_cache method
       will not be called after a set request has processed. It is assumed
       that the lower mib handler using the cache has maintained cache
       consistency.

       If NETSNMP_CACHE_DONT_FREE_BEFORE_LOAD is set, the free_cache method
       will not be called before the load_cache method is called. It is
       assumed that the load_cache routine will properly deal with being
       called with a valid cache.

       If NETSNMP_CACHE_DONT_FREE_EXPIRED is set, the free_cache method will
       not be called with the cache expires. The expired flag will be set, but
       the valid flag will not be cleared. It is assumed that the load_cache
       routine will properly deal with being called with a valid cache.

       If NETSNMP_CACHE_PRELOAD is set when a the cache handler is created,
       the cache load routine will be called immediately.

       If NETSNMP_CACHE_DONT_AUTO_RELEASE is set, the periodic callback that
       checks for expired caches will skip the cache. The cache will only be
       checked for expiration when a request triggers the cache handler. This
       is useful if the cache has it's own periodic callback to keep the cache
       fresh.

       If NETSNMP_CACHE_AUTO_RELOAD is set, a timer will be set up to reload
       the cache when it expires. This is useful for keeping the cache fresh,
       even in the absence of incoming snmp requests.

       Here are some suggestions for some common situations.

       Cached File: If your table is based on a file that may periodically
       change, you can test the modification date to see if the file has
       changed since the last cache load. To get the cache helper to call the
       load function for every request, set the timeout to -1, which will
       cause the cache to always report that it is expired. This means that
       you will want to prevent the agent from flushing the cache when it has
       expired, and you will have to flush it manually if you detect that the
       file has changed. To accomplish this, set the following flags:

   int netsnmp_cache_check_and_reload (netsnmp_cache * cache)
       Reload the cache if required. Definition at line 383 of file
       cache_handler.c.

       References netsnmp_cache_check_expired().

       Referenced by netsnmp_cache_helper_handler().

   int netsnmp_cache_check_expired (netsnmp_cache * cache)
       Check if the cache timeout has passed. Sets and return the expired
       flag. Definition at line 368 of file cache_handler.c.

       References atime_ready().

       Referenced by netsnmp_cache_check_and_reload(), and
       release_cached_resources().

   netsnmp_cache* netsnmp_cache_create (int timeout, NetsnmpCacheLoad *
       load_hook, NetsnmpCacheFree * free_hook, oid * rootoid, int
       rootoid_len)
       returns a cache Definition at line 140 of file cache_handler.c.

       References snmp_log(), and SNMP_MALLOC_TYPEDEF.

       Referenced by netsnmp_get_cache_handler().

   netsnmp_cache* netsnmp_cache_find_by_oid (oid * rootoid, int rootoid_len)
       find existing cache Definition at line 124 of file cache_handler.c.

       References netsnmp_oid_equals().

   netsnmp_cache* netsnmp_cache_get_head (void)
       get cache head Definition at line 116 of file cache_handler.c.

   netsnmp_mib_handler* netsnmp_cache_handler_get (netsnmp_cache * cache)
       returns a cache handler that can be injected into a given handler
       chain. Definition at line 245 of file cache_handler.c.

       References netsnmp_mib_handler_s::flags, netsnmp_mib_handler_s::myvoid,
       netsnmp_cache_timer_start(), netsnmp_create_handler(), and
       netsnmp_mib_handler.

       Referenced by netsnmp_cache_handler_register(), and
       netsnmp_get_cache_handler().

   int netsnmp_cache_handler_register (netsnmp_handler_registration * reginfo,
       netsnmp_cache * cache)
       functionally the same as calling netsnmp_register_handler() but also
       injects a cache handler at the same time for you. Definition at line
       293 of file cache_handler.c.

       References netsnmp_cache_handler_get(), netsnmp_inject_handler(),
       netsnmp_handler_registration_s::handlerName,
       netsnmp_agent_request_info_s::mode, netsnmp_mib_handler_s::myvoid,
       netsnmp_cache_check_and_reload(), netsnmp_cache_is_valid(),
       netsnmp_cache_reqinfo_insert(), netsnmp_handler_registration,
       netsnmp_set_all_requests_error(),
       netsnmp_handler_registration_s::rootoid,
       netsnmp_handler_registration_s::rootoid_len, and snmp_log().

   int netsnmp_cache_is_valid (netsnmp_agent_request_info * reqinfo, const
       char * name)
       Is the cache valid for a given request? Definition at line 400 of file
       cache_handler.c.

       References netsnmp_cache_reqinfo_extract().

       Referenced by netsnmp_cache_helper_handler(), and
       netsnmp_is_cache_valid().

   netsnmp_cache* netsnmp_cache_reqinfo_extract (netsnmp_agent_request_info *
       reqinfo, const char * name)
       Extract the cache information for a given request (PDU). Definition at
       line 348 of file cache_handler.c.

       References SNMP_FREE.

       Referenced by netsnmp_cache_is_valid(), and
       netsnmp_extract_cache_info().

   void netsnmp_cache_reqinfo_insert (netsnmp_cache * cache,
       netsnmp_agent_request_info * reqinfo, const char * name)
       Insert the cache information for a given request (PDU). Definition at
       line 331 of file cache_handler.c.

       References netsnmp_create_data_list(), and SNMP_FREE.

       Referenced by netsnmp_cache_helper_handler().

   unsigned int netsnmp_cache_timer_start (netsnmp_cache * cache)
       starts the recurring cache_load callback Definition at line 195 of file
       cache_handler.c.

       References snmp_alarm_register(), and snmp_log().

       Referenced by netsnmp_cache_handler_get().

   void netsnmp_cache_timer_stop (netsnmp_cache * cache)
       stops the recurring cache_load callback Definition at line 225 of file
       cache_handler.c.

       References snmp_alarm_unregister(), and snmp_log().

   netsnmp_cache* netsnmp_extract_cache_info (netsnmp_agent_request_info *

       Referenced by netsnmp_register_cache_handler().

   int netsnmp_is_cache_valid (netsnmp_agent_request_info * reqinfo)
       for backwards compat netsnmp_cache_is_valid() is preferred. Definition
       at line 411 of file cache_handler.c.

       References netsnmp_cache_is_valid().

   int netsnmp_register_cache_handler (netsnmp_handler_registration * reginfo,
       int timeout, NetsnmpCacheLoad * load_hook, NetsnmpCacheFree *
       free_hook)
       functionally the same as calling netsnmp_register_handler() but also
       injects a cache handler at the same time for you. Definition at line
       306 of file cache_handler.c.

       References netsnmp_get_cache_handler(), netsnmp_inject_handler(),
       netsnmp_mib_handler, netsnmp_register_handler(),
       netsnmp_handler_registration_s::rootoid, and
       netsnmp_handler_registration_s::rootoid_len.

   void release_cached_resources (unsigned int regNo, void * clientargs)
       run regularly to automatically release cached resources. xxx - method
       to prevent cache from expiring while a request is being processed (e.g.
       delegated request). proposal: set a flag, which would be cleared when
       request finished (which could be acomplished by a dummy data list item
       in agent req info & custom free function). Definition at line 575 of
       file cache_handler.c.

       References netsnmp_cache_check_expired(), release_cached_resources(),
       and snmp_alarm_register().

       Referenced by release_cached_resources().




necache_handler: Maintains a cache2ofJdata0for use by lower level handlers.(3)



Man(1) output converted with man2html