yumapro  25.10-2
YumaPro SDK
Loading...
Searching...
No Matches
yangapi.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2025, YumaWorks, Inc., All Rights Reserved.
4 *
5 * Unless required by applicable law or agreed to in writing,
6 * software distributed under the License is distributed on an
7 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 * KIND, either express or implied. See the License for the
9 * specific language governing permissions and limitations
10 * under the License.
11 */
12#ifndef _H_yangapi
13#define _H_yangapi
14/* FILE: yangapi.h
15*********************************************************************
16* *
17* P U R P O S E *
18* *
19*********************************************************************/
20
26/*********************************************************************
27* *
28* C H A N G E H I S T O R Y *
29* *
30*********************************************************************
31
32date init comment
33----------------------------------------------------------------------
3411-apr-12 abb Begun.
35*/
36
37/* used by the agent for the xmlTextReader interface */
38#include <xmlreader.h>
39
40#ifndef _H_dlq
41#include "dlq.h"
42#endif
43
44#ifndef _H_ncxtypes
45#include "ncxtypes.h"
46#endif
47
48#ifndef _H_op
49#include "op.h"
50#endif
51
52#ifndef _H_obj
53#include "obj.h"
54#endif
55
56#ifndef _H_val
57#include "val.h"
58#endif
59
60#ifndef _H_xpath
61#include "xpath.h"
62#endif
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
68
69/* Header only */
70
88/********************************************************************
89* *
90* C O N S T A N T S *
91* *
92*********************************************************************/
93
95#define YANGAPI_RET_OK 200
96
98#define YANGAPI_RET_CREATE_OK 201
99
101#define YANGAPI_RET_BAD_METHOD 405
102
103
104/********************************************************************
105* *
106* T Y P E S *
107* *
108*********************************************************************/
109
111typedef enum yangapi_method_t_ {
121
122
126typedef enum yangapi_launchpt_t_ {
129
132
135
138
141
144
147
150
153
156
159
162
165
168
173
176
179
182
184
185
187typedef struct yangapi_param_t_ {
189 dlq_hdr_t qhdr;
190
192 xmlChar *name;
193
195 xmlChar *value;
197
198
200typedef struct yangapi_accept_t_ {
202 dlq_hdr_t qhdr;
203
205 xmlChar *media_type;
206
209
211 xmlChar *format;
212
214 xmlChar *qvalue_str;
216
217
219typedef enum restconf_content_t_ {
225
227typedef enum restconf_qparam_t_ {
228 RESTCONF_QPARAM_CONTENT,
229 RESTCONF_QPARAM_DEPTH,
230 RESTCONF_QPARAM_FIELDS,
231 RESTCONF_QPARAM_FILTER,
232 RESTCONF_QPARAM_INSERT,
233 RESTCONF_QPARAM_POINT,
234 RESTCONF_QPARAM_START_TIME,
235 RESTCONF_QPARAM_STOP_TIME,
236 RESTCONF_QPARAM_WITH_DEFAULTS,
241
242
243
244
245
246
247#if defined(WITH_SNMP) && defined(WITH_RESTCONF)
248
253typedef struct yangapi_snmp_cb_t_ {
254
255 netsnmp_variable_list *variables;
256
272
275
283
288
294
295/********************* SNMP Index entries *****************************/
296
310
316
323
326
332
335
336/********************* SNMP GET2 entries *****************************/
337
343
349#endif // WITH_SNMP and WITH_RESTCONF
350
351
355typedef struct yangapi_cb_t_ {
356
357/************************* COMMON RCB entries *****************************/
358
360 dlq_hdr_t qhdr;
361
363 dlq_hdr_t paramQ;
364
366 dlq_hdr_t keyvalQ;
367
369 dlq_hdr_t acceptQ;
370
372 dlq_hdr_t sorted_acceptQ;
373
375 xmlChar *accept;
376
379
381 xmlChar *request_uri;
382
385
388
391
394
397
400
403
406
409
412
415
418
421
424
427
430
433
436
439
442
445
448
451
453 xmlChar *query_point;
454
456 xmlChar *query_select;
457
460
463
466
468 xmlChar *query_start;
469
472
475
477 xmlChar *query_test;
478
481
484
487
493
496
499
502
504 xmlChar *content_type;
505
508
511
514
516 xmlChar *if_match;
517
520
523
526
528 xmlChar *fragment;
529
531 uint32 pathlen;
532
535
537 boolean get2_read;
538
540 dlq_hdr_t get2_lookupQ;
541
543 dlq_hdr_t get2_selectQ;
544
547
550
553
557 boolean skip_read;
558
562 boolean empty_read;
563
565 boolean is_delta;
566
569
570/********************** Accept header entries ***************************/
571
574
576 boolean norm_header;
577
578/************************* RESTCONF entries *****************************/
579
583 boolean is_restconf;
584
589
592
594 xmlChar *query_filter;
595
602
605
612
614 xmlChar *stoptime_utc;
615
617 boolean futurestop;
618
621
625 const xmlChar *query_fields;
626
628 xmlChar *fields_buff;
629
632
634 xmlChar *index_string;
635
637 boolean empty_edit;
638
640 boolean is_action;
641
644
647
650
657
664
666 xmlChar *message_id;
667
668/********************* YANG-PATCH entries *****************************/
669
671 boolean yang_patch;
672
674 xmlChar *patch_id;
675
677 xmlChar *edit_id;
678
679/********************* YP-COAP entries *****************************/
680
682 boolean is_ypcoap;
683
684 uint16 http_status;
688 xmlChar *coap_etag;
689 xmlChar *http_location;
690 xmlChar *http_etag;
691 xmlChar *coap_data;
693 boolean coap_save;
696 boolean coap_block_m;
698
699/********************* SNMP entries *****************************/
700
702 boolean is_snmp;
703
704 /*** NOTE: ALL SIL AND SIL-SA CODE MUST BE BUILT WITH THE CORRECT
705 *** MATCHING MAKE FLAGS BECAUSE THIS STRUCT HAS CONDITIONAL MEMBERS
706 ***/
707
708#if defined(WITH_SNMP) && defined(WITH_RESTCONF)
709 yangapi_snmp_cb_t *snmp_cb;
710#else
711 void *snmp_cb_dummy; // dummy, not used
712#endif
713
714
715/********************* GNMI entries *****************************/
716
718 boolean is_gnmi;
719
722
724 boolean lock_done;
725
727 boolean gnmi_patch;
728
729
730/********************* NMDA Support entries *****************************/
731
734
736 boolean nmda_req;
737
742
745
746 struct cfg_template_t_ *nmda_source_cfg;
747
749 boolean with_origin;
750
752 boolean oper_edit;
753
758
760
761
765/********************************************************************
766* *
767* F U N C T I O N S *
768* *
769*********************************************************************/
770
789extern yangapi_param_t *
790 yangapi_new_param (const xmlChar *parmname,
791 uint32 parmnamelen,
792 const xmlChar *parmval,
793 uint32 parmvallen);
794
795
801extern void
803
804
818extern yangapi_accept_t *
819 yangapi_new_accept (const xmlChar *mediatype,
820 uint32 media_type_len,
821 const xmlChar *submediatype,
822 uint32 submediatype_len,
823 const xmlChar *acc_format,
824 uint32 acc_format_len,
825 const xmlChar *qvalue,
826 uint32 qvalue_len);
827
828
834extern void
836
837
845extern void
847
848
855extern void
857 ses_cb_t *scb);
858
859
865extern void
867
868
874extern yangapi_cb_t *
875 yangapi_new_rcb (void);
876
877
883extern void
885
886
892extern void
894
895
902extern const xmlChar *
904
905
912extern uint8
914
915
923 yangapi_get_content_enum (const xmlChar *content);
924
925
932extern const xmlChar *
934
942 yangapi_get_restconf_qparam_enum (const xmlChar *param);
943
947#ifdef __cplusplus
948} /* end extern 'C' */
949#endif
950
951#endif /* _H_yangapi */
dlq provides general double-linked list and queue support:
op_insertop_t
YANG insert operation types.
Definition: op.h:137
op_editop_t
NETCONF edit-config operation types.
Definition: op.h:122
void yangapi_clean_target_keyvalQ(yangapi_cb_t *rcb)
Free all the snmp target keyval entries.
Definition: yangapi.c:288
void yangapi_free_accept(yangapi_accept_t *accept_entry)
Free a YANGAPI accept header entries.
Definition: yangapi.c:213
void yangapi_clean_rcb(yangapi_cb_t *rcb)
Clean a YANGAPI/RESTCONF control block.
Definition: yangapi.c:525
void yangapi_free_rcb(yangapi_cb_t *rcb)
Free a YANGAPI control block.
Definition: yangapi.c:406
const xmlChar * yangapi_get_content_name(restconf_content_t content)
Get the keyword for the specified restconf_content_t enumeration.
Definition: yangapi.c:691
const xmlChar * yangapi_get_method_name(yangapi_method_t method_enum)
Get the method name from its enum.
Definition: yangapi.c:586
restconf_qparam_t yangapi_get_restconf_qparam_enum(const xmlChar *param)
Get the enum for a query parameter from the query URI part.
Definition: yangapi.c:720
yangapi_param_t * yangapi_new_param(const xmlChar *parmname, uint32 parmnamelen, const xmlChar *parmval, uint32 parmvallen)
Create a new YANGAPI paramater.
Definition: yangapi.c:81
void yangapi_clean_keyvalQ(yangapi_cb_t *rcb)
Clean the key value Q in a request control block.
Definition: yangapi.c:236
uint8 yangapi_cvt_method_coap(yangapi_method_t method_enum)
Get the libcoap numeric value for the HTTP method enum.
Definition: yangapi.c:624
void yangapi_clean_getnext_listQ(yangapi_cb_t *rcb, ses_cb_t *scb)
Free all the snmp getnext list entries.
Definition: yangapi.c:258
void yangapi_free_param(yangapi_param_t *param)
Free a YANG-API parameter.
Definition: yangapi.c:120
yangapi_cb_t * yangapi_new_rcb(void)
Create a new YANG-API control block.
Definition: yangapi.c:369
restconf_content_t yangapi_get_content_enum(const xmlChar *content)
Get the enum for the content query parameter from the query URI part.
Definition: yangapi.c:660
yangapi_accept_t * yangapi_new_accept(const xmlChar *mediatype, uint32 media_type_len, const xmlChar *submediatype, uint32 submediatype_len, const xmlChar *acc_format, uint32 acc_format_len, const xmlChar *qvalue, uint32 qvalue_len)
Create a new YANGAPI paramater.
Definition: yangapi.c:146
restconf_content_t
RESTCONF content query param enumeration.
Definition: yangapi.h:219
restconf_qparam_t
RESTCONF query param enumeration.
Definition: yangapi.h:227
yangapi_launchpt_t
describes the type of node indicated by the RequestURI path Used internally in the server to process ...
Definition: yangapi.h:126
yangapi_method_t
HTTP methods used by YANG-API and RESTCONF.
Definition: yangapi.h:111
@ RESTCONF_CONTENT_NONCONFIG
only non-configuration data nodes
Definition: yangapi.h:222
@ RESTCONF_CONTENT_CONFIG
return only configuration data nodes
Definition: yangapi.h:221
@ RESTCONF_CONTENT_NONE
not set
Definition: yangapi.h:220
@ RESTCONF_CONTENT_ALL
all descendant data nodes
Definition: yangapi.h:223
@ RESTCONF_QPARAM_UNKNOWN
used for unexpected or invalid parameters
Definition: yangapi.h:239
@ RESTCONF_QPARAM_WITH_ORIGIN
control origin metadata retrieval
Definition: yangapi.h:237
@ RESTCONF_QPARAM_EXTENSION
YumaWorks confirmed-commit extension.
Definition: yangapi.h:238
@ YANGAPI_LAUNCHPT_EVENTS
events launch point.
Definition: yangapi.h:172
@ YANGAPI_LAUNCHPT_OPERATION
/restconf/operations/some-operation launch point
Definition: yangapi.h:152
@ YANGAPI_LAUNCHPT_NONE
not set
Definition: yangapi.h:128
@ YANGAPI_LAUNCHPT_NEW_DATA
/restconf/data/foo/new-bar launch point
Definition: yangapi.h:140
@ YANGAPI_LAUNCHPT_YANGLIB_VERSION
/restconf/yang-library-version launch point
Definition: yangapi.h:175
@ YANGAPI_LAUNCHPT_ACTION
action launch point
Definition: yangapi.h:178
@ YANGAPI_LAUNCHPT_STREAMS
streams launch point
Definition: yangapi.h:164
@ YANGAPI_LAUNCHPT_DATA
/restconf/data/foo launch point
Definition: yangapi.h:137
@ YANGAPI_LAUNCHPT_YANG_PLAIN
RESTCONF 'schema' resource class.
Definition: yangapi.h:158
@ YANGAPI_LAUNCHPT_VERSION
version launch point
Definition: yangapi.h:161
@ YANGAPI_LAUNCHPT_DATASTORE
/restconf/data launch point
Definition: yangapi.h:134
@ YANGAPI_LAUNCHPT_OPERATIONS
/restconf/operations launch point
Definition: yangapi.h:149
@ YANGAPI_LAUNCHPT_MODULES
modules launch point
Definition: yangapi.h:143
@ YANGAPI_LAUNCHPT_MODULE
modules/module launch point
Definition: yangapi.h:146
@ YANGAPI_LAUNCHPT_YANG
YANG launch point.
Definition: yangapi.h:155
@ YANGAPI_LAUNCHPT_STREAM
streams/stream launch point
Definition: yangapi.h:167
@ YANGAPI_LAUNCHPT_SUBSCRIPTIONS
RFC 8650 RESTCONF subscriptions.
Definition: yangapi.h:181
@ YANGAPI_LAUNCHPT_TOP
/restconf launch point
Definition: yangapi.h:131
@ YANGAPI_METHOD_DELETE
DELETE method.
Definition: yangapi.h:119
@ YANGAPI_METHOD_HEAD
HEAD method.
Definition: yangapi.h:114
@ YANGAPI_METHOD_POST
POST method.
Definition: yangapi.h:116
@ YANGAPI_METHOD_GET
GET method.
Definition: yangapi.h:115
@ YANGAPI_METHOD_NONE
not set
Definition: yangapi.h:112
@ YANGAPI_METHOD_OPTIONS
OPTIONS method.
Definition: yangapi.h:113
@ YANGAPI_METHOD_PATCH
PATCH method.
Definition: yangapi.h:118
@ YANGAPI_METHOD_PUT
PUT method.
Definition: yangapi.h:117
status_t
global error return code
Definition: status_enum.h:219
uint32 ncx_etag_t
The ETag used in RESTCONF messages is the lower 32 bits of a ncx_transaction_id_t.
Definition: ncxtypes.h:750
ncx_cfg_t
hardwire the 3 standard configs
Definition: ncxtypes.h:548
ncx_nmda_ds_t
internal enumerations for standard NMDA datastores
Definition: ncxtypes.h:1612
ncx_display_mode_t
enumeration of val_dump_value display modes Some RESTCONF code uses this field incorrectly for messag...
Definition: ncxtypes.h:618
ncx_withdefaults_t
enum for with-defaults enum values
Definition: ncxtypes.h:1259
YANG module data structures Many internal representations of YANG module constructs.
Data Object Support.
NETCONF protocol operations.
defines the snmp oid value, stored as an array of integers for easier comparision when performing AVL...
Definition: obj.h:1244
One YANG data-def-stmt.
Definition: obj.h:1284
Session Control Block.
Definition: ses.h:759
one value to match one type
Definition: val.h:962
XPath parser control block.
Definition: xpath.h:754
XPath expression result.
Definition: xpath.h:705
Restapi Accept header string entries.
Definition: yangapi.h:200
xmlChar * media_type
media type
Definition: yangapi.h:205
dlq_hdr_t qhdr
queue header in case added to a queue
Definition: yangapi.h:202
xmlChar * submedia_type
sub-media type
Definition: yangapi.h:208
xmlChar * format
format requested
Definition: yangapi.h:211
xmlChar * qvalue_str
Q value string.
Definition: yangapi.h:214
Restapi Control Block Used by RESTCONF to hold parse and request processing state.
Definition: yangapi.h:355
val_value_t * request_sm_mpival
backptr inside root_tree to SM MPI value
Definition: yangapi.h:408
boolean is_replace_datastore
TRUE if Replace a Datastore Resource.
Definition: yangapi.h:649
xpath_result_t * request_xpath_result
search result for request URI
Definition: yangapi.h:396
xmlChar * edit_id
value represents failed edit ID
Definition: yangapi.h:677
size_t coap_datalen
output message body len
Definition: yangapi.h:692
xmlChar * http_location
if Location-Path needed
Definition: yangapi.h:689
xmlChar * http_etag
output CoAP ETag (not binary)
Definition: yangapi.h:690
xmlChar * request_uri
saved request URI
Definition: yangapi.h:381
boolean coap_block_m
filled if coap_is_block1
Definition: yangapi.h:696
uint8 coap_block_szx
filled if coap_is_block1
Definition: yangapi.h:695
xmlChar * query_start
back-ptr into request_uri, start parameter
Definition: yangapi.h:468
boolean nmda_ds_parsed
FALSE if still need to process /ds/datastore nodes TRUE if already done processing new resources.
Definition: yangapi.h:741
val_value_t * action_val
backptr inside targroot to action node
Definition: yangapi.h:646
boolean is_snmp
request header used for SNMP
Definition: yangapi.h:702
val_value_t * request_launch
backptr inside root tree to launch point
Definition: yangapi.h:429
yangapi_method_t method
HTTP method enumeration.
Definition: yangapi.h:525
boolean is_ypcoap
request from RESTCONF over CoAP
Definition: yangapi.h:682
uint32 request_subscription_id
request subscription number in subscriptions launchpt
Definition: yangapi.h:426
dlq_hdr_t paramQ
Q of yangapi_param_t.
Definition: yangapi.h:363
ncx_nmda_ds_t nmda_ds
NMDA datastore to use.
Definition: yangapi.h:733
xmlChar * query_starttime
used to trigger the notification replay feature and indicate that the replay should start at the time...
Definition: yangapi.h:601
xmlChar * query_persist_id
persist-id parameter for the confirmed-commit
Definition: yangapi.h:495
xmlChar * request_patch_path
request patch path
Definition: yangapi.h:384
uint32 return_code
HTTP return code to send to client.
Definition: yangapi.h:546
boolean gnmi_patch
gNMI patch request
Definition: yangapi.h:727
xpath_pcb_t * query_select_xpath
select parameter parsed as XPath
Definition: yangapi.h:459
boolean get2_read
TRUE if a GET2 read needed.
Definition: yangapi.h:537
val_value_t * request_terminal
backptr inside root tree to tarminal val_value_t found
Definition: yangapi.h:435
ncx_display_mode_t query_format
format query parameter
Definition: yangapi.h:447
uint32 request_xpath_result_count
search result count for request URI
Definition: yangapi.h:399
xmlChar * stoptime_utc
utc converted query_stoptime
Definition: yangapi.h:614
xmlChar * index_string
index string used to build Location header for list
Definition: yangapi.h:634
boolean netconf_getbulk
RESTCONF get-bulk active, not RESTCONF at all!
Definition: yangapi.h:390
yangapi_launchpt_t request_launchpt
request launch point
Definition: yangapi.h:423
xmlChar * fields_buff
malloced URL-decoded query_fields
Definition: yangapi.h:628
xmlChar * if_match
If-Match parameter.
Definition: yangapi.h:516
boolean query_confirmed
flag that confirm-commit is be completed
Definition: yangapi.h:501
xmlChar * starttime_utc
utc converted query_starttime
Definition: yangapi.h:604
boolean norm_header
TRUE if header entry is normative.
Definition: yangapi.h:576
boolean nmda_req
TRUE if this is NMDA datastore request.
Definition: yangapi.h:736
xmlChar * fragment
back-ptr to fragment if any
Definition: yangapi.h:528
obj_template_t * request_target_obj
backptr inside schema_tree
Definition: yangapi.h:417
boolean is_restconf
TRUE if RESTCONF method or a NETCONF <get-bulk> is in progress FALSE if a YANG-API method is in progr...
Definition: yangapi.h:583
xmlChar * if_none_match
If-None-Match parameter.
Definition: yangapi.h:519
op_editop_t editop
edit operation
Definition: yangapi.h:549
dlq_hdr_t get2_selectQ
Q of getcb_get2_select_t.
Definition: yangapi.h:543
obj_template_t * request_target_obj_term
final GET2 target
Definition: yangapi.h:420
dlq_hdr_t qhdr
queue header in case added to a queue
Definition: yangapi.h:360
ncx_display_mode_t accept_format
accepted output encoding
Definition: yangapi.h:573
xmlChar * content_length
input content length (not always set)
Definition: yangapi.h:507
dlq_hdr_t acceptQ
Q of yangapi_accept_t.
Definition: yangapi.h:369
uint32 query_select_xpath_result_count
result count for select parameter search
Definition: yangapi.h:465
xmlChar * query_stoptime
The 'stop-time' parameter is used with the replay feature to indicate the newest notifications of int...
Definition: yangapi.h:611
boolean target_is_config
TRUE if target data is config=true.
Definition: yangapi.h:568
boolean skip_read
TRUE to skip read during response because conditional was not met (e.g., If-Match.
Definition: yangapi.h:557
xmlChar * coap_data
output message body or block1 input
Definition: yangapi.h:691
xmlChar * query_test
back-ptr into paramQ, test parameter
Definition: yangapi.h:477
val_value_t * valfilter
filter element to use
Definition: yangapi.h:591
boolean is_gnmi
Request is for YP-gNMI
Definition: yangapi.h:718
status_t res
gNMI GET status
Definition: yangapi.h:721
boolean request_xpath_result_flat
flag flatten result already done
Definition: yangapi.h:402
boolean futurestop
flag if future stop notifications
Definition: yangapi.h:617
op_insertop_t query_insert
insert query parameter
Definition: yangapi.h:450
boolean empty_edit
TRUE if request is an empty edit.
Definition: yangapi.h:637
uint8 coap_accept_type
CoAP accept-type code.
Definition: yangapi.h:685
int content_len
actual content length
Definition: yangapi.h:522
boolean oper_edit
indicates whether the edit is on operational datastore or not
Definition: yangapi.h:752
val_value_t * request_target
backptr inside root_tree
Definition: yangapi.h:405
xmlChar * query_filter
URL encoded filter string.
Definition: yangapi.h:594
boolean coap_is_block1
T: request uses Blo0ck1.
Definition: yangapi.h:694
ncx_cfg_t nmda_cfg_ds
internal config ID to use
Definition: yangapi.h:744
ncx_withdefaults_t query_withdef
with-defaults default
Definition: yangapi.h:620
xpath_result_t * query_test_xpath_result
result for test parameter Xpath
Definition: yangapi.h:483
const xmlChar * query_fields
Fields query Parameter entries URL encoded str; backptr to ?
Definition: yangapi.h:625
uint32 query_test_xpath_result_count
result count for test parameter Xpath
Definition: yangapi.h:486
boolean request_force_patch_root
forced patch root
Definition: yangapi.h:387
dlq_hdr_t sorted_acceptQ
Q of sorted accept header.
Definition: yangapi.h:372
uint16 query_depth
depth query parameter
Definition: yangapi.h:444
ncx_etag_t query_etag
converted etag
Definition: yangapi.h:474
uint32 pathlen
len from request_uri of resource path
Definition: yangapi.h:531
xmlChar * request_method
request method
Definition: yangapi.h:378
uint16 http_status
HTTP status code.
Definition: yangapi.h:684
boolean yang_patch
TRUE if YANG PATCH is in progress.
Definition: yangapi.h:671
boolean db_api_patch
TRUE if this is an edit from DB-API.
Definition: yangapi.h:534
xmlChar * coap_etag
input CoAP ETag (binary)
Definition: yangapi.h:688
boolean is_delta
internal is delta flag
Definition: yangapi.h:565
obj_template_t * req_target_reply_obj
backptr inside root_tree->obj
Definition: yangapi.h:411
restconf_content_t query_content
Start RESTCONF specific Query parameters entries query_content value // config/nonconfig/all.
Definition: yangapi.h:588
dlq_hdr_t keyvalQ
Q of getcb_keyval_t.
Definition: yangapi.h:366
boolean coap_save
T: need to cache coap_data, not free.
Definition: yangapi.h:693
uint16 coap_block_num
filled if coap_is_block1
Definition: yangapi.h:697
xmlChar * patch_id
value used in the request
Definition: yangapi.h:674
val_value_t * request_top_data
backptr inside root tree to top of data
Definition: yangapi.h:432
boolean restconf_format
indicates whether the path string format is the restconf format or not.
Definition: yangapi.h:757
xmlChar * message_id
RESTCONF Message-ID Header.
Definition: yangapi.h:666
uint32 query_confirm_timeout
confirm-timeout parameter for the confirmed-commit
Definition: yangapi.h:498
xmlChar * query_select
back-ptr into paramQ to select parameter
Definition: yangapi.h:456
val_value_t * configval
Input value to keep for reference for notification purposes.
Definition: yangapi.h:663
val_value_t * curnode
curmode being processed
Definition: yangapi.h:552
val_value_t * fields_filter
malloced based on fields_buff
Definition: yangapi.h:631
xmlChar * if_modified_since
If-Modified-Since parameter.
Definition: yangapi.h:510
boolean query_config_set
TRUE if the config query parameter is present.
Definition: yangapi.h:441
xpath_result_t * query_select_xpath_result
result for select parameter search
Definition: yangapi.h:462
dlq_hdr_t get2_lookupQ
Q of getcb_get2_lookup_t.
Definition: yangapi.h:540
xmlChar * if_unmodified_since
If-Unmodified-Since parameter.
Definition: yangapi.h:513
time_t query_tstamp
converted timestamp
Definition: yangapi.h:471
xmlChar * event_stream_name
set to a malloced copy of the event stream name found in the request URI if AGT_LAUNCHPT_EVENTS is us...
Definition: yangapi.h:656
uint8 coap_content_type
CoAP content-type code.
Definition: yangapi.h:686
boolean empty_read
TRUE if there is nothing to read because filters did not produce any output.
Definition: yangapi.h:562
xpath_pcb_t * query_test_xpath
test parameter parsed as XPath
Definition: yangapi.h:480
xmlChar * request_target_name
malloced VAL_NAME
Definition: yangapi.h:414
xmlChar * query_point
back-ptr into paramQ to insertion point
Definition: yangapi.h:453
uint16 coap_etag_len
input CoAP ETag length
Definition: yangapi.h:687
boolean with_origin
If TRUE, requests will include "origin".
Definition: yangapi.h:749
boolean lock_done
gNMI lock done
Definition: yangapi.h:724
xmlChar * accept
saved Accept header string
Definition: yangapi.h:375
val_value_t * action_root
malloced pointer to action root
Definition: yangapi.h:643
boolean is_action
RESTCONF Action requested.
Definition: yangapi.h:640
xmlChar * content_type
input content type
Definition: yangapi.h:504
xpath_pcb_t * request_xpath
request URI parsed in XPath control block
Definition: yangapi.h:393
xmlChar * query_persist
start parameters for confirmed-commit extension persist parameter for confirmed-commit back-ptr into ...
Definition: yangapi.h:492
boolean query_config
TRUE for config=true, FALSE for config=false.
Definition: yangapi.h:438
YANG-API Query string parameter.
Definition: yangapi.h:187
xmlChar * value
query parameter value
Definition: yangapi.h:195
xmlChar * name
query parameter name
Definition: yangapi.h:192
dlq_hdr_t qhdr
queue header in case added to a queue
Definition: yangapi.h:189
Restapi SNMP Control Block Used by RESTCONF to hold parse and request processing state for an SNMP re...
Definition: yangapi.h:253
obj_oid_t * snmp_target_oid
Requested OID, for snmpget is the actual requested OID, For snmpgetnext will be the next OID wether n...
Definition: yangapi.h:282
val_value_t * snmp_target_list
malloced requested list value that holds all keys
Definition: yangapi.h:325
dlq_hdr_t snmp_target_keyvalQ
Q of malloced val_value_t.
Definition: yangapi.h:322
boolean snmpget2_index_match
GET2 boolean TRUE if found matching list entry FALSE, if no entry found.
Definition: yangapi.h:342
boolean snmp_return_value_set
TRUE if instance node and value found and set FALSE otherwise.
Definition: yangapi.h:293
uint8 snmp_pdu_code
SNMP PDU command code:
Definition: yangapi.h:271
dlq_hdr_t snmp_getnext_listQ
Q of malloced val_value struc Q of list entries with only keys in it.
Definition: yangapi.h:315
obj_template_t * snmp_target_obj
back pointer to target object (target leaf ONLY obj)
Definition: yangapi.h:274
uint32 snmp_index_length
the length of the index, Specifies how many .k1.k2.k3 appended after the base table OID
Definition: yangapi.h:331
boolean snmp_key_walk
TRUE if need to walk all the list entries first in order to process getnext request on tabular instan...
Definition: yangapi.h:287
obj_oid_t * snmp_target_index_oid
target index OID
Definition: yangapi.h:309
val_value_t * snmpget2_match_list
matched list value to use during get2 walking Used to find matching terminal value
Definition: yangapi.h:347
obj_template_t * snmp_table_obj
back pointer to target table object of the target leaf node
Definition: yangapi.h:334
Value Node Basic Support.
Schema and data model Xpath search support.