yumapro  23.10T-9
YumaPro SDK
Loading...
Searching...
No Matches
xpath1_aio.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019 - 2021, YumaWorks, Inc., All Rights Reserved.
3 *
4 * Unless required by applicable law or agreed to in writing,
5 * software distributed under the License is distributed on an
6 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
7 * KIND, either express or implied. See the License for the
8 * specific language governing permissions and limitations
9 * under the License.
10 */
11#ifndef _H_xpath1_aio
12#define _H_xpath1_aio
13
14/* FILE: xpath1_aio.h
15*********************************************************************
16* *
17* P U R P O S E *
18* *
19*********************************************************************/
20
27/*********************************************************************
28* *
29* C H A N G E H I S T O R Y *
30* *
31*********************************************************************
32
33date init comment
34----------------------------------------------------------------------
3507nov19 am begun;
36*/
37
38#include <xmlstring.h>
39#include <xmlreader.h>
40#include <xmlregexp.h>
41
42#ifndef _H_dlq
43#include "dlq.h"
44#endif
45
46#ifndef _H_ncxtypes
47#include "ncxtypes.h"
48#endif
49
50#ifndef _H_status
51#include "status.h"
52#endif
53
54#ifndef _H_obj
55#include "obj.h"
56#endif
57
58#ifndef _H_tk
59#include "tk.h"
60#endif
61
62#ifndef _H_val
63#include "val.h"
64#endif
65
66#ifndef _H_var
67#include "var.h"
68#endif
69
70#ifndef _H_yang
71#include "yang.h"
72#endif
73
74#ifdef __cplusplus
75extern "C" {
76#endif
77
78/********************************************************************
79* *
80* C O N S T A N T S *
81* *
82*********************************************************************/
83
84
85/********************************************************************
86* *
87* M A C R O S *
88* *
89*********************************************************************/
90
91
92/********************************************************************
93* *
94* T Y P E S *
95* *
96*********************************************************************/
97
98
99/********************************************************************
100* *
101* F U N C T I O N S *
102* *
103*********************************************************************/
104
105
106
125extern xpath_aio_cb_t *
126 xpath1_aio_find_aiocb_full (dlq_hdr_t *aioQ,
127 obj_template_t *obj,
128 xpath_get2_cb_t *cb);
129
130
138extern xpath_aio_cb_t *
139 xpath1_aio_find_aiocb_que (dlq_hdr_t *aioQ,
140 obj_template_t *obj);
141
142
143
152extern xpath_aio_cb_t *
154 xpath_get2_cb_t *get2cb_cb,
155 obj_template_t *obj);
156
157
163extern void
165
166
173extern xpath_aio_cb_t *
175
176
183extern xpath_aio_cb_t *
185
186
193extern val_value_t *
195
196
203extern val_value_t *
205
206
218extern status_t
220 xpath_get2_cb_t *get2cb_cb,
221 obj_template_t *obj);
222
223
234extern boolean
236 xpath_get2_cb_t *cb);
237
238
239
240
250extern void
252 val_value_t **parentval,
253 xpath_get2_cb_t **parent_cb);
254
255
256
260#ifdef __cplusplus
261} /* end extern 'C' */
262#endif
263
264#endif /* _H_xpath1_aio */
dlq provides general double-linked list and queue support:
status_t
global error return code
Definition: status_enum.h:210
void xpath1_aio_free_cb(xpath_aio_cb_t *cb)
Free a malloced AIO control block.
Definition: xpath1_aio.c:301
xpath_aio_cb_t * xpath1_aio_find_aiocb_que(dlq_hdr_t *aioQ, obj_template_t *obj)
Find AIO control block by object.
Definition: xpath1_aio.c:238
xpath_aio_cb_t * xpath1_aio_get_first_aio(xpath_pcb_t *pcb)
Get the first AIO Control block for the top level object.
Definition: xpath1_aio.c:326
status_t xpath1_aio_setup_aiocb(xpath_pcb_t *pcb, xpath_get2_cb_t *get2cb_cb, obj_template_t *obj)
Setup AIO control block entries.
Definition: xpath1_aio.c:438
val_value_t * xpath1_aio_get_first_aio_ptr(xpath_aio_cb_t *cb)
Get the first AIO val value in the valQ Queue.
Definition: xpath1_aio.c:380
xpath_aio_cb_t * xpath1_aio_find_aiocb_pcb(xpath_pcb_t *pcb, xpath_get2_cb_t *get2cb_cb, obj_template_t *obj)
Find AIO control block by object and get2cb.
Definition: xpath1_aio.c:270
boolean xpath1_aio_check_ascend_lists(val_value_t *useval, xpath_get2_cb_t *cb)
Check if all the ascendent AIO lists are correct lists for the current val value and XPath GET2 contr...
Definition: xpath1_aio.c:520
xpath_aio_cb_t * xpath1_aio_get_next_aio(xpath_aio_cb_t *cb)
Get the next AIO Control block for the next level object.
Definition: xpath1_aio.c:353
xpath_aio_cb_t * xpath1_aio_find_aiocb_full(dlq_hdr_t *aioQ, obj_template_t *obj, xpath_get2_cb_t *cb)
Find AIO control block by object and also check if the AIO CB is the correct control block with the s...
Definition: xpath1_aio.c:205
void xpath1_aio_get_parent(const val_value_t *val, val_value_t **parentval, xpath_get2_cb_t **parent_cb)
Get the AIO top value node parent.
Definition: xpath1_aio.c:584
val_value_t * xpath1_aio_get_next_aio_ptr(val_value_t *entry)
Get the next AIO val value in the valQ Queue.
Definition: xpath1_aio.c:407
YANG module data structures Many internal representations of YANG module constructs.
Data Object Support.
Global error messages for status code enumerations.
One YANG data-def-stmt.
Definition: obj.h:1220
one value to match one type
Definition: val.h:912
AIO Subtree respresentation.
Definition: xpath.h:1135
Special XPath GET2 state record to be used instead of val_value_t or val_child_hdr_t pointers.
Definition: xpath.h:562
XPath parser control block.
Definition: xpath.h:754
NCX Syntax Token Handler.
Value Node Basic Support.
NCX Variable Support.
YANG Module parser utilities.