libnl  3.2.7
Caching

Modules

 Cache
 Manager
 Helps keeping caches up to date.

Cache Operations Sets

struct nl_cache_opsnl_cache_ops_lookup (const char *name)
 Lookup the set cache operations of a certain cache type.
struct nl_cache_opsnl_cache_ops_associate (int protocol, int msgtype)
 Associate a message type to a set of cache operations.
struct nl_msgtypenl_msgtype_lookup (struct nl_cache_ops *ops, int msgtype)
 Lookup message type cache association.
void nl_cache_ops_foreach (void(*cb)(struct nl_cache_ops *, void *), void *arg)
 Call a function for each registered cache operation.
int nl_cache_mngt_register (struct nl_cache_ops *ops)
 Register a set of cache operations.
int nl_cache_mngt_unregister (struct nl_cache_ops *ops)
 Unregister a set of cache operations.

Global Cache Provisioning/Requiring

void nl_cache_mngt_provide (struct nl_cache *cache)
 Provide a cache for global use.
void nl_cache_mngt_unprovide (struct nl_cache *cache)
 Unprovide a cache for global use.
struct nl_cache * __nl_cache_mngt_require (const char *name)
struct nl_cache * nl_cache_mngt_require (const char *name)
 Demand the use of a global cache.

Detailed Description

Function Documentation

struct nl_cache_ops* nl_cache_ops_lookup ( const char *  name)
read

Lookup the set cache operations of a certain cache type.

Parameters
namename of the cache type
Returns
The cache operations or NULL if no operations have been registered under the specified name.

Definition at line 37 of file cache_mngt.c.

References nl_cache_ops::co_name, and nl_cache_ops::co_next.

Referenced by nl_cache_alloc_name(), nl_cache_mngr_add(), nl_cache_mngt_register(), and nl_object_alloc_name().

+ Here is the caller graph for this function:

struct nl_cache_ops* nl_cache_ops_associate ( int  protocol,
int  msgtype 
)
read

Associate a message type to a set of cache operations.

Parameters
protocolnetlink protocol
msgtypenetlink message type

Associates the specified netlink message type with a registered set of cache operations.

Returns
The cache operations or NULL if no association could be made.

Definition at line 59 of file cache_mngt.c.

References nl_cache_ops::co_next, nl_cache_ops::co_protocol, and nl_msgtype::mt_id.

Referenced by nl_msg_dump().

+ Here is the caller graph for this function:

struct nl_msgtype* nl_msgtype_lookup ( struct nl_cache_ops ops,
int  msgtype 
)
read

Lookup message type cache association.

Parameters
opscache operations
msgtypenetlink message type

Searches for a matching message type association ing the specified cache operations.

Returns
A message type association or NULL.

Definition at line 86 of file cache_mngt.c.

References nl_msgtype::mt_id.

void nl_cache_ops_foreach ( void(*)(struct nl_cache_ops *, void *)  cb,
void *  arg 
)

Call a function for each registered cache operation.

Parameters
cbCallback function to be called
argUser specific argument.

Definition at line 114 of file cache_mngt.c.

References nl_cache_ops::co_next.

int nl_cache_mngt_register ( struct nl_cache_ops ops)

Register a set of cache operations.

Parameters
opscache operations

Called by users of caches to announce the avaibility of a certain cache type.

Returns
0 on success or a negative error code.

Definition at line 131 of file cache_mngt.c.

References nl_cache_ops::co_name, nl_cache_ops::co_next, nl_cache_ops::co_obj_ops, and nl_cache_ops_lookup().

Referenced by genl_register().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int nl_cache_mngt_unregister ( struct nl_cache_ops ops)

Unregister a set of cache operations.

Parameters
opscache operations

Called by users of caches to announce a set of cache operations is no longer available. The specified cache operations must have been registered previously using nl_cache_mngt_register()

Returns
0 on success or a negative error code

Definition at line 158 of file cache_mngt.c.

References nl_cache_ops::co_name, and nl_cache_ops::co_next.

Referenced by genl_unregister().

+ Here is the caller graph for this function:

void nl_cache_mngt_provide ( struct nl_cache *  cache)

Provide a cache for global use.

Parameters
cachecache to provide

Offers the specified cache to be used by other modules. Only one cache per type may be shared at a time, a previsouly provided caches will be overwritten.

Definition at line 190 of file cache_mngt.c.

Referenced by nl_cache_mngr_add().

+ Here is the caller graph for this function:

void nl_cache_mngt_unprovide ( struct nl_cache *  cache)

Unprovide a cache for global use.

Parameters
cachecache to unprovide

Cancels the offer to use a cache globally. The cache will no longer be returned via lookups but may still be in use.

Definition at line 209 of file cache_mngt.c.

Referenced by nl_cache_mngr_free().

+ Here is the caller graph for this function:

struct nl_cache* nl_cache_mngt_require ( const char *  name)
read

Demand the use of a global cache.

Parameters
namename of the required object type

Trys to find a cache of the specified type for global use.

Returns
A cache provided by another subsystem of the specified type marked to be available.

Definition at line 241 of file cache_mngt.c.