libnetconf 0.10.0-0.10.0
NETCONF Library
Loading...
Searching...
No Matches
transapi.h
Go to the documentation of this file.
1
42#ifndef NC_TRANSAPI_H
43#define NC_TRANSAPI_H
44
45#include <sys/inotify.h>
46#include <libxml/tree.h>
47#include "netconf.h"
48#include "error.h"
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54/* Current transAPI version */
55#define TRANSAPI_VERSION 6
56
57/* maximal number of input arguments every defined RPC can have */
58#ifndef MAX_RPC_INPUT_ARGS
59# define MAX_RPC_INPUT_ARGS 64
60#endif
61
77
83
95
96
97struct ns_pair {
98 const char* prefix;
99 const char* href;
100};
101
107struct transapi {
115 int (*init)(xmlDocPtr *);
119 void (*close)(void);
123 xmlDocPtr (*get_state)(const xmlDocPtr, const xmlDocPtr, struct nc_err**);
152};
153
158struct clbk {
159 char* path;
160 int (*func)(void**, XMLDIFF_OP, xmlNodePtr, xmlNodePtr, struct nc_err**);
161};
162
172
179 struct {
180 char* name;
181 nc_reply* (*func)(xmlNodePtr);
183};
184
197 struct {
198 const char* path;
199 int (*func)(const char*, xmlDocPtr*, int*);
201};
202
203#ifdef __cplusplus
204}
205#endif
206
207#endif /* NC_TRANSAPI_H */
NETCONF error handling functions.
struct nc_msg nc_reply
reply message.
Definition netconf.h:62
NC_EDIT_ERROPT_TYPE
Enumeration of edit-config's <error-option> element values.
Definition netconf.h:309
XMLDIFF_OP
Enum specifying states of node in document.
Definition transapi.h:67
@ XMLDIFF_REM
Definition transapi.h:71
@ XMLDIFF_MOD
Definition transapi.h:72
@ XMLDIFF_CHAIN
Definition transapi.h:73
@ XMLDIFF_NONE
Definition transapi.h:69
@ XMLDIFF_REORDER
Definition transapi.h:75
@ XMLDIFF_ADD
Definition transapi.h:70
@ XMLDIFF_ERR
Definition transapi.h:68
@ XMLDIFF_SIBLING
Definition transapi.h:74
libnetconf's general public functions and structures definitions.
Structure describing callback - path + function.
Definition transapi.h:158
char * path
Definition transapi.h:159
int(* func)(void **, XMLDIFF_OP, xmlNodePtr, xmlNodePtr, struct nc_err **)
Definition transapi.h:160
Definition transapi.h:97
const char * prefix
Definition transapi.h:98
const char * href
Definition transapi.h:99
Same as transapi_data_callbacks. Using libxml2 structures for callbacks parameters.
Definition transapi.h:167
struct clbk callbacks[]
Definition transapi.h:170
void * data
Definition transapi.h:169
int callbacks_count
Definition transapi.h:168
Functions to call if the specified file is modified.
Definition transapi.h:195
int(* func)(const char *, xmlDocPtr *, int *)
Definition transapi.h:199
const char * path
Definition transapi.h:198
int callbacks_count
Definition transapi.h:196
struct transapi_file_callbacks::@1 callbacks[]
Same as transapi_rpc_callbacks. Using libxml2 structures for callbacks parameters.
Definition transapi.h:177
char * name
Definition transapi.h:180
int callbacks_count
Definition transapi.h:178
struct transapi_rpc_callbacks::@0 callbacks[]
Structure to describe transAPI module and connect it statically with libnetconf using ncds_new_transa...
Definition transapi.h:107
xmlDocPtr(* get_state)(const xmlDocPtr, const xmlDocPtr, struct nc_err **)
Function returning status information.
Definition transapi.h:123
void(* close)(void)
Free module resources and prepare for closing.
Definition transapi.h:119
struct transapi_data_callbacks * data_clbks
Transapi callback mapping structure.
Definition transapi.h:131
struct ns_pair * ns_mapping
Mapping prefixes with URIs.
Definition transapi.h:139
struct transapi_file_callbacks * file_clbks
Transapi file monitoring structure.
Definition transapi.h:151
TRANSAPI_CLBCKS_ORDER_TYPE clbks_order
Callbacks order settings.
Definition transapi.h:127
int * config_modified
Flag if configuration data passed to callbacks were modified.
Definition transapi.h:143
int version
transapi version of the module
Definition transapi.h:111
NC_EDIT_ERROPT_TYPE * erropt
edit-config's error-option for the current transaction
Definition transapi.h:147
struct transapi_rpc_callbacks * rpc_clbks
Transapi rpc callbacks mapping structure.
Definition transapi.h:135
int(* init)(xmlDocPtr *)
Module initialization.
Definition transapi.h:115
CLBCKS_APPLIED
Definition transapi.h:85
@ CLBCKS_APPLIED_FULLY
Definition transapi.h:93
@ CLBCKS_APPLIED_NONE
Definition transapi.h:86
@ CLBCKS_APPLIED_NO_ERROR
Definition transapi.h:89
@ CLBCKS_APPLIED_NOT_FULLY
Definition transapi.h:92
@ CLBCKS_APPLIED_ERROR
Definition transapi.h:88
@ CLBCKS_APPLYING_CHILDREN
Definition transapi.h:87
@ CLBCKS_APPLIED_CHILDREN_NO_ERROR
Definition transapi.h:91
@ CLBCKS_APPLIED_CHILDREN_ERROR
Definition transapi.h:90
TRANSAPI_CLBCKS_ORDER_TYPE
Definition transapi.h:78
@ TRANSAPI_CLBCKS_LEAF_TO_ROOT
Definition transapi.h:79
@ TRANSAPI_CLBCKS_ORDER_DEFAULT
Definition transapi.h:81
@ TRANSAPI_CLBCKS_ROOT_TO_LEAF
Definition transapi.h:80