libnetconf2
1.1.48
NETCONF library for clients and servers
|
Functions to create NETCONF Event notifications and replies to the NETCONF RPCs (or actions). More...
Typedefs | |
typedef enum NC_ERROR | NC_ERR |
Enumeration of NETCONF errors. More... | |
typedef enum NC_ERROR_TYPE | NC_ERR_TYPE |
Enumeration of NETCONF error type (layer) More... | |
Enumerations | |
enum | NC_ERROR { NC_ERR_UNKNOWN = 0, NC_ERR_IN_USE, NC_ERR_INVALID_VALUE, NC_ERR_TOO_BIG, NC_ERR_MISSING_ATTR, NC_ERR_BAD_ATTR, NC_ERR_UNKNOWN_ATTR, NC_ERR_MISSING_ELEM, NC_ERR_BAD_ELEM, NC_ERR_UNKNOWN_ELEM, NC_ERR_UNKNOWN_NS, NC_ERR_ACCESS_DENIED, NC_ERR_LOCK_DENIED, NC_ERR_RES_DENIED, NC_ERR_ROLLBACK_FAILED, NC_ERR_DATA_EXISTS, NC_ERR_DATA_MISSING, NC_ERR_OP_NOT_SUPPORTED, NC_ERR_OP_FAILED, NC_ERR_MALFORMED_MSG } |
Enumeration of NETCONF errors. More... | |
enum | NC_ERROR_TYPE { NC_ERR_TYPE_UNKNOWN = 0, NC_ERR_TYPE_TRAN, NC_ERR_TYPE_RPC, NC_ERR_TYPE_PROT, NC_ERR_TYPE_APP } |
Enumeration of NETCONF error type (layer) More... | |
Functions | |
struct nc_server_reply * | nc_server_reply_ok (void) |
Create an OK rpc-reply object. More... | |
struct nc_server_reply * | nc_server_reply_data (struct lyd_node *data, NC_WD_MODE wd, NC_PARAMTYPE paramtype) |
Create a DATA rpc-reply object. More... | |
struct nc_server_reply * | nc_server_reply_err (struct nc_server_error *err) |
Create an ERROR rpc-reply object. More... | |
int | nc_server_reply_add_err (struct nc_server_reply *reply, struct nc_server_error *err) |
Add another error to an ERROR rpc-reply object. It will be freed with the returned object. More... | |
struct nc_server_error * | nc_server_reply_get_last_err (const struct nc_server_reply *reply) |
Get last error from an ERROR rpy-reply object. More... | |
struct nc_server_error * | nc_err (int tag,...) |
Create a server error structure. Its <error-message> is filled with a general description of the specific error. More... | |
struct nc_server_error * | nc_err_libyang (struct ly_ctx *ctx) |
Create a server error structure based on libyang error. More... | |
NC_ERR_TYPE | nc_err_get_type (const struct nc_server_error *err) |
Get the <error-type> of a server error. More... | |
NC_ERR | nc_err_get_tag (const struct nc_server_error *err) |
Get the <error-tag> of a server error. More... | |
int | nc_err_set_app_tag (struct nc_server_error *err, const char *error_app_tag) |
Set the <error-app-tag> element of an error. Any previous value will be overwritten. More... | |
const char * | nc_err_get_app_tag (const struct nc_server_error *err) |
Get the <error-app-tag> of a server error. More... | |
int | nc_err_set_path (struct nc_server_error *err, const char *error_path) |
Set the <error-path> element of an error. Any previous value will be overwritten. More... | |
const char * | nc_err_get_path (const struct nc_server_error *err) |
Get the <error-path> of a server error. More... | |
int | nc_err_set_msg (struct nc_server_error *err, const char *error_message, const char *lang) |
Set the <error-message> element of an error. Any previous value will be overwritten. More... | |
const char * | nc_err_get_msg (const struct nc_server_error *err) |
Get the <error-message> of a server error. More... | |
int | nc_err_set_sid (struct nc_server_error *err, uint32_t session_id) |
Set the <session-id> element of an error. Any previous value will be overwritten. More... | |
int | nc_err_add_bad_attr (struct nc_server_error *err, const char *attr_name) |
Add a <bad-attribute> element to an error. More... | |
int | nc_err_add_bad_elem (struct nc_server_error *err, const char *elem_name) |
Add a <bad-element> element to an error. More... | |
int | nc_err_add_bad_ns (struct nc_server_error *err, const char *ns_name) |
Add a <bad-namespace> element to an error. More... | |
int | nc_err_add_info_other (struct nc_server_error *err, struct lyxml_elem *other) |
Add an additional custom element to an error. More... | |
void | nc_server_reply_free (struct nc_server_reply *reply) |
Free a server rpc-reply object. More... | |
void | nc_err_free (struct nc_server_error *err) |
Free a server error structure. More... | |
struct nc_server_notif * | nc_server_notif_new (struct lyd_node *event, char *eventtime, NC_PARAMTYPE paramtype) |
Create Event Notification object to be sent to the subscribed client(s). More... | |
NC_MSG_TYPE | nc_server_notif_send (struct nc_session *session, struct nc_server_notif *notif, int timeout) |
Send NETCONF Event Notification via the session. More... | |
void | nc_server_notif_free (struct nc_server_notif *notif) |
Free a server Event Notification object. More... | |
const char * | nc_server_notif_get_time (const struct nc_server_notif *notif) |
Get the notification timestamp. More... | |
Functions to create NETCONF Event notifications and replies to the NETCONF RPCs (or actions).
typedef enum NC_ERROR_TYPE NC_ERR_TYPE |
Enumeration of NETCONF error type (layer)
enum NC_ERROR |
Enumeration of NETCONF errors.
Definition at line 39 of file messages_server.h.
enum NC_ERROR_TYPE |
Enumeration of NETCONF error type (layer)
Enumerator | |
---|---|
NC_ERR_TYPE_UNKNOWN |
unknown layer |
NC_ERR_TYPE_TRAN |
transport layer |
NC_ERR_TYPE_RPC |
RPC layer |
NC_ERR_TYPE_PROT |
protocol layer |
NC_ERR_TYPE_APP |
application layer |
Definition at line 65 of file messages_server.h.
struct nc_server_reply* nc_server_reply_ok | ( | void | ) |
Create an OK rpc-reply object.
struct nc_server_reply* nc_server_reply_data | ( | struct lyd_node * | data, |
NC_WD_MODE | wd, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create a DATA rpc-reply object.
[in] | data | Reply data tree. This tree must be valid according to the RPC output of the RPC this is a reply to. |
[in] | wd | with-default mode if applicable |
[in] | paramtype | Determines how the data parameter is treated. |
struct nc_server_reply* nc_server_reply_err | ( | struct nc_server_error * | err | ) |
Create an ERROR rpc-reply object.
[in] | err | Structure holding the error information. It will be freed with the returned object. |
int nc_server_reply_add_err | ( | struct nc_server_reply * | reply, |
struct nc_server_error * | err | ||
) |
Add another error to an ERROR rpc-reply object. It will be freed with the returned object.
[in] | reply | ERROR reply to add to. |
[in] | err | Structure holding the additional error information. |
struct nc_server_error* nc_server_reply_get_last_err | ( | const struct nc_server_reply * | reply | ) |
Get last error from an ERROR rpy-reply object.
[in] | reply | ERROR reply to read from. |
struct nc_server_error* nc_err | ( | int | tag, |
... | |||
) |
Create a server error structure. Its <error-message> is filled with a general description of the specific error.
[in] | tag | <error-tag> of the server error specified as NC_ERR value. According to the tag, the specific additional parameters are required:
|
struct nc_server_error* nc_err_libyang | ( | struct ly_ctx * | ctx | ) |
Create a server error structure based on libyang error.
The function should be used immediately when a libyang function fails to generate NETCONF error structure based on internal libyang error information (ly_errno, ly_errmsg, ...)
[in] | ctx | Libyang context to read the error from. |
NC_ERR_TYPE nc_err_get_type | ( | const struct nc_server_error * | err | ) |
Get the <error-type> of a server error.
[in] | err | Server error to read from. |
NC_ERR nc_err_get_tag | ( | const struct nc_server_error * | err | ) |
Get the <error-tag> of a server error.
[in] | err | Server error to read from. |
int nc_err_set_app_tag | ( | struct nc_server_error * | err, |
const char * | error_app_tag | ||
) |
Set the <error-app-tag> element of an error. Any previous value will be overwritten.
[in] | err | Error to modify. |
[in] | error_app_tag | New value of <error-app-tag>. |
const char* nc_err_get_app_tag | ( | const struct nc_server_error * | err | ) |
Get the <error-app-tag> of a server error.
[in] | err | Server error to read from. |
int nc_err_set_path | ( | struct nc_server_error * | err, |
const char * | error_path | ||
) |
Set the <error-path> element of an error. Any previous value will be overwritten.
[in] | err | Error to modify. |
[in] | error_path | New value of <error-path>. |
const char* nc_err_get_path | ( | const struct nc_server_error * | err | ) |
Get the <error-path> of a server error.
[in] | err | Server error to read from. |
int nc_err_set_msg | ( | struct nc_server_error * | err, |
const char * | error_message, | ||
const char * | lang | ||
) |
Set the <error-message> element of an error. Any previous value will be overwritten.
[in] | err | Error to modify. |
[in] | error_message | New value of <error-message>. |
[in] | lang | Optional language of error_message . |
const char* nc_err_get_msg | ( | const struct nc_server_error * | err | ) |
Get the <error-message> of a server error.
[in] | err | Server error to read from. |
int nc_err_set_sid | ( | struct nc_server_error * | err, |
uint32_t | session_id | ||
) |
Set the <session-id> element of an error. Any previous value will be overwritten.
[in] | err | Error to modify. |
[in] | session_id | New value of <session-id>. |
int nc_err_add_bad_attr | ( | struct nc_server_error * | err, |
const char * | attr_name | ||
) |
Add a <bad-attribute> element to an error.
[in] | err | Error to modify. |
[in] | attr_name | Value of the new <bad-attribute> element. |
int nc_err_add_bad_elem | ( | struct nc_server_error * | err, |
const char * | elem_name | ||
) |
Add a <bad-element> element to an error.
[in] | err | Error to modify. |
[in] | elem_name | Value of the new <bad-element> element. |
int nc_err_add_bad_ns | ( | struct nc_server_error * | err, |
const char * | ns_name | ||
) |
Add a <bad-namespace> element to an error.
[in] | err | Error to modify. |
[in] | ns_name | Value of the new <bad-namespace> element. |
int nc_err_add_info_other | ( | struct nc_server_error * | err, |
struct lyxml_elem * | other | ||
) |
Add an additional custom element to an error.
[in] | err | Error to modify. |
[in] | other | New custom XML element. |
void nc_server_reply_free | ( | struct nc_server_reply * | reply | ) |
Free a server rpc-reply object.
[in] | reply | Server rpc-reply object to free. |
void nc_err_free | ( | struct nc_server_error * | err | ) |
Free a server error structure.
[in] | err | Error structure to free. |
struct nc_server_notif* nc_server_notif_new | ( | struct lyd_node * | event, |
char * | eventtime, | ||
NC_PARAMTYPE | paramtype | ||
) |
Create Event Notification object to be sent to the subscribed client(s).
[in] | event | Notification data tree (valid as LYD_OPT_NOTIF) from libyang. The tree is directly used in created object, so the caller is supposed to not free the tree on its own, but only via freeng the created object. |
[in] | eventtime | YANG dateTime format value of the time when the event was generated by the event source. Caller can use nc_time2datetime() to create the value from the time_t value. |
[in] | paramtype | How to further manage data parameters. |
NC_MSG_TYPE nc_server_notif_send | ( | struct nc_session * | session, |
struct nc_server_notif * | notif, | ||
int | timeout | ||
) |
Send NETCONF Event Notification via the session.
[in] | session | NETCONF session where the Event Notification will be written. |
[in] | notif | NETCOFN Notification object to send via specified session. Object can be created by nc_notif_new() function. |
[in] | timeout | Timeout for writing in milliseconds. Use negative value for infinite waiting and 0 for return if data cannot be sent immediately. |
void nc_server_notif_free | ( | struct nc_server_notif * | notif | ) |
Free a server Event Notification object.
[in] | notif | Server Event Notification object to free. |
const char* nc_server_notif_get_time | ( | const struct nc_server_notif * | notif | ) |
Get the notification timestamp.
[in] | notif | Server notification to read from. |