libnetconf2  1.1.26
NETCONF library for clients and servers
messages_client.h
Go to the documentation of this file.
1 
16 #ifndef NC_MESSAGES_CLIENT_H_
17 #define NC_MESSAGES_CLIENT_H_
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include <stdint.h>
24 
25 #include "netconf.h"
26 
40 typedef enum {
44  /* ietf-netconf */
58  /* ietf-netconf-monitoring */
61  /* notifications */
64  /* ietf-netconf-nmda */
67 } NC_RPC_TYPE;
68 
72 typedef enum {
78 
82 typedef enum {
88 
92 typedef enum {
98 
102 struct nc_err {
104  const char *type;
106  const char *tag;
108  const char *severity;
110  const char *apptag;
112  const char *path;
114  const char *message;
116  const char *message_lang;
117 
118  /* <error-info> */
119 
121  const char *sid;
123  const char **attr;
125  const char **elem;
127  const char **ns;
129  struct lyxml_elem **other;
130 
132  uint16_t attr_count;
134  uint16_t elem_count;
136  uint16_t ns_count;
138  uint16_t other_count;
139 };
140 
144 struct nc_rpc;
145 
149 struct nc_reply {
151 };
152 
158  struct lyd_node *data;
163 };
164 
170  const struct nc_err *err;
171  uint32_t count;
172 };
173 
177 struct nc_notif {
179  const char *datetime;
180  struct lyd_node *tree;
181 };
182 
189 NC_RPC_TYPE nc_rpc_get_type(const struct nc_rpc *rpc);
190 
201 struct nc_rpc *nc_rpc_act_generic(const struct lyd_node *data, NC_PARAMTYPE paramtype);
202 
216 struct nc_rpc *nc_rpc_act_generic_xml(const char *xml_str, NC_PARAMTYPE paramtype);
217 
233 struct nc_rpc *nc_rpc_getconfig(NC_DATASTORE source, const char *filter, NC_WD_MODE wd_mode,
234  NC_PARAMTYPE paramtype);
235 
253 struct nc_rpc *nc_rpc_edit(NC_DATASTORE target, NC_RPC_EDIT_DFLTOP default_op, NC_RPC_EDIT_TESTOPT test_opt,
254  NC_RPC_EDIT_ERROPT error_opt, const char *edit_content, NC_PARAMTYPE paramtype);
255 
273 struct nc_rpc *nc_rpc_copy(NC_DATASTORE target, const char *url_trg, NC_DATASTORE source,
274  const char *url_or_config_src, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype);
275 
290 struct nc_rpc *nc_rpc_delete(NC_DATASTORE target, const char *url, NC_PARAMTYPE paramtype);
291 
304 struct nc_rpc *nc_rpc_lock(NC_DATASTORE target);
305 
318 struct nc_rpc *nc_rpc_unlock(NC_DATASTORE target);
319 
334 struct nc_rpc *nc_rpc_get(const char *filter, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype);
335 
348 struct nc_rpc *nc_rpc_kill(uint32_t session_id);
349 
366 struct nc_rpc *nc_rpc_commit(int confirmed, uint32_t confirm_timeout, const char *persist, const char *persist_id,
367  NC_PARAMTYPE paramtype);
368 
380 struct nc_rpc *nc_rpc_discard(void);
381 
395 struct nc_rpc *nc_rpc_cancel(const char *persist_id, NC_PARAMTYPE paramtype);
396 
411 struct nc_rpc *nc_rpc_validate(NC_DATASTORE source, const char *url_or_config, NC_PARAMTYPE paramtype);
412 
428 struct nc_rpc *nc_rpc_getschema(const char *identifier, const char *version, const char *format, NC_PARAMTYPE paramtype);
429 
446 struct nc_rpc *nc_rpc_subscribe(const char *stream_name, const char *filter, const char *start_time,
447  const char *stop_time, NC_PARAMTYPE paramtype);
448 
470 struct nc_rpc *nc_rpc_getdata(const char *datastore, const char *filter, const char *config_filter, char **origin_filter,
471  int origin_filter_count, int neg_origin_filter, uint16_t max_depth, int with_origin,
472  NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype);
473 
489 struct nc_rpc *nc_rpc_editdata(const char *datastore, NC_RPC_EDIT_DFLTOP default_op, const char *edit_content,
490  NC_PARAMTYPE paramtype);
491 
497 void nc_rpc_free(struct nc_rpc *rpc);
498 
504 void nc_reply_free(struct nc_reply *reply);
505 
511 void nc_notif_free(struct nc_notif *notif);
512 
515 #ifdef __cplusplus
516 }
517 #endif
518 
519 #endif /* NC_MESSAGES_CLIENT_H_ */
uint16_t attr_count
Number of items in the attr array.
const char * message
<error-message>, Human-readable description of the error.
uint16_t other_count
Number of items in the other array.
struct lyd_node * data
const char * path
<error-path>, XPATH expression identifying the element with the error.
const char ** attr
<bad-attr>, array of the names of the data-model-specific XML attributes that caused the error....
const char ** elem
<bad-element>, array of the names of the data-model-specific XML element that caused the error....
const char * tag
<error-tag>.
const char * type
<error-type>, error layer where the error occurred.
struct lyd_node * tree
const char * severity
<error-severity>.
const char * datetime
uint16_t elem_count
Number of items in the elem array.
const char ** ns
<bad-namespace>, array of the unexpected XML namespaces that caused the error. Part of <error-info>.
const char * message_lang
xml:lang attribute of the error-message.
const char * apptag
<error-app-tag>, the data-model-specific or implementation-specific error condition,...
struct lyxml_elem ** other
Array of the remaining non-standard elements.
const char * sid
<session-id>, session ID of the session holding the requested lock. Part of <error-info>.
const struct nc_err * err
uint16_t ns_count
Number of items in the ns array.
struct nc_rpc * nc_rpc_subscribe(const char *stream_name, const char *filter, const char *start_time, const char *stop_time, NC_PARAMTYPE paramtype)
Create NETCONF RPC <create-subscription>
struct nc_rpc * nc_rpc_discard(void)
Create NETCONF RPC <discard-changes>
NC_RPC_EDIT_ERROPT
Enumeration of <edit-config> error option.
NC_RPC_EDIT_TESTOPT
Enumeration of <edit-config> test option.
struct nc_rpc * nc_rpc_lock(NC_DATASTORE target)
Create NETCONF RPC <lock>
NC_RPC_EDIT_DFLTOP
Enumeration of <edit-config> default operation.
void nc_rpc_free(struct nc_rpc *rpc)
Free the NETCONF RPC object.
struct nc_rpc * nc_rpc_unlock(NC_DATASTORE target)
Create NETCONF RPC <unlock>
struct nc_rpc * nc_rpc_editdata(const char *datastore, NC_RPC_EDIT_DFLTOP default_op, const char *edit_content, NC_PARAMTYPE paramtype)
Create NETCONF RPC <get-data>
struct nc_rpc * nc_rpc_kill(uint32_t session_id)
Create NETCONF RPC <kill-session>
NC_RPC_TYPE
Enumeration of RPC types.
struct nc_rpc * nc_rpc_cancel(const char *persist_id, NC_PARAMTYPE paramtype)
Create NETCONF RPC <cancel-commit>
struct nc_rpc * nc_rpc_act_generic(const struct lyd_node *data, NC_PARAMTYPE paramtype)
Create a generic NETCONF RPC or action.
struct nc_rpc * nc_rpc_getschema(const char *identifier, const char *version, const char *format, NC_PARAMTYPE paramtype)
Create NETCONF RPC <get-schema>
struct nc_rpc * nc_rpc_act_generic_xml(const char *xml_str, NC_PARAMTYPE paramtype)
Create a generic NETCONF RPC or action from an XML string.
struct nc_rpc * nc_rpc_commit(int confirmed, uint32_t confirm_timeout, const char *persist, const char *persist_id, NC_PARAMTYPE paramtype)
Create NETCONF RPC <commit>
NC_RPC_TYPE nc_rpc_get_type(const struct nc_rpc *rpc)
Get the type of the RPC.
struct nc_rpc * nc_rpc_edit(NC_DATASTORE target, NC_RPC_EDIT_DFLTOP default_op, NC_RPC_EDIT_TESTOPT test_opt, NC_RPC_EDIT_ERROPT error_opt, const char *edit_content, NC_PARAMTYPE paramtype)
Create NETCONF RPC <edit-config>
struct nc_rpc * nc_rpc_getconfig(NC_DATASTORE source, const char *filter, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype)
Create NETCONF RPC <get-config>
struct nc_rpc * nc_rpc_validate(NC_DATASTORE source, const char *url_or_config, NC_PARAMTYPE paramtype)
Create NETCONF RPC <validate>
struct nc_rpc * nc_rpc_copy(NC_DATASTORE target, const char *url_trg, NC_DATASTORE source, const char *url_or_config_src, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype)
Create NETCONF RPC <copy-config>
void nc_notif_free(struct nc_notif *notif)
Free the NETCONF Notification object.
struct nc_rpc * nc_rpc_getdata(const char *datastore, const char *filter, const char *config_filter, char **origin_filter, int origin_filter_count, int neg_origin_filter, uint16_t max_depth, int with_origin, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype)
Create NETCONF RPC <get-data>
struct nc_rpc * nc_rpc_get(const char *filter, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype)
Create NETCONF RPC <get>
void nc_reply_free(struct nc_reply *reply)
Free the NETCONF RPC reply object.
struct nc_rpc * nc_rpc_delete(NC_DATASTORE target, const char *url, NC_PARAMTYPE paramtype)
Create NETCONF RPC <delete-config>
@ NC_RPC_EDIT_ERROPT_STOP
@ NC_RPC_EDIT_ERROPT_CONTINUE
@ NC_RPC_EDIT_ERROPT_UNKNOWN
@ NC_RPC_EDIT_ERROPT_ROLLBACK
@ NC_RPC_EDIT_TESTOPT_TESTSET
@ NC_RPC_EDIT_TESTOPT_TEST
@ NC_RPC_EDIT_TESTOPT_UNKNOWN
@ NC_RPC_EDIT_TESTOPT_SET
@ NC_RPC_EDIT_DFLTOP_UNKNOWN
@ NC_RPC_EDIT_DFLTOP_MERGE
@ NC_RPC_EDIT_DFLTOP_NONE
@ NC_RPC_EDIT_DFLTOP_REPLACE
@ NC_RPC_KILL
@ NC_RPC_DISCARD
@ NC_RPC_ACT_GENERIC
@ NC_RPC_COPY
@ NC_RPC_UNLOCK
@ NC_RPC_GETCONFIG
@ NC_RPC_GETDATA
@ NC_RPC_CANCEL
@ NC_RPC_GET
@ NC_RPC_COMMIT
@ NC_RPC_EDITDATA
@ NC_RPC_LOCK
@ NC_RPC_SUBSCRIBE
@ NC_RPC_EDIT
@ NC_RPC_VALIDATE
@ NC_RPC_UNKNOWN
@ NC_RPC_DELETE
@ NC_RPC_GETSCHEMA
NETCONF error structure representation.
NETCONF client notification object.
NETCONF client rpc-reply object.
NETCONF client data rpc-reply object.
NETCONF client error rpc-reply object.
enum NC_REPLY NC_RPL
Enumeration of NETCONF (both server and client) rpc-reply types.
enum NC_WITHDEFAULTS_MODE NC_WD_MODE
Enumeration of NETCONF with-defaults capability modes.
enum NC_DATASTORE_TYPE NC_DATASTORE
Enumeration of the supported types of datastores defined by NETCONF.
NC_PARAMTYPE
Enumeration of function parameter treatments.
Definition: netconf.h:122
libnetconf2's general public functions and structures definitions.