Logo Search packages:      
Sourcecode: libnl version File versions  Download package

Caching
[Utilities]


Detailed Description

   Cache Management             |    | Type Specific Cache Operations
                                      
                                |    | +----------------+ +------------+
                                       | request update | | msg_parser |
                                |    | +----------------+ +------------+
                                     +- - - - -^- - - - - - - -^- -|- - - -
    nl_cache_update:            |              |               |   |
          1) --------- co_request_update ------+               |   |
                                |                              |   |
          2) destroy old cache     +----------- pp_cb ---------|---+
                                |  |                           |
          3) ---------- nl_recvmsgs ----------+   +- cb_valid -+
             +--------------+   |  |          |   |
             | nl_cache_add |<-----+   + - - -v- -|- - - - - - - - - - -
             +--------------+   |      | +-------------+
                                         | nl_recvmsgs |
                                |      | +-----|-^-----+
                                           +---v-|---+
                                |      |   | nl_recv |
                                           +---------+
                                |      |                 Core Netlink


Modules

 Cacheable Object

Cache Modifications

int nl_cache_add (struct nl_cache *cache, struct nl_object *obj)
void nl_cache_delete (struct nl_cache *cache, struct nl_object *obj)
int nl_cache_parse_and_add (struct nl_cache *cache, struct nl_msg *msg)
int nl_cache_pickup (struct nl_handle *handle, struct nl_cache *cache)
int nl_cache_update (struct nl_handle *handle, struct nl_cache *cache)
static int subsys_parse_cb (struct nl_object *c, struct nl_parser_param *p)
static int update_msg_parser (struct nl_msg *msg, void *arg)

Cache Creation/Deletion

struct nl_cache * nl_cache_alloc (void)
struct nl_cache * nl_cache_alloc_from_ops (struct nl_cache_ops *ops)
struct nl_cache * nl_cache_alloc_name (const char *kind)
void nl_cache_destroy (struct nl_cache *cache)
void nl_cache_destroy_and_free (struct nl_cache *cache)

Dumping

void nl_cache_dump (struct nl_cache *cache, struct nl_dump_params *params)
void nl_cache_dump_filter (struct nl_cache *cache, struct nl_dump_params *params, struct nl_object *filter)

Iterators

void nl_cache_foreach (struct nl_cache *cache, void(*cb)(struct nl_object *, void *), void *arg)
void nl_cache_foreach_filter (struct nl_cache *cache, struct nl_object *filter, void(*cb)(struct nl_object *, void *), void *arg)

Access Functions

struct nl_object * nl_cache_get_first (struct nl_cache *cache)
struct nl_object * nl_cache_get_last (struct nl_cache *cache)
struct nl_object * nl_cache_get_next (struct nl_object *obj)
struct nl_cache_ops * nl_cache_get_ops (struct nl_cache *cache)
struct nl_object * nl_cache_get_prev (struct nl_object *obj)
int nl_cache_is_empty (struct nl_cache *cache)
int nl_cache_nitems (struct nl_cache *cache)
int nl_cache_nitems_filter (struct nl_cache *cache, struct nl_object *filter)


Generated by  Doxygen 1.6.0   Back to index