110#define GETCB_GET2_TXID_STR(G) (G)->txid_str
111#define GETCB_GET2_OBJ(G) (G)->obj
112#define GETCB_GET2_TESTFN(G) (G)->testfn
113#define GETCB_GET2_KEYQ(G) &(G)->keyQ
114#define GETCB_GET2_MATCHQ(G) &(G)->matchQ
115#define GETCB_GET2_SELECTQ(G) &(G)->selectQ
116#define GETCB_GET2_RETURN_KEYQ(G) &(G)->return_keyQ
117#define GETCB_GET2_RETURN_VALQ(G) &(G)->return_valQ
118#define GETCB_GET2_GETBULKQ(G) &(G)->getbulkQ
119#define GETCB_GET2_CBMODE(G) (G)->cbmode
120#define GETCB_GET2_MAX_ENTRIES(G) (G)->max_entries
121#define GETCB_GET2_MAX_LEVELS(G) (G)->max_levels
122#define GETCB_GET2_OPER_DATA(G) (G)->oper_data
123#define GETCB_GET2_CONFIG_DATA(G) (G)->config_data
124#define GETCB_GET2_PRE_PROCESS(G) (G)->pre_process
125#define GETCB_GET2_EXPAND_VAREXPR(G) (G)->expand_varexpr
126#define GETCB_GET2_KEYS_ONLY(G) (G)->keys_only
127#define GETCB_GET2_WITH_DEFAULTS(G) (G)->with_defaults
128#define GETCB_GET2_SELECT(G) (G)->select_only
129#define GETCB_GET2_API_MODE(G) (G)->api_mode
130#define GETCB_GET2_WITH_ORIGIN(G) (G)->with_origin
131#define GET2CB_GET2_SCB(G) (G)->scb
132#define GETCB_GET2_SCB(G) (G)->scb
133#define GETCB_GET2_MSGHDR(G) (G)->msghdr
136#define GETCB_GET2_START_ADD_KEY(G) (G)->start_add_key
137#define GETCB_GET2_ACMTEST_RESULT(G) (G)->acmtest_result
138#define GETCB_GET2_FIRST_SIBLING(G) (G)->first_sibling
139#define GETCB_GET2_FIRST_LL_SIBLING(G) (G)->first_llsibling
140#define GETCB_GET2_LAST_LL_SIBLING(G) (G)->last_llsibling
141#define GETCB_GET2_LAST_SIBLING(G) (G)->last_sibling
142#define GETCB_GET2_FIRST_CHILD(G) (G)->first_child
143#define GETCB_GET2_FIRST_NOKEY_CHILD(G) (G)->isfirst_nokey
144#define GETCB_GET2_FIRST(G) (G)->isfirst
145#define GETCB_GET2_LAST(G) (G)->islast
146#define GETCB_GET2_WROTE_LIST(G) (G)->wrote_some_lists
147#define GETCB_GET2_FINISH_LIST(G) (G)->finish_list
150#define GETCB_GET2_MORE_DATA(G) (G)->more_data
151#define GETCB_GET2_ACTIVE_CASE_MODNAME(G) (G)->active_case_modname
152#define GETCB_GET2_ACTIVE_CASE(G) (G)->active_case
153#define GETCB_GET2_PARENT_VAL(G) (G)->parent_val
154#define GETCB_GET2_PARENT_CB(G) (G)->parent_cb
155#define GETCB_GET2_REMOVE_KEY(G,C) dlq_remove(C)
156#define GETCB_GET2_REMOVE_MATCH(G,C) dlq_remove(C)
157#define GETCB_GET2_REMOVE_VAL(G,C) dlq_remove(C)
160#define GETCB_GET2_FIRST_KEY(G) \
161 (val_value_t *)dlq_firstEntry(&(G)->keyQ)
163#define GETCB_GET2_NEXT_KEY(G,C) \
164 (val_value_t *)dlq_nextEntry(C)
166#define GETCB_GET2_FIRST_MATCH(G) \
167 (val_value_t *)dlq_firstEntry(&(G)->matchQ)
169#define GETCB_GET2_NEXT_MATCH(G,C) \
170 (val_value_t *)dlq_nextEntry(C)
172#define GETCB_GET2_FIRST_SELECT(G) \
173 (getcb_get2_select_t *)dlq_firstEntry(&(G)->selectQ)
175#define GETCB_GET2_NEXT_SELECT(G,C) \
176 (getcb_get2_select_t *)dlq_nextEntry(C)
178#define GETCB_GET2_MATCH_TEST_DONE(G) (G)->match_test_done
180#define GETCB_GET2_RETURN_VAL(G) &(G)->return_val
182#define GETCB_GET2_RETURN_VAL_SET(G) \
183 ((G)->return_val.btyp != NCX_BT_NONE)
185#define GETCB_GET2_FIRST_RETURN_KEY(G) \
186 (val_value_t *)dlq_firstEntry(&(G)->return_keyQ)
188#define GETCB_GET2_NEXT_RETURN_KEY(G,C) \
189 (val_value_t *)dlq_nextEntry(C)
191#define GETCB_GET2_FIRST_RETURN_VAL(G) \
192 (val_value_t *)dlq_firstEntry(&(G)->return_valQ)
194#define GETCB_GET2_NEXT_RETURN_VAL(G,C) \
195 (val_value_t *)dlq_nextEntry(C)
197#define GETCB_GET2_RESPONSEQ(G) &(G)->responseQ
199#define GETCB_GET2_FIRST_RESPONSE(G) \
200 (getcb_get2_t *)dlq_firstEntry(&(G)->responseQ)
202#define GETCB_GET2_NEXT_RESPONSE(G,C) \
203 (getcb_get2_t *)dlq_nextEntry(C)
205#define GETCB_GET2_REMOVE_RESPONSE(G,C) dlq_remove(C)
208#define GETCB_GET2_FIRST_GETBULK(G) \
209 (getcb_get2_getbulk_t *)dlq_firstEntry(&(G)->getbulkQ)
211#define GETCB_GET2_NEXT_GETBULK(G,C) \
212 (getcb_get2_getbulk_t *)dlq_nextEntry(C)
214#define GETCB_GET2_DATASTORE(G) (G)->nmda_ds
216#define GETCB_GET2_ORIGIN(G) (G)->nmda_origin
220#define GETCB_GET2_RETURN_AIOQ(G) &(G)->return_aioQ
221#define GETCB_AIO_ENCODING(G) (G)->aio_encoding
222#define GETCB_AIO_BUFFER(G) (G)->aio_return_buff
224#define GETCB_GET2_FIRST_RETURN_AIO_VAL(G) \
225 (val_value_t *)dlq_firstEntry(&(G)->return_aioQ)
227#define GETCB_GET2_NEXT_RETURN_AIO_VAL(C) \
228 (val_value_t *)dlq_nextEntry(C)
230#define GETCB_GET2_USER_DATA_REF(G) (G)->user_data_ref
232#define GETCB_GET2_USER_DATA_INDEX(G) (G)->user_data_index
237#define GETCB_GET2_SM_MPID(G) (G)->sm_mpid
243#define GETCB_GET2_SM_MPID_MALLOCED(G) (G)->sm_mpid_malloced
245#define GETCB_FLAG_KEYS (const xmlChar *)"keys"
246#define GETCB_FLAG_CONFIG (const xmlChar *)"config"
247#define GETCB_FLAG_OPER (const xmlChar *)"oper"
248#define GETCB_FLAG_GETNEXT (const xmlChar *)"getnext"
249#define GETCB_FLAG_WITHDEF (const xmlChar *)"withdef"
250#define GETCB_FLAG_SELECT (const xmlChar *)"select"
251#define GETCB_FLAG_WITH_ORIGIN (const xmlChar *)"with-origin"
252#define GETCB_FLAG_PRE_PROCESS (const xmlChar *)"pre-process"
262typedef enum getcb_mode_t_ {
270typedef enum getcb_api_mode_t_ {
272 GETCB_API_MODE_NORMAL,
273 GETCB_API_MODE_1SHOT,
274 GETCB_API_MODE_CHOICE,
275 GETCB_API_MODE_CONFIG_NODE,
276 GETCB_API_MODE_ALL_IN_ONE,
277 GETCB_API_MODE_ALL_IN_ONE_1SHOT
282typedef enum getcb_walker_mode_t_ {
283 GETCB_WALK_MODE_NONE,
286 GETCB_WALK_MODE_START,
287 GETCB_WALK_MODE_TERM,
291 GETCB_WALK_MODE_1SHOT,
294 GETCB_WALK_MODE_CHOICE
299typedef enum getcb_walker_status_t_ {
300 GETCB_WALK_STAT_NONE,
301 GETCB_WALK_STAT_CONTINUE,
302 GETCB_WALK_STAT_STOP_INSTANCE,
303 GETCB_WALK_STAT_STOP_OBJECT,
304 GETCB_WALK_STAT_STOP_WALK
312typedef struct getcb_keyval_t_ {
322typedef struct getcb_get2_lookup_t_ {
331typedef struct getcb_get2_select_t_ {
348typedef struct getcb_get2_getbulk_t_ {
360typedef struct getcb_get2_t_ {
819 const xmlChar *obj_name);
837 const xmlChar *obj_name,
838 const xmlChar *valstr);
879 const xmlChar *modname,
880 const xmlChar *objname);
897 const xmlChar *modname,
898 const xmlChar *objname,
915 const xmlChar *modname,
916 const xmlChar *objname,
971 const xmlChar *modname,
972 const xmlChar *objname);
1014 const xmlChar *obj_name);
1061 boolean preserve_data,
1079 boolean preserve_data,
1098 boolean preserve_data,
1115 boolean preserve_data,
1156 boolean replace_mode);
1186 boolean with_defaults,
1225 boolean with_defaults,
1229 getcb_api_mode_t api_mode);
1271 boolean fixed_value);
1285 boolean fixed_value);
1317 dlq_hdr_t *keyvalQ);
1347 dlq_hdr_t *lookupQ);
1359 const xmlChar *objname);
1381 const xmlChar *modname,
1382 const xmlChar *objname);
1489 const xmlChar *active_case_modname,
1490 const xmlChar *active_case);
1562 boolean *force_remove,
1578 const xmlChar *objname,
1579 const xmlChar *valname);
1718 const xmlChar *buffer);
status_t getcb_pre_get2_choices(xml_msg_hdr_t *msg, ses_cb_t *scb, getcb_get2_t *parent_get2cb, obj_template_t *targobj, val_value_t *curval, uint32 choice_cnt, obj_template_t *top_choice, boolean *force_remove, getcb_get2_t **ret_get2cb)
Invoke the get2 callbacks for each of the implied choice-stmt nodes in a subtree or REST resource req...
Definition: getcb.c:9192
void getcb_clean_return_data(getcb_get2_t *get2cb)
Clean the return data in the return_val and return_valQ.
Definition: getcb.c:6865
val_value_t * getcb_find_key(getcb_get2_t *get2cb, obj_template_t *obj)
Find an input keyval in the get2cb keyQ.
Definition: getcb.c:6467
getcb_get2_t * getcb_response_val_to_get2cb(val_value_t *response_val, boolean preserve_data, status_t *res)
Convert a <get-response> value to a get2cb struct.
Definition: getcb.c:7779
void getcb_add_return_key(getcb_get2_t *get2cb, val_value_t *val)
Add a return keyval to a get2cb return_keyQ.
Definition: getcb.c:6442
getcb_get2_getbulk_t * getcb_new_get2_getbulk(void)
Create a new getcb_get2_getbulk struct.
Definition: getcb.c:9068
void getcb_free_get2_getbulk(getcb_get2_getbulk_t *getbulk)
Free a getcb_get2_getbulk struct.
Definition: getcb.c:9092
val_value_t * getcb_get2cb_to_request_val(getcb_get2_t *get2cb, obj_template_t *get_request_obj, boolean preserve_data, xml_msg_hdr_t *msg, status_t *res)
Convert a get2cb struct to a <get-request> value tree.
Definition: getcb.c:6901
void getcb_free_get2cb(getcb_get2_t *get2cb)
Clean and free a malloced GET2 control block.
Definition: getcb.c:6158
val_value_t * getcb_find_return_val2(getcb_get2_t *get2cb, xmlns_id_t obj_nsid, const xmlChar *obj_name)
Find a return val in the get2cb return_valQ use { NSID, NAME } instead of object pointer.
Definition: getcb.c:6342
getcb_walker_status_t(* getcb_get2_walker_fn_t)(getcb_walker_mode_t walker_mode, getcb_get2_t *get2cb, obj_template_t *obj, val_value_t *val, void *cookie)
GET2 CONSUMER FUNCTION.
Definition: getcb.h:734
getcb_get2_select_t * getcb_new_get2_select(const xmlChar *modname, const xmlChar *objname)
Create a new getcb_select_t struct.
Definition: getcb.c:8568
status_t(* getcb_fn2_t)(ses_cb_t *scb, xml_msg_hdr_t *msg, getcb_get2_t *get2cb)
GET2 PRODUCER FUNCTION.
Definition: getcb.h:692
void getcb_add_key(getcb_get2_t *get2cb, val_value_t *val)
Add a keyval to a get2cb keyQ.
Definition: getcb.c:6640
val_value_t * getcb_find_next_return_val(getcb_get2_t *get2cb, val_value_t *curval)
Find the next matching return val in the get2cb return_valQ.
Definition: getcb.c:6405
getcb_get2_lookup_t * getcb_new_get2_lookup(obj_template_t *obj, dlq_hdr_t *keyvalQ)
Create a new getcb_get2_lookup struct.
Definition: getcb.c:8411
void getcb_free_get2_select(getcb_get2_select_t *select_node)
Free a getcb_get2_select struct.
Definition: getcb.c:8598
getcb_keyval_t * getcb_new_keyval(const xmlChar *keyval)
Create a new GET2 keyval holder.
Definition: getcb.c:8274
getcb_get2_t * getcb_request_val_to_get2cb(val_value_t *get_request_val, boolean preserve_data, status_t *res)
Convert a <get-request> value tree into a get2cb struct.
Definition: getcb.c:7316
status_t getcb_add_select(getcb_get2_t *get2cb, const xmlChar *modname, const xmlChar *objname)
Add a select node to a get2cb matchQ.
Definition: getcb.c:6693
boolean getcb_need_get2(obj_template_t *curobj, obj_template_t *reqobj)
check if the node has a get2 callback or in a choice/case subtree that has get2 callback
Definition: getcb.c:8802
val_value_t * getcb_find_key_lvl(getcb_get2_t *get2cb, const xmlChar *modname, const xmlChar *objname, uint32 objlvl)
Find an input keyval in the get2cb keyQ.
Definition: getcb.c:6571
void getcb_clean_get2cb(getcb_get2_t *get2cb, boolean reuse)
Clean a get2 control block.
Definition: getcb.c:6180
getcb_walker_mode_t
get2 walker callback modes
Definition: getcb.h:282
void getcb_clean_return_aioQ(getcb_get2_t *get2cb)
Clean the return data return_aioQ.
Definition: getcb.c:9491
boolean getcb_match_keys_keyQ(obj_template_t *useobj, val_value_t *useval, dlq_hdr_t *srcQ)
Match the requested list entry.
Definition: getcb.c:9751
void getcb_log_walker(const xmlChar *caller, getcb_walker_mode_t walker_mode, const xmlChar *objname, const xmlChar *valname)
Print some logging info for a GET2 walker consumer callback.
Definition: getcb.c:9306
boolean getcb_match_keys_lookup(obj_template_t *useobj, val_value_t *useval, getcb_get2_lookup_t *lookup)
Match the requested list entry.
Definition: getcb.c:9600
void getcb_clean_get2_lookupQ(dlq_hdr_t *lookupQ)
Clean a queue of getcb_get2_lookup_t.
Definition: getcb.c:8482
void getcb_clean_keyvalQ(dlq_hdr_t *que)
Free all the Get2 keyvals from a dlq_hdr.
Definition: getcb.c:8389
status_t getcb_move_response_get2cb(getcb_get2_t *response_get2cb, getcb_get2_t *get2cb)
Move the return fields from the return get2cb to the target get2cb.
Definition: getcb.c:7940
getcb_get2_t * getcb_new_parent_get2cb(obj_template_t *obj, dlq_hdr_t *keyQ)
Create a new get2 control block for the parent Used for XGET operation to fill the list's parent get2...
Definition: getcb.c:9559
void getcb_add_return_get2cb(getcb_get2_t *get2cb, getcb_get2_t *return_get2cb)
Add a return get2cb to a get2cb responseQ Used for get-bulk support.
Definition: getcb.c:7916
getcb_keyval_t * getcb_new_keyval3(const xmlChar *keyval, obj_template_t *keyobj, boolean fixed_value)
Create a new Get2 keyval holder using value string.
Definition: getcb.c:8332
status_t getcb_get2_child_obj_ex(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *parentval, getcb_get2_t *parent_get2cb, obj_template_t *obj, boolean with_defaults, getcb_get2_walker_fn_t walkerfn, void *cookie, getcb_get2_t *force_get2cb, getcb_api_mode_t api_mode)
Process the instances of an object for the object itself and 0 or more nest levels of descendant node...
Definition: getcb.c:8148
void getcb_move_return_keys(getcb_get2_t *get2cb)
Move the return keys to the keyQ replacing the nodes in the keyQ if already there.
Definition: getcb.c:6780
getcb_get2_t * getcb_new_get2cb(void)
Malloc and init a new get2 control block.
Definition: getcb.c:6136
status_t getcb_finish_getbulk_entry(getcb_get2_t *get2cb)
Gather the current response in a getbulk entry and save it in the getcb->getbulkQ; The getcb is ready...
Definition: getcb.c:9131
void getcb_init_get2cb(getcb_get2_t *get2cb)
Init a GET2 control block.
Definition: getcb.c:6108
boolean getcb_match_keys_getcb(obj_template_t *useobj, val_value_t *useval, getcb_get2_t *get2cb)
Match the requested list entry.
Definition: getcb.c:9688
status_t getcb_set_active_case(getcb_get2_t *get2cb, const xmlChar *active_case_modname, const xmlChar *active_case)
Set the active case to the specified object.
Definition: getcb.c:9032
void getcb_clean_return_aio_buff(getcb_get2_t *get2cb)
Clean the return AIO buffer, XML or JSON buffer.
Definition: getcb.c:9850
status_t getcb_add_return_aio_buff(getcb_get2_t *get2cb, const xmlChar *buffer)
Add a return buffer to a get2cb control block and set encoding type.
Definition: getcb.c:9808
status_t getcb_get2_child_obj(ses_cb_t *scb, xml_msg_hdr_t *msg, val_value_t *parentval, getcb_get2_t *parent_get2cb, obj_template_t *obj, boolean with_defaults, getcb_get2_walker_fn_t walkerfn, void *cookie)
Process the instances of an object for the object itself and 0 or more nest levels of descendant node...
Definition: getcb.c:8087
boolean getcb_is_get_exact(getcb_get2_t *get2cb)
Check if the getcb represents a response that is for a get-exact or a getnext.
Definition: getcb.c:9394
val_value_t * getcb_get2cb_to_val(getcb_get2_t *get2cb, status_t *retres)
Convert a GET2 CB to the equivalent val_value_t tree only container and list are supported.
Definition: getcb.c:9884
val_value_t * getcb_find_return_key2(getcb_get2_t *get2cb, xmlns_id_t obj_nsid, const xmlChar *obj_name)
Find a return keyval in the get2cb return_keyQ Use { NSID, NAME } instead of object pointer.
Definition: getcb.c:6753
boolean getcb_get2_allowed(xml_msg_hdr_t *msg, obj_template_t *chobj)
Check if the current node and operation are allowed to use the GET2 callback if there is one; Used to...
Definition: getcb.c:9517
status_t getcb_replace_response_get2cb(getcb_get2_t *response_get2cb, getcb_get2_t *get2cb, boolean replace_mode)
Move the return fields from the return get2cb to the target get2cb Can clean out old data first.
Definition: getcb.c:7963
val_value_t * getcb_find_key_num(getcb_get2_t *get2cb, const xmlChar *modname, const xmlChar *objname, uint32 keynum)
Find an input keyval in the get2cb keyQ.
Definition: getcb.c:6522
void getcb_add_return_val(getcb_get2_t *get2cb, val_value_t *val)
Add a return val to a get2cb return_valQ.
Definition: getcb.c:6282
val_value_t * getcb_find_match(getcb_get2_t *get2cb, obj_template_t *obj)
Find an input keyval in the get2cb matchQ.
Definition: getcb.c:6615
val_value_t * getcb_get2cb_to_response_val(getcb_get2_t *get2cb, obj_template_t *response_obj, boolean preserve_data, status_t *res)
Convert a get2cb struct to a <get-response> value tree.
Definition: getcb.c:7552
getcb_mode_t
get callback retrieval types; only get2 supports getnext
Definition: getcb.h:262
void getcb_add_match(getcb_get2_t *get2cb, val_value_t *val)
Add a match node to a get2cb matchQ.
Definition: getcb.c:6665
void getcb_dump_get2cb(getcb_get2_t *get2cb)
Print the interesting fields in a get2cb.
Definition: getcb.c:8675
boolean getcb_need_get2_ex(obj_template_t *curobj, obj_template_t *reqobj, uint32 *choicecnt, obj_template_t **top_choice)
check if the node has a get2 callback or in a choice/case subtree that has get2 callback
Definition: getcb.c:8835
obj_template_t * getcb_next_requested_child(getcb_get2_t *get2cb, obj_template_t *curchild)
Check if the specified object has any more terminal nodes that need to be returned for a get2 request...
Definition: getcb.c:8985
getcb_walker_status_t
get2 walker callback return status values
Definition: getcb.h:299
status_t(* getcb_fn_t)(ses_cb_t *scb, getcb_mode_t cbmode, const val_value_t *virval, val_value_t *dstval)
GET1 Callback function for agent node get handler.
Definition: getcb.h:666
void getcb_clean_responseQ(getcb_get2_t *get2cb)
Clean the response Q within a get2cb.
Definition: getcb.c:9438
void getcb_undo_move_return_keys(getcb_get2_t *get2cb)
Move back the return keys from the keyQ.
Definition: getcb.c:6837
status_t getcb_handle_acmtest(ses_cb_t *scb, xml_msg_hdr_t *msg, val_nodetest_fn_t testfn, getcb_get2_t *get2cb)
check the access control and testfn callback for a node that would have it skipped because the write_...
Definition: getcb.c:8207
val_value_t * getcb_find_return_val_str(getcb_get2_t *get2cb, xmlns_id_t obj_nsid, const xmlChar *obj_name, const xmlChar *valstr)
Find a return val in the get2cb return_valQ use { NSID, NAME } instead of object pointer.
Definition: getcb.c:6377
val_value_t * getcb_find_return_val(getcb_get2_t *get2cb, obj_template_t *obj)
Find a return val in the get2cb return_valQ.
Definition: getcb.c:6311
void getcb_free_keyval(getcb_keyval_t *keyval)
Free a GET2 keyval.
Definition: getcb.c:8364
val_value_t * getcb_find_key_str(getcb_get2_t *get2cb, const xmlChar *modname, const xmlChar *objname)
Find an input keyval in the get2cb keyQ with a string.
Definition: getcb.c:6493
obj_template_t * getcb_first_requested_child(getcb_get2_t *get2cb, obj_template_t *parent_obj)
Check if the specified object has any terminal nodes that need to be returned for a get2 request.
Definition: getcb.c:8922
status_t getcb_clone_keyQ(dlq_hdr_t *srcQ, dlq_hdr_t *destQ)
Copy all the key val_value_t structs to the other queue.
Definition: getcb.c:9360
getcb_keyval_t * getcb_new_keyval2(val_value_t *keynode, obj_template_t *keyobj, boolean fixed_value)
Create a new Get2 keyval holder using val backptr.
Definition: getcb.c:8303
val_value_t * getcb_find_return_key(getcb_get2_t *get2cb, obj_template_t *obj)
Find a return keyval in the get2cb return_keyQ.
Definition: getcb.c:6727
void getcb_free_get2_lookup(getcb_get2_lookup_t *lookup)
Free a getcb_get2_lookup struct.
Definition: getcb.c:8456
boolean getcb_find_get2_select(getcb_get2_t *get2cb, const xmlChar *modname, const xmlChar *objname)
Find a getcb_get2_select struct.
Definition: getcb.c:8622
void getcb_add_return_aioQ(getcb_get2_t *get2cb, val_value_t *val)
Add a return val to a get2cb return_aioQ.
Definition: getcb.c:9464
getcb_get2_lookup_t * getcb_find_get2_lookup(obj_template_t *obj, dlq_hdr_t *lookupQ)
Find a getcb_get2_lookup struct.
Definition: getcb.c:8516
@ GETCB_NONE
not set
Definition: getcb.h:263
@ GETCB_GETNEXT_VALUE
GETNEXT request.
Definition: getcb.h:265
@ GETCB_GET_VALUE
GET request.
Definition: getcb.h:264
boolean(* val_nodetest_fn_t)(xml_msg_hdr_t *mhdr, ncx_withdefaults_t withdef, boolean realtest, val_value_t *node)
user function callback template to test output of a specified node.
Definition: val_util.h:132
status_t
global error return code
Definition: status_enum.h:210
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
ncx_msg_encoding_t
enumeration for message encoding formats
Definition: ncxtypes.h:647
ncx_nmda_ds_t
internal enumerations for standard NMDA datastores
Definition: ncxtypes.h:1631
ncx_nmda_origin_t
internal enumerations for standard NMDA origins
Definition: ncxtypes.h:1642
NETCONF protocol remote procedure call common definitions.
NETCONF Session Common definitions module.
global error status code enumerations
GET2 getbulk struct This is only used for YANG list objects to produce N getnext entries at a time.
Definition: getcb.h:348
dlq_hdr_t return_keyQ
Q of malloced val_value_t.
Definition: getcb.h:352
dlq_hdr_t return_valQ
Q of malloced val_value_t.
Definition: getcb.h:355
dlq_hdr_t qhdr
will be added to a queue
Definition: getcb.h:349
GET2 lookup struct.
Definition: getcb.h:322
obj_template_t * obj
request_target_obj to get
Definition: getcb.h:324
boolean full_lookup
T: all keys present;.
Definition: getcb.h:326
dlq_hdr_t qhdr
in case added to a queue
Definition: getcb.h:323
dlq_hdr_t keyvalQ
Q of getcb_keyval_t.
Definition: getcb.h:325
GET2 select struct.
Definition: getcb.h:331
dlq_hdr_t qhdr
will be added to a queue
Definition: getcb.h:332
const xmlChar * objname
object name to select
Definition: getcb.h:334
const xmlChar * modname
module name to select
Definition: getcb.h:333
GET2 control block.
Definition: getcb.h:360
xmlChar * txid_str
transaction ID string
Definition: getcb.h:366
boolean keys_only
keys-only: TRUE if only the key leafs are desired from list objects; FALSE if normal retrieval
Definition: getcb.h:433
obj_template_t * obj
object template containing this callback
Definition: getcb.h:369
getcb_mode_t cbmode
reason for the callback (get or getnext)
Definition: getcb.h:404
xml_msg_hdr_t * msghdr
save xml_msg_hdr from response in progress This can be used with scb to record errors with error-info...
Definition: getcb.h:648
dlq_hdr_t responseQ
if this is a request that causes multiple responses then the responseQ will have each response get2cb
Definition: getcb.h:544
dlq_hdr_t return_keyQ
Q of malloced val_value_t.
Definition: getcb.h:526
boolean oper_data
TRUE to get operational data.
Definition: getcb.h:417
xmlChar * active_case_modname
set by a choice test_mode callback to return the name of the active case; If the active_case_modname ...
Definition: getcb.h:522
boolean wrote_some_lists
If TRUE then Last list failed BUT some of the entries were written successfully.
Definition: getcb.h:558
dlq_hdr_t return_valQ
Q of malloced val_value_t.
Definition: getcb.h:529
ncx_nmda_ds_t nmda_ds
save NMDA datastore for GET operational
Definition: getcb.h:575
boolean force_array_obj
force JSON array output
Definition: getcb.h:497
void * user_data_ref
User Data Reference Can be used by GET2 callbacks to store and reference a pointer during the GET2 ca...
Definition: getcb.h:617
boolean isfirst_nokey
flag to track JSON state
Definition: getcb.h:483
boolean pre_process
YPW-2273: pre_process_mode is TRUE if Subtree filter is doing Pre process Selection nodes to see if t...
Definition: getcb.h:636
boolean with_defaults
with_defaults: TRUE if default nodes should be returned this is needed for operational data because t...
Definition: getcb.h:445
boolean last_sibling
flag to track JSON state
Definition: getcb.h:480
boolean first_llsibling
leaf-list siblings
Definition: getcb.h:484
boolean isfirst
also used for JSON subtree proc
Definition: getcb.h:489
xmlChar * aio_return_buff
AIO XML or JSON malloced buffer from callback to use.
Definition: getcb.h:588
boolean sm_mpid_malloced
The MPID will be malloced on the SIL-SA side (TRUE) otherwise set to FALSE if the sm_mpid is a backpt...
Definition: getcb.h:600
uint32 max_entries
max instances to get 0 for all entries, 1 .
Definition: getcb.h:409
val_nodetest_fn_t testfn
value node test function (may be obsolete for get2)
Definition: getcb.h:372
dlq_hdr_t qhdr
queue header
Definition: getcb.h:361
val_value_t * parent_val
save parent backtrs for when-stmt processing of GET2 data
Definition: getcb.h:561
struct getcb_get2_t_ * parent_cb
backptr to parent CB
Definition: getcb.h:563
ncx_msg_encoding_t aio_encoding
In AIO GET2 callback is used with JSON/XML buffers the encoding will represent corresponding encoding...
Definition: getcb.h:583
boolean aio_done
AIO processing is completed.
Definition: getcb.h:490
uint32 user_data_index
User Data Index Can be used by GET2 callbacks to store and reference an index during the GET2 callbac...
Definition: getcb.h:629
boolean match_test_done
content-match done flag ignored unless the matchQ is non-empty If TRUE.
Definition: getcb.h:552
xmlChar * active_case
name of the active case
Definition: getcb.h:523
ses_cb_t * scb
YPW-2375: session control block for SIL access (available since 23.10-19), used by SIL GET2 callbacks...
Definition: getcb.h:642
uint32 max_levels
0 for all levels, 1 .
Definition: getcb.h:414
boolean islast
Used only for AIO RESTCONF processing.
Definition: getcb.h:488
dlq_hdr_t return_aioQ
Q of malloced val_value_t.
Definition: getcb.h:572
dlq_hdr_t selectQ
Q of malloced getcb_get2_select_t; 1 entry for each child select node of the object in this get2cb th...
Definition: getcb.h:401
boolean expand_varexpr
variable expressions: TRUE if a varexpr node should be expanded; FALSE if printed as an expression
Definition: getcb.h:428
dlq_hdr_t matchQ
Q of malloced val_value_t; 1 entry for each content-match leaf in the subtree or XPath filter; these ...
Definition: getcb.h:386
boolean more_data
set by the callback function if there are more instances that follow the specified instance; this is ...
Definition: getcb.h:510
dlq_hdr_t keyQ
Q of malloced val_value_t; 1 entry for each key leaf includes the ancestor keys and keys for the curr...
Definition: getcb.h:380
boolean force_lastsib_value
force JSON state
Definition: getcb.h:496
boolean select_only
select: TRUE if only the selectQ child nodes are desired from the parent for this callback; FALSE if ...
Definition: getcb.h:438
boolean finish_list
Used for CBOR processing to know if the special finish-list callback mode is needed.
Definition: getcb.h:502
ncx_sm_mpid_t * sm_mpid
If schema-mount is in use then the MPID is set for GET2 callbacks that have a ancestor that is a root...
Definition: getcb.h:595
boolean last_llsibling
leaf-list siblings
Definition: getcb.h:485
val_value_t return_val
if just 1 instance is returned, then the return_val will be used; if the btyp is set to something oth...
Definition: getcb.h:539
boolean first_sibling
first sibling done
Definition: getcb.h:494
getcb_api_mode_t api_mode
api_mode: consumer API callback mode
Definition: getcb.h:463
boolean acmtest_result
acmtest result used for NACM check
Definition: getcb.h:477
boolean force_lastsibling
force JSON state
Definition: getcb.h:495
boolean with_origin
get-request with-origin flag
Definition: getcb.h:466
val_value_t * start_add_key
first key val node that was moved from the return_keyQ to the keyQ for nested nodes to process; needs...
Definition: getcb.h:474
dlq_hdr_t getbulkQ
set by the callback function if this is a list callback and multiple entries are returned; this is a ...
Definition: getcb.h:516
ncx_nmda_origin_t nmda_origin
caller will set the return nmda_origin
Definition: getcb.h:578
boolean first_child
Used for JSON subtree proccessing.
Definition: getcb.h:493
boolean config_data
TBD: TRUE to get configuration data not supported yet! All config must be in the cfg->root val_value_...
Definition: getcb.h:423
Key value holder, temp Q of ordered key leaf values used while parsing a path to store the keys until...
Definition: getcb.h:312
xmlChar * value
malloced, if set by agt_yangapi
Definition: getcb.h:314
obj_template_t * objnode
if set by agt_tree
Definition: getcb.h:316
val_value_t * valnode
if set by agt_tree
Definition: getcb.h:315
dlq_hdr_t qhdr
queue header
Definition: getcb.h:313
boolean fixed_value
if partial keys
Definition: getcb.h:317
Moint Point Instance This struct lives in a val_value_t.val_extra struct.
Definition: ncxtypes.h:1815
One YANG data-def-stmt.
Definition: obj.h:1231
Session Control Block.
Definition: ses.h:573
one value to match one type
Definition: val.h:912
Common Encoding Message Header No longer XML specific!! Used by JSON and CBOR parsing as well!...
Definition: xml_msg.h:404
Value Node Basic Support.