netfilter
firewalling, NAT, and packet mangling for linux
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
cache.h File Reference
#include <netlink/netlink.h>
#include <netlink/msg.h>
#include <netlink/utils.h>
#include <netlink/object.h>
#include <netlink/cache-api.h>
Include dependency graph for cache.h:
This graph shows which files directly or indirectly include this file:

Macros

#define NL_AUTO_PROVIDE   1
 

Typedefs

typedef void(* change_func_t )(struct nl_cache *, struct nl_object *, int)
 

Functions

int nl_cache_nitems (struct nl_cache *)
 Return the number of items in the cache. More...
 
int nl_cache_nitems_filter (struct nl_cache *, struct nl_object *)
 Return the number of items matching a filter in the cache. More...
 
struct nl_cache_opsnl_cache_get_ops (struct nl_cache *)
 Return the operations set of the cache. More...
 
struct nl_objectnl_cache_get_first (struct nl_cache *)
 Return the first element in the cache. More...
 
struct nl_objectnl_cache_get_last (struct nl_cache *)
 Return the last element in the cache. More...
 
struct nl_objectnl_cache_get_next (struct nl_object *)
 Return the next element in the cache. More...
 
struct nl_objectnl_cache_get_prev (struct nl_object *)
 Return the previous element in the cache. More...
 
struct nl_cachenl_cache_alloc (struct nl_cache_ops *)
 Allocate an empty cache. More...
 
int nl_cache_alloc_and_fill (struct nl_cache_ops *, struct nl_sock *, struct nl_cache **)
 
int nl_cache_alloc_name (const char *, struct nl_cache **)
 Allocate an empty cache based on type name. More...
 
struct nl_cachenl_cache_subset (struct nl_cache *, struct nl_object *)
 Allocate a new cache containing a subset of a cache. More...
 
void nl_cache_clear (struct nl_cache *)
 Clear a cache. More...
 
void nl_cache_free (struct nl_cache *)
 Free a cache. More...
 
int nl_cache_add (struct nl_cache *, struct nl_object *)
 Add object to a cache. More...
 
int nl_cache_parse_and_add (struct nl_cache *, struct nl_msg *)
 Parse a netlink message and add it to the cache. More...
 
void nl_cache_remove (struct nl_object *)
 Removes an object from a cache. More...
 
int nl_cache_refill (struct nl_sock *, struct nl_cache *)
 (Re)fill a cache with the contents in the kernel. More...
 
int nl_cache_pickup (struct nl_sock *, struct nl_cache *)
 Pickup a netlink dump response and put it into a cache. More...
 
int nl_cache_resync (struct nl_sock *, struct nl_cache *, change_func_t)
 
int nl_cache_include (struct nl_cache *, struct nl_object *, change_func_t)
 
int nl_cache_is_empty (struct nl_cache *)
 Returns true if the cache is empty. More...
 
void nl_cache_mark_all (struct nl_cache *)
 Mark all objects in a cache. More...
 
void nl_cache_dump (struct nl_cache *, struct nl_dump_params *)
 Dump all elements of a cache. More...
 
void nl_cache_dump_filter (struct nl_cache *, struct nl_dump_params *, struct nl_object *)
 Dump all elements of a cache (filtered). More...
 
void nl_cache_foreach (struct nl_cache *, void(*cb)(struct nl_object *, void *), void *arg)
 Call a callback on each element of the cache. More...
 
void nl_cache_foreach_filter (struct nl_cache *, struct nl_object *, void(*cb)(structnl_object *, void *), void *arg)
 
struct nl_cache_opsnl_cache_ops_lookup (const char *)
 Lookup the set cache operations of a certain cache type. More...
 
struct nl_cache_opsnl_cache_ops_associate (int, int)
 Associate a message type to a set of cache operations. More...
 
struct nl_msgtypenl_msgtype_lookup (struct nl_cache_ops *, int)
 Lookup message type cache association. More...
 
void nl_cache_ops_foreach (void(*cb)(struct nl_cache_ops *, void *), void *)
 Call a function for each registered cache operation. More...
 
int nl_cache_mngt_register (struct nl_cache_ops *)
 Register a set of cache operations. More...
 
int nl_cache_mngt_unregister (struct nl_cache_ops *)
 Unregister a set of cache operations. More...
 
void nl_cache_mngt_provide (struct nl_cache *)
 Provide a cache for global use. More...
 
void nl_cache_mngt_unprovide (struct nl_cache *)
 Unprovide a cache for global use. More...
 
struct nl_cachenl_cache_mngt_require (const char *)
 Demand the use of a global cache. More...
 
int nl_cache_mngr_alloc (struct nl_sock *, int, int, struct nl_cache_mngr **)
 Allocate new cache manager. More...
 
int nl_cache_mngr_add (struct nl_cache_mngr *, const char *, change_func_t, struct nl_cache **)
 Add cache responsibility to cache manager. More...
 
int nl_cache_mngr_get_fd (struct nl_cache_mngr *)
 Get file descriptor. More...
 
int nl_cache_mngr_poll (struct nl_cache_mngr *, int)
 Check for event notifications. More...
 
int nl_cache_mngr_data_ready (struct nl_cache_mngr *)
 Receive available event notifications. More...
 
void nl_cache_mngr_free (struct nl_cache_mngr *)
 Free cache manager and all caches. More...
 

Macro Definition Documentation

#define NL_AUTO_PROVIDE   1

Referenced by nl_cache_mngr_add().

Typedef Documentation

typedef void(* change_func_t)(struct nl_cache *, struct nl_object *, int)

Function Documentation

void nl_cache_foreach_filter ( struct nl_cache ,
struct nl_object ,
void(*)(structnl_object *, void *)  cb,
void *  arg 
)

Referenced by main(), rtnl_class_foreach_child(), rtnl_class_foreach_cls(), rtnl_qdisc_foreach_child(), and rtnl_qdisc_foreach_cls().

Here is the caller graph for this function: