libnetconf2
1.1.48
NETCONF library for clients and servers
|
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_reply |
NETCONF client rpc-reply object. More... | |
struct | nc_reply_data |
NETCONF client data rpc-reply object. More... | |
struct | nc_reply_error |
NETCONF client error rpc-reply object. More... | |
struct | nc_notif |
NETCONF client notification object. More... | |
Enumerations | |
enum | NC_RPC_TYPE { NC_RPC_UNKNOWN = 0, NC_RPC_ACT_GENERIC, NC_RPC_GETCONFIG, NC_RPC_EDIT, NC_RPC_COPY, NC_RPC_DELETE, NC_RPC_LOCK, NC_RPC_UNLOCK, NC_RPC_GET, NC_RPC_KILL, NC_RPC_COMMIT, NC_RPC_DISCARD, NC_RPC_CANCEL, NC_RPC_VALIDATE, NC_RPC_GETSCHEMA, NC_RPC_SUBSCRIBE, NC_RPC_GETDATA, NC_RPC_EDITDATA } |
Enumeration of RPC types. More... | |
enum | NC_RPC_EDIT_DFLTOP { NC_RPC_EDIT_DFLTOP_UNKNOWN = 0, NC_RPC_EDIT_DFLTOP_MERGE, NC_RPC_EDIT_DFLTOP_REPLACE, NC_RPC_EDIT_DFLTOP_NONE } |
Enumeration of <edit-config> default operation. More... | |
enum | NC_RPC_EDIT_TESTOPT { NC_RPC_EDIT_TESTOPT_UNKNOWN = 0, NC_RPC_EDIT_TESTOPT_TESTSET, NC_RPC_EDIT_TESTOPT_SET, NC_RPC_EDIT_TESTOPT_TEST } |
Enumeration of <edit-config> test option. More... | |
enum | NC_RPC_EDIT_ERROPT { NC_RPC_EDIT_ERROPT_UNKNOWN = 0, NC_RPC_EDIT_ERROPT_STOP, NC_RPC_EDIT_ERROPT_CONTINUE, NC_RPC_EDIT_ERROPT_ROLLBACK } |
Enumeration of <edit-config> error option. More... | |
Functions | |
NC_RPC_TYPE | nc_rpc_get_type (const struct nc_rpc *rpc) |
Get the type of the RPC. More... | |
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_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_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_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_lock (NC_DATASTORE target) |
Create NETCONF RPC <lock> More... | |
struct nc_rpc * | nc_rpc_unlock (NC_DATASTORE target) |
Create NETCONF RPC <unlock> More... | |
struct nc_rpc * | nc_rpc_get (const char *filter, NC_WD_MODE wd_mode, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <get> More... | |
struct nc_rpc * | nc_rpc_kill (uint32_t session_id) |
Create NETCONF RPC <kill-session> 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_discard (void) |
Create NETCONF RPC <discard-changes> 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_validate (NC_DATASTORE source, const char *url_or_config, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <validate> 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_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_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_editdata (const char *datastore, NC_RPC_EDIT_DFLTOP default_op, const char *edit_content, NC_PARAMTYPE paramtype) |
Create NETCONF RPC <get-data> More... | |
void | nc_rpc_free (struct nc_rpc *rpc) |
Free the NETCONF RPC object. More... | |
void | nc_reply_free (struct nc_reply *reply) |
Free the NETCONF RPC reply object. More... | |
void | nc_notif_free (struct nc_notif *notif) |
Free the NETCONF Notification object. 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 102 of file messages_client.h.
struct nc_reply |
NETCONF client rpc-reply object.
Definition at line 149 of file messages_client.h.
Data Fields | ||
---|---|---|
NC_RPL | type |
reply type |
struct nc_reply_data |
NETCONF client data rpc-reply object.
Definition at line 156 of file messages_client.h.
Data Fields | ||
---|---|---|
NC_RPL | type |
NC_RPL_DATA |
struct lyd_node * | data |
libyang RPC reply data tree (output of an RPC), <get> and <get-config> replies are special, in those cases there is the configuration itself, it should be validated as such (using LYD_OPT_GET or LYD_OPT_GETCONFIG), and it can be NULL in a valid reply. |
struct nc_reply_error |
NETCONF client error rpc-reply object.
Definition at line 168 of file messages_client.h.
Data Fields | ||
---|---|---|
NC_RPL | type |
NC_RPL_ERROR |
struct nc_err * | err |
errors, any of the values inside can be NULL |
uint32_t | count |
number of error structures |
struct nc_notif |
NETCONF client notification object.
Definition at line 177 of file messages_client.h.
Data Fields | ||
---|---|---|
NC_RPL | type |
NC_RPL_NOTIF |
const char * | datetime |
eventTime of the notification |
struct lyd_node * | tree |
libyang data tree of the message |
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 40 of file messages_client.h.
enum NC_RPC_EDIT_DFLTOP |
Enumeration of <edit-config> default operation.
Definition at line 72 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 82 of file messages_client.h.
enum NC_RPC_EDIT_ERROPT |
Enumeration of <edit-config> error option.
Definition at line 92 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
.
[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.
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the RPC.
[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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the RPC.
[in] | target | Target datastore of the operation. |
struct nc_rpc* nc_rpc_unlock | ( | NC_DATASTORE | target | ) |
Create NETCONF RPC <unlock>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the RPC.
struct nc_rpc* nc_rpc_cancel | ( | const char * | persist_id, |
NC_PARAMTYPE | paramtype | ||
) |
Create NETCONF RPC <cancel-commit>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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>
Note that functions to create any RPC object do not check validity of the provided parameters. It is checked 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. Created object can be sent via any NETCONF session which supports all the needed NETCONF capabilities for the 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. |
void nc_rpc_free | ( | struct nc_rpc * | rpc | ) |
Free the NETCONF RPC object.
[in] | rpc | Object to free. |
void nc_reply_free | ( | struct nc_reply * | reply | ) |
Free the NETCONF RPC reply object.
[in] | reply | Object to free. |
void nc_notif_free | ( | struct nc_notif * | notif | ) |
Free the NETCONF Notification object.
[in] | notif | Object to free. |