88#define KEYMAP_MAP_COOKIE(M) (M)->cookie
101typedef struct keymap_set_t_ {
124typedef struct keymap_map_t_ {
dlq provides general double-linked list and queue support:
status_t keymap_get_return_keys(keymap_map_t *cb, boolean getnext, boolean *islast, void **cookie, dlq_hdr_t *keyQ,...)
get the return keys for the GET or GETNEXT request
Definition: keymap.c:1522
void keymap_dump_map(keymap_map_t *cb)
debug dump a keymap
Definition: keymap.c:1461
keymap_set_t * keymap_new_set(obj_template_t *listobj, uint32 anckey_cnt, status_t *res)
create a new keymap set
Definition: keymap.c:997
status_t keymap_add_row(keymap_map_t *cb, void *cookie,...)
create a new row in a keymap
Definition: keymap.c:1280
void keymap_free_set(keymap_set_t *mapset)
free a keymap set
Definition: keymap.c:1039
void keymap_free_map(keymap_set_t *mapset, keymap_map_t *cb)
free a keymap
Definition: keymap.c:1233
keymap_map_t * keymap_get_map(keymap_set_t *mapset,...)
retrieve an existing keymap from its ancestor keys
Definition: keymap.c:1170
status_t keymap_remove_row(keymap_map_t *cb,...)
remove and delete a row in a keymap
Definition: keymap.c:1372
keymap_map_t * keymap_new_map(keymap_set_t *mapset, void *cookie, status_t *res,...)
create a new keymap
Definition: keymap.c:1084
status_t
global error return code
Definition: status_enum.h:210
global error status code enumerations
one keymap contains all row entries for one list object Used by SIL or SIL-SA code to cache list entr...
Definition: keymap.h:124
dlq_hdr_t qhdr
the queue header; TBD: support AVL tree for big CB
Definition: keymap.h:126
void * cookie
the cookie passed to the keymap_new_map function use KEYMAP_MAP_COOKIE macro to access this field
Definition: keymap.h:134
dlq_hdr_t anckeyQ
Queue of ncx_backptr_t to a malloced string Each one represents the ancestor key value to match.
Definition: keymap.h:139
keymap_set_t * mapset
the parent keymap set that this keymap is for
Definition: keymap.h:129
dlq_hdr_t keyQ
Queue of keymap_key_t struct Each one represents the entire subtree for the specific major index in t...
Definition: keymap.h:145
one set of keymaps contains all row entries for one list object Used by SIL or SIL-SA code to cache l...
Definition: keymap.h:101
obj_template_t * obj
the list object that this keymap is for
Definition: keymap.h:103
dlq_hdr_t cbQ
Queue of keymap_map_t struct Each one represents one keymap for one set of ancestor keys.
Definition: keymap.h:114
uint32 anckey_cnt
the number of ancestor keys expected for this list.
Definition: keymap.h:109
One YANG data-def-stmt.
Definition: obj.h:1229