libnetconf2
3.5.4
NETCONF server and client library in C.
|
Functions to create NETCONF RPCs (or actions) and process replies received from the server. More...
Data Structures | |
struct | nc_err |
NETCONF error structure representation. More... | |
struct | nc_rpc |
NETCONF client RPC object. More... | |
Functions | |
struct nc_rpc * | nc_rpc_act_generic (const struct lyd_node *data, NC_PARAMTYPE paramtype) |
Create a generic NETCONF RPC or action. More... | |
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. More... | |
struct nc_rpc * | nc_rpc_cancel (const char *persist_id, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <cancel-commit> More... | |
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> More... | |
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> More... | |
struct nc_rpc * | nc_rpc_delete (NC_DATASTORE target, const char *url, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <delete-config> More... | |
struct nc_rpc * | nc_rpc_deletesub (uint32_t id) |
Create NETCONF RPC <delete-subscription> More... | |
struct nc_rpc * | nc_rpc_discard (void) |
Create NETCONF RPC <discard-changes> More... | |
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> More... | |
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> More... | |
struct nc_rpc * | nc_rpc_establishpush_onchange (const char *datastore, const char *filter, const char *stop_time, const char *encoding, uint32_t dampening_period, int sync_on_start, const char **excluded_change, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <establish-subscription> with augments from ietf-yang-push for an on-change subscription. More... | |
struct nc_rpc * | nc_rpc_establishpush_periodic (const char *datastore, const char *filter, const char *stop_time, const char *encoding, uint32_t period, const char *anchor_time, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <establish-subscription> with augments from ietf-yang-push for a periodic subscription. More... | |
struct nc_rpc * | nc_rpc_establishsub (const char *filter, const char *stream_name, const char *start_time, const char *stop_time, const char *encoding, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <establish-subscription> More... | |
void | nc_rpc_free (struct nc_rpc *rpc) |
Free the NETCONF RPC object. More... | |
struct nc_rpc * | nc_rpc_get (const char *filter, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <get> More... | |
NC_RPC_TYPE | nc_rpc_get_type (const struct nc_rpc *rpc) |
Get the type of the RPC. More... | |
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> More... | |
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> More... | |
struct nc_rpc * | nc_rpc_getschema (const char *identifier, const char *version, const char *format, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <get-schema> More... | |
struct nc_rpc * | nc_rpc_kill (uint32_t session_id) |
Create NETCONF RPC <kill-session> More... | |
struct nc_rpc * | nc_rpc_killsub (uint32_t id) |
Create NETCONF RPC <kill-subscription> More... | |
struct nc_rpc * | nc_rpc_lock (NC_DATASTORE target) |
Create NETCONF RPC <lock> More... | |
struct nc_rpc * | nc_rpc_modifypush_onchange (uint32_t id, const char *datastore, const char *filter, const char *stop_time, uint32_t dampening_period, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <modify-subscription> with augments from ietf-yang-push for an on-change subscription. More... | |
struct nc_rpc * | nc_rpc_modifypush_periodic (uint32_t id, const char *datastore, const char *filter, const char *stop_time, uint32_t period, const char *anchor_time, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <modify-subscription> with augments from ietf-yang-push for a periodic subscription. More... | |
struct nc_rpc * | nc_rpc_modifysub (uint32_t id, const char *filter, const char *stop_time, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <modify-subscription> More... | |
struct nc_rpc * | nc_rpc_resyncsub (uint32_t id) |
Create NETCONF RPC <resync-subscription> More... | |
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> More... | |
struct nc_rpc * | nc_rpc_unlock (NC_DATASTORE target) |
Create NETCONF RPC <unlock> More... | |
struct nc_rpc * | nc_rpc_validate (NC_DATASTORE source, const char *url_or_config, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <validate> More... | |
Functions to create NETCONF RPCs (or actions) and process replies received from the server.
struct nc_err |
NETCONF error structure representation.
Definition at line 114 of file messages_client.h.
struct nc_rpc |
NETCONF client RPC object.
Note that any stored parameters are not checked for validity because it is performed later, while sending the RPC via a specific NETCONF session (nc_send_rpc()) since the NETCONF capabilities of the session are needed for such a check. An RPC object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the RPC.
enum NC_RPC_TYPE |
Enumeration of RPC types.
Note that NC_RPC_CLOSE is not defined since sending <close-session> is done implicitly by nc_session_free()
Definition at line 41 of file messages_client.h.
enum NC_RPC_EDIT_DFLTOP |
Enumeration of <edit-config> default operation.
Definition at line 84 of file messages_client.h.
enum NC_RPC_EDIT_TESTOPT |
Enumeration of <edit-config> test option.
Enumerator | |
---|---|
NC_RPC_EDIT_TESTOPT_UNKNOWN |
unknown test option |
NC_RPC_EDIT_TESTOPT_TESTSET |
test-then-set option |
NC_RPC_EDIT_TESTOPT_SET |
set option |
NC_RPC_EDIT_TESTOPT_TEST |
test-only option |
Definition at line 94 of file messages_client.h.
enum NC_RPC_EDIT_ERROPT |
Enumeration of <edit-config> error option.
Definition at line 104 of file messages_client.h.
NC_RPC_TYPE nc_rpc_get_type | ( | const struct nc_rpc * | rpc | ) |
Get the type of the RPC.
[in] | rpc | RPC to check the type of. |
rpc
. struct nc_rpc* nc_rpc_act_generic | ( | const struct lyd_node * | data, |
NC_PARAMTYPE | paramtype | ||
) |
Create a generic NETCONF RPC or action.
Note that created object can be sent via any NETCONF session that shares the context of the data
.
data
.[in] | data | NETCONF RPC data as a data tree. |
[in] | paramtype | How to further manage data parameters. |
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.
For details, see nc_rpc.
xml_str
.[in] | xml_str | NETCONF RPC data as an XML string. |
[in] | paramtype | How to further manage data parameters. |
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>
For details, see nc_rpc.
[in] | source | Source datastore being queried. |
[in] | filter | Optional filter data, an XML subtree or XPath expression (with JSON prefixes). |
[in] | wd_mode | Optional with-defaults capability mode. |
[in] | paramtype | How to further manage data parameters. |
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>
For details, see nc_rpc.
[in] | target | Target datastore being edited. |
[in] | default_op | Optional default operation. |
[in] | test_opt | Optional test option. |
[in] | error_opt | Optional error option. |
[in] | edit_content | Config or URL where the config to perform is to be found. |
[in] | paramtype | How to further manage data parameters. |
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>
For details, see nc_rpc.
[in] | target | Target datastore. |
[in] | url_trg | Used instead target if the target is an URL. |
[in] | source | Source datastore. |
[in] | url_or_config_src | Used instead source if the source is an URL or a config. |
[in] | wd_mode | Optional with-defaults capability mode. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_delete | ( | NC_DATASTORE | target, |
const char * | url, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <delete-config>
For details, see nc_rpc.
[in] | target | Target datastore to delete. |
[in] | url | Used instead target if the target is an URL. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_lock | ( | NC_DATASTORE | target | ) |
Create NETCONF RPC <lock>
For details, see nc_rpc.
[in] | target | Target datastore of the operation. |
struct nc_rpc* nc_rpc_unlock | ( | NC_DATASTORE | target | ) |
Create NETCONF RPC <unlock>
For details, see nc_rpc.
[in] | target | Target datastore of the operation. |
struct nc_rpc* nc_rpc_get | ( | const char * | filter, |
NC_WD_MODE | wd_mode, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <get>
For details, see nc_rpc.
[in] | filter | Optional filter data, an XML subtree or XPath expression (with JSON prefixes). |
[in] | wd_mode | Optional with-defaults capability mode. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_kill | ( | uint32_t | session_id | ) |
Create NETCONF RPC <kill-session>
For details, see nc_rpc.
[in] | session_id | Session ID of the session to kill. |
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>
For details, see nc_rpc.
[in] | confirmed | Whether the commit is to be confirmed. |
[in] | confirm_timeout | Optional confirm timeout. |
[in] | persist | Optional identification string of a new persistent confirmed commit. |
[in] | persist_id | Optional identification string of a persistent confirmed commit to be commited. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_discard | ( | void | ) |
Create NETCONF RPC <discard-changes>
For details, see nc_rpc.
struct nc_rpc* nc_rpc_cancel | ( | const char * | persist_id, |
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <cancel-commit>
For details, see nc_rpc.
[in] | persist_id | Optional identification string of a persistent confirmed commit. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_validate | ( | NC_DATASTORE | source, |
const char * | url_or_config, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <validate>
For details, see nc_rpc.
[in] | source | Source datastore being validated. |
[in] | url_or_config | Used instead source if the source is an URL or a config. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_getschema | ( | const char * | identifier, |
const char * | version, | ||
const char * | format, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <get-schema>
For details, see nc_rpc.
[in] | identifier | Requested model identifier. |
[in] | version | Optional model version, either YANG version (1.0/1.1) or revision date. |
[in] | format | Optional format of the model (default is YANG). |
[in] | paramtype | How to further manage data parameters. |
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>
For details, see nc_rpc.
[in] | stream_name | Optional name of a NETCONF stream to subscribe to. |
[in] | filter | Optional filter data, an XML subtree or XPath expression (with JSON prefixes). |
[in] | start_time | Optional YANG datetime identifying the start of the subscription. |
[in] | stop_time | Optional YANG datetime identifying the end of the subscription. |
[in] | paramtype | How to further manage data parameters. |
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>
For details, see nc_rpc.
[in] | datastore | Source datastore, foreign identity so a module name prefix is required. |
[in] | filter | Optional filter data, an XML subtree or XPath expression (with JSON prefixes). |
[in] | config_filter | Optional config filter, "true" for config-only data, "false" for state-only data. |
[in] | origin_filter | Optional origin filter array, selects only nodes of this or derived origin. |
[in] | origin_filter_count | Count of filters is origin_filter . |
[in] | neg_origin_filter | Whether origin filters are negated or not. |
[in] | max_depth | Maximum depth of returned subtrees, 0 for unlimited. |
[in] | with_origin | Whether return data origin. |
[in] | wd_mode | Optional with-defaults capability mode. |
[in] | paramtype | How to further manage data parameters. |
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>
For details, see nc_rpc.
[in] | datastore | Source datastore, foreign identity so a module name prefix is required. |
[in] | default_op | Optional default operation. |
[in] | edit_content | Config or URL where the config to perform is to be found. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_establishsub | ( | const char * | filter, |
const char * | stream_name, | ||
const char * | start_time, | ||
const char * | stop_time, | ||
const char * | encoding, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <establish-subscription>
For details, see nc_rpc.
[in] | filter | Optional filter data, an XML subtree, XPath expression (with JSON prefixes), or filter reference, selected based on the first character. |
[in] | stream_name | Name of a NETCONF stream to subscribe to. |
[in] | start_time | Optional YANG datetime identifying the start of the subscription. |
[in] | stop_time | Optional YANG datetime identifying the end of the subscription. |
[in] | encoding | Optional specific encoding to use. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_modifysub | ( | uint32_t | id, |
const char * | filter, | ||
const char * | stop_time, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <modify-subscription>
For details, see nc_rpc.
[in] | id | Subscription ID to modify. |
[in] | filter | Optional new filter data, an XML subtree, XPath expression (with JSON prefixes), or filter reference, selected based on the first character. |
[in] | stop_time | Optional new YANG datetime identifying the end of the subscription. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_deletesub | ( | uint32_t | id | ) |
Create NETCONF RPC <delete-subscription>
For details, see nc_rpc.
[in] | id | Subscription ID to delete. |
struct nc_rpc* nc_rpc_killsub | ( | uint32_t | id | ) |
Create NETCONF RPC <kill-subscription>
For details, see nc_rpc.
[in] | id | Subscription ID to kill. |
struct nc_rpc* nc_rpc_establishpush_periodic | ( | const char * | datastore, |
const char * | filter, | ||
const char * | stop_time, | ||
const char * | encoding, | ||
uint32_t | period, | ||
const char * | anchor_time, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <establish-subscription> with augments from ietf-yang-push for a periodic subscription.
For details, see nc_rpc.
[in] | datastore | Source datastore, foreign identity so a module name prefix is required. |
[in] | filter | Optional filter data, an XML subtree, XPath expression (with JSON prefixes), or filter reference, selected based on the first character. |
[in] | stop_time | Optional YANG datetime identifying the end of the subscription. |
[in] | encoding | Optional specific encoding to use. |
[in] | period | Subscription period in centiseconds (0.01s). |
[in] | anchor_time | Optional anchor datetime for the period. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_establishpush_onchange | ( | const char * | datastore, |
const char * | filter, | ||
const char * | stop_time, | ||
const char * | encoding, | ||
uint32_t | dampening_period, | ||
int | sync_on_start, | ||
const char ** | excluded_change, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <establish-subscription> with augments from ietf-yang-push for an on-change subscription.
For details, see nc_rpc.
[in] | datastore | Source datastore, foreign identity so a module name prefix is required. |
[in] | filter | Optional filter data, an XML subtree, XPath expression (with JSON prefixes), or filter reference, selected based on the first character. |
[in] | stop_time | Optional YANG datetime identifying the end of the subscription. |
[in] | encoding | Optional specific encoding to use. |
[in] | dampening_period | Optional dampening period of the notifications. |
[in] | sync_on_start | Whether to send a full push-update notification on subscription start. |
[in] | excluded_change | Optional NULL-terminated array of excluded changes. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_modifypush_periodic | ( | uint32_t | id, |
const char * | datastore, | ||
const char * | filter, | ||
const char * | stop_time, | ||
uint32_t | period, | ||
const char * | anchor_time, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <modify-subscription> with augments from ietf-yang-push for a periodic subscription.
For details, see nc_rpc.
[in] | id | Subscription ID to modify. |
[in] | datastore | Source datastore, foreign identity so a module name prefix is required. |
[in] | filter | Optional filter data, an XML subtree, XPath expression (with JSON prefixes), or filter reference, selected based on the first character. |
[in] | stop_time | Optional YANG datetime identifying the end of the subscription. |
[in] | period | Subscription period in centiseconds (0.01s). |
[in] | anchor_time | Optional anchor datetime for the period. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_modifypush_onchange | ( | uint32_t | id, |
const char * | datastore, | ||
const char * | filter, | ||
const char * | stop_time, | ||
uint32_t | dampening_period, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <modify-subscription> with augments from ietf-yang-push for an on-change subscription.
For details, see nc_rpc.
[in] | id | Subscription ID to modify. |
[in] | datastore | Source datastore, foreign identity so a module name prefix is required. |
[in] | filter | Optional filter data, an XML subtree, XPath expression (with JSON prefixes), or filter reference, selected based on the first character. |
[in] | stop_time | Optional YANG datetime identifying the end of the subscription. |
[in] | dampening_period | Optional dampening period of the notifications. |
[in] | paramtype | How to further manage data parameters. |
struct nc_rpc* nc_rpc_resyncsub | ( | uint32_t | id | ) |
Create NETCONF RPC <resync-subscription>
For details, see nc_rpc.
[in] | id | Subscription ID to resync. |
void nc_rpc_free | ( | struct nc_rpc * | rpc | ) |
Free the NETCONF RPC object.
[in] | rpc | Object to free. |