diff options
Diffstat (limited to 'lib/northbound.h')
| -rw-r--r-- | lib/northbound.h | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/northbound.h b/lib/northbound.h index 0468c58de3..53abf90a9f 100644 --- a/lib/northbound.h +++ b/lib/northbound.h @@ -98,6 +98,7 @@ enum nb_cb_operation {  	NB_CB_GET_ELEM,  	NB_CB_GET_NEXT,  	NB_CB_GET_KEYS, +	NB_CB_LIST_ENTRY_DONE,  	NB_CB_LOOKUP_ENTRY,  	NB_CB_RPC,  	NB_CB_NOTIFY, @@ -518,6 +519,24 @@ struct nb_callbacks {  	/*  	 * Operational data callback for YANG lists.  	 * +	 * This callback function is called to cleanup any resources that may be +	 * held by a backend opaque `list_entry` value (e.g., a lock). It is +	 * called when the northbound code is done using a `list_entry` value it +	 * obtained using the lookup_entry() callback. It is also called on the +	 * `list_entry` returned from the get_next() or lookup_next() callbacks +	 * if the iteration aborts before walking to the end of the list. The +	 * intention is to allow any resources (e.g., a lock) to now be +	 * released. +	 * +	 * args +	 *    parent_list_entry - pointer to the parent list entry +	 *    list_entry - value returned previously from `lookup_entry()` +	 */ +	void (*list_entry_done)(const void *parent_list_entry, const void *list_entry); + +	/* +	 * Operational data callback for YANG lists. +	 *  	 * The callback function should return a list entry based on the list  	 * keys given as a parameter. Keyless lists don't need to implement this  	 * callback. @@ -883,6 +902,8 @@ extern int nb_callback_get_keys(const struct nb_node *nb_node,  extern const void *nb_callback_lookup_entry(const struct nb_node *nb_node,  					    const void *parent_list_entry,  					    const struct yang_list_keys *keys); +extern void nb_callback_list_entry_done(const struct nb_node *nb_node, +					const void *parent_list_entry, const void *list_entry);  extern const void *nb_callback_lookup_node_entry(struct lyd_node *node,  						 const void *parent_list_entry);  extern const void *nb_callback_lookup_next(const struct nb_node *nb_node,  | 
