yumapro  24.10-11
YumaPro SDK
Loading...
Searching...
No Matches
db_api.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_db_api
13#define _H_db_api
14
15/* FILE: db_api.h
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
28/*********************************************************************
29* *
30* C H A N G E H I S T O R Y *
31* *
32*********************************************************************
33
34date init comment
35----------------------------------------------------------------------
3618-nov-14 abb Begun
37*/
38
39#include <xmlstring.h>
40
41#ifndef _H_db_api_types
42#include "db_api_types.h"
43#endif
44
45#ifndef _H_rpc
46#include "rpc.h"
47#endif
48
49#ifndef _H_val
50#include "val.h"
51#endif
52
53#ifndef _H_yang_patch
54#include "yang_patch.h"
55#endif
56
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
62
83/********************************************************************
84* *
85* C O N S T A N T S *
86* *
87*********************************************************************/
88
90#define DB_API (const xmlChar *)"db-api"
91
93#define DB_API_MOD (const xmlChar *)"yumaworks-db-api"
94
96#define DB_API_OBJ (const xmlChar *)"db-api"
97
99#define DB_API_REQ_OK(ST) (ST >= DB_API_ST_READY)
100
101
102/********************************************************************
103* *
104* T Y P E S *
105* *
106*********************************************************************/
107
108
109/********************************************************************
110* *
111* F U N C T I O N S *
112* *
113*********************************************************************/
114
115
126extern status_t
127 db_api_register_service (void);
128
129
139extern status_t
140 db_api_register_service_ex (boolean with_db_lock);
141
142
152extern boolean
153 db_api_service_ready (void);
154
155
200extern status_t
201 db_api_send_edit (const xmlChar *edit_target,
202 const xmlChar *edit_operation,
203 const xmlChar *edit_xml_value);
204
205
236extern status_t
237 db_api_send_edit_ex (const xmlChar *edit_target,
238 const xmlChar *edit_operation,
239 const xmlChar *edit_xml_value,
240 const xmlChar *patch_id_str,
241 boolean system_edit);
242
243
310extern status_t
311 db_api_send_edit_full (const xmlChar *edit_target,
312 const xmlChar *edit_operation,
313 const xmlChar *edit_xml_value,
314 const xmlChar *patch_id_str,
315 boolean system_edit,
316 const xmlChar *insert_point,
317 const xmlChar *insert_where);
318
319
390extern status_t
391 db_api_send_edit_full2 (const xmlChar *edit_target,
392 const xmlChar *edit_operation,
393 const xmlChar *edit_xml_value,
394 const xmlChar *patch_id_str,
395 boolean system_edit,
396 const xmlChar *insert_point,
397 const xmlChar *insert_where,
398 boolean skip_sil);
399
400
413extern status_t
414 db_api_check_edit (void);
415
416
437extern status_t
438 db_api_check_edit_ex (const xmlChar **errstr);
439
440
441
451extern status_t
452 db_api_send_getconfig (const xmlChar *filespec,
453 boolean withdef);
454
455
472extern status_t
473 db_api_send_getfilter (const xmlChar *filespec,
474 boolean withdef,
475 boolean get_config,
476 const xmlChar *xpath_filter);
477
478
497extern status_t
499 void *cookie,
500 boolean withdef,
501 boolean get_config,
502 const xmlChar *xpath_filter);
503
504
527extern status_t
528 db_api_start_patch (const xmlChar *patch_id_str,
529 boolean system_edit,
530 yang_patch_cb_t **retcb);
531
532
533
564extern status_t
565 db_api_start_patch2 (const xmlChar *patch_id_str,
566 boolean system_edit,
567 boolean skip_sil,
568 const xmlChar *comment,
569 yang_patch_cb_t **retcb);
570
571
595extern status_t
596 db_api_add_edit (yang_patch_cb_t *pcb,
597 const xmlChar *edit_id_str,
598 const xmlChar *edit_target,
599 const xmlChar *edit_operation,
600 const xmlChar *edit_xml_value,
601 const xmlChar *insert_point,
602 const xmlChar *insert_where);
603
604
616extern status_t
617 db_api_send_patch (yang_patch_cb_t *pcb);
618
619
628extern void
629 db_api_free_patch (yang_patch_cb_t *pcb);
630
631
639extern status_t
641
642
651extern status_t
652 db_api_send_enter_maintmode_ex (boolean read_ok,
653 boolean operation_ok);
654
655
661extern status_t
663
664
671extern status_t
672 db_api_send_set_loglevel (const char *dlevel);
673
674
680extern status_t
682
683
689extern status_t
691
692
707extern status_t
708 db_api_send_subrpc_request (const xmlChar *user_id,
709 const xmlChar *rpc_modname,
710 const xmlChar *rpc_name,
711 const xmlChar *in_filespec,
712 const xmlChar *out_filespec);
713
714
715
716
717
728extern status_t
729 db_api_send_ypha_request(val_value_t *msgval);
730
731
732
742extern status_t
743 db_api_send_protocol_control (const xmlChar *action,
744 const xmlChar *protocol);
745
746
747
753extern uint32
755
756
757
761#ifdef __cplusplus
762} /* end extern 'C' */
763#endif
764
765#endif /* _H_db_api */
Data structures for DB-API service layer.
status_t db_api_send_edit(const xmlChar *edit_target, const xmlChar *edit_operation, const xmlChar *edit_xml_value)
Create a YANG Patch edit request and send it to the DB-API service on the main server.
Definition: db_api.c:2434
status_t db_api_send_edit_ex(const xmlChar *edit_target, const xmlChar *edit_operation, const xmlChar *edit_xml_value, const xmlChar *patch_id_str, boolean system_edit)
Create a YANG Patch edit request and send it to the DB-API service on the main server.
Definition: db_api.c:2493
uint32 db_api_get_last_msg_id(void)
API to get the last message ID sent by the db-api system.
Definition: db_api.c:3867
status_t db_api_send_exit_maintmode(void)
Create a <exit-maintmode> request and send it to the main server.
Definition: db_api.c:3569
status_t db_api_send_set_loglevel(const char *dlevel)
Create a <set-log-level> request and send it to the main server.
Definition: db_api.c:3588
status_t db_api_start_patch(const xmlChar *patch_id_str, boolean system_edit, yang_patch_cb_t **retcb)
Start a YANG Patch request that can have multiple edits.
Definition: db_api.c:2895
status_t db_api_send_protocol_control(const xmlChar *action, const xmlChar *protocol)
Create a <protocol-control> request and send it to the main server.
Definition: db_api.c:3824
status_t db_api_send_subrpc_request(const xmlChar *user_id, const xmlChar *rpc_modname, const xmlChar *rpc_name, const xmlChar *in_filespec, const xmlChar *out_filespec)
Create a <subrpc-request> request and send it to the main server.
Definition: db_api.c:3724
status_t db_api_send_enter_maintmode(void)
Create a <enter-maintmode> request and send it to the main server.
Definition: db_api.c:3527
status_t db_api_request_local_db_lock(void)
API to request that the local system has the Db-Edit-Lock.
Definition: db_api.c:3608
status_t db_api_release_local_db_lock(void)
API to release the local system Db-Edit-Lock.
Definition: db_api.c:3661
status_t db_api_send_getconfig(const xmlChar *filespec, boolean withdef)
Create a <getconfig> request and send it to the main server.
Definition: db_api.c:3196
status_t db_api_send_getfilter_cb(db_api_dataresp_cbfn_t cbfn, void *cookie, boolean withdef, boolean get_config, const xmlChar *xpath_filter)
Retrieve data from the server with user callback.
Definition: db_api.c:3283
status_t db_api_send_enter_maintmode_ex(boolean read_ok, boolean operation_ok)
Create a <enter-maintmode> request and send it to the main server.
Definition: db_api.c:3549
status_t db_api_send_edit_full(const xmlChar *edit_target, const xmlChar *edit_operation, const xmlChar *edit_xml_value, const xmlChar *patch_id_str, boolean system_edit, const xmlChar *insert_point, const xmlChar *insert_where)
Create a YANG Patch edit request and send it to the DB-API service on the main server.
Definition: db_api.c:2569
status_t db_api_check_edit(void)
Check on the status of an edit in progress.
Definition: db_api.c:3114
status_t db_api_register_service_ex(boolean with_db_lock)
Register the DB-API service with the YControl layer.
Definition: db_api.c:2341
void(* db_api_dataresp_cbfn_t)(status_t res, val_value_t *val, void *cookie)
user function callback template for processing the val_value_t tree for the server data response.
Definition: db_api_types.h:171
status_t
global error return code
Definition: status_enum.h:219
NETCONF protocol remote procedure call common definitions.
one value to match one type
Definition: val.h:912
One YANG Patch Request.
Definition: yang_patch.h:155
Value Node Basic Support.
YANG Patch Media Type.