271#define RPC_ERR_APPTAG_UNIQUE_FAILED (const xmlChar *)"data-not-unique"
274#define RPC_ERR_APPTAG_MAX_ELEMS (const xmlChar *)"too-many-elements"
277#define RPC_ERR_APPTAG_MIN_ELEMS (const xmlChar *)"too-few-elements"
280#define RPC_ERR_APPTAG_MUST (const xmlChar *)"must-violation"
283#define RPC_ERR_APPTAG_INSTANCE_REQ (const xmlChar *)"instance-required"
286#define RPC_ERR_APPTAG_CHOICE (const xmlChar *)"missing-choice"
289#define RPC_ERR_APPTAG_INSERT (const xmlChar *)"missing-instance"
292#define RPC_ERR_APPTAG_RANGE (const xmlChar *)"not-in-range"
294#define RPC_ERR_APPTAG_VALUE_SET (const xmlChar *)"not-in-value-set"
296#define RPC_ERR_APPTAG_PATTERN (const xmlChar *)"pattern-test-failed"
298#define RPC_ERR_APPTAG_DATA_REST \
299 (const xmlChar *)"data-restriction-violation"
301#define RPC_ERR_APPTAG_DATA_NOT_UNIQUE \
302 (const xmlChar *)"data-not-unique"
306#define RPC_ERR_APPTAG_NO_MATCHES (const xmlChar *)"no-matches"
309#define RPC_ERR_APPTAG_NOT_NODESET (const xmlChar *)"not-a-node-set"
312#define RPC_ERR_APPTAG_LOCKED (const xmlChar *)"locked"
315#define RPC_ERR_APPTAG_COMMIT (const xmlChar *)\
316 "outstanding-confirmed-commit"
320#define RPC_ERR_APPTAG_GEN_WARNING (const xmlChar *)"general-warning"
321#define RPC_ERR_APPTAG_GEN_ERROR (const xmlChar *)"general-error"
322#define RPC_ERR_APPTAG_INT_ERROR (const xmlChar *)"internal-error"
323#define RPC_ERR_APPTAG_IO_ERROR (const xmlChar *)"io-error"
324#define RPC_ERR_APPTAG_MALLOC_ERROR (const xmlChar *)"malloc-error"
325#define RPC_ERR_APPTAG_LIMIT_REACHED (const xmlChar *)"limit-reached"
326#define RPC_ERR_APPTAG_LIBXML2_ERROR (const xmlChar *)"libxml2-error"
327#define RPC_ERR_APPTAG_SQL_ERROR (const xmlChar *)"sql-error"
328#define RPC_ERR_APPTAG_SSH_ERROR (const xmlChar *)"ssh-error"
329#define RPC_ERR_APPTAG_BEEP_ERROR (const xmlChar *)"beep-error"
330#define RPC_ERR_APPTAG_HTML_ERROR (const xmlChar *)"html-error"
331#define RPC_ERR_APPTAG_DATA_INCOMPLETE (const xmlChar *)"data-incomplete"
332#define RPC_ERR_APPTAG_DATA_INVALID (const xmlChar *)"data-invalid"
333#define RPC_ERR_APPTAG_DUPLICATE_ERROR (const xmlChar *)"duplicate-error"
334#define RPC_ERR_APPTAG_RESOURCE_IN_USE (const xmlChar *)"resource-in-use"
335#define RPC_ERR_APPTAG_NO_ACCESS (const xmlChar *)"no-access"
336#define RPC_ERR_APPTAG_RECOVER_FAILED (const xmlChar *)"recover-failed"
337#define RPC_ERR_APPTAG_NO_SUPPORT (const xmlChar *)"no-support"
342#define RPC_ERR_APPTAG_NOTIF_DSCP_UNAVAILABLE \
343 (const xmlChar *)"ietf-subscribed-notifications:dscp-unavailable"
345#define RPC_ERR_APPTAG_NOTIF_ENCODING_UNSUPPORTED \
346 (const xmlChar *)"ietf-subscribed-notifications:encoding-unsupported"
348#define RPC_ERR_APPTAG_NOTIF_FILTER_UNAVAILABLE \
349 (const xmlChar *)"ietf-subscribed-notifications:filter-unavailable"
351#define RPC_ERR_APPTAG_NOTIF_FILTER_UNSUPPORTED \
352 (const xmlChar *)"ietf-subscribed-notifications:filter-unsupported"
354#define RPC_ERR_APPTAG_NOTIF_INSUFFICIENT_RESOURCES \
355 (const xmlChar *)"ietf-subscribed-notifications:insufficient-resources"
357#define RPC_ERR_APPTAG_NOTIF_NO_SUCH_SUBSCRIPTION \
358 (const xmlChar *)"ietf-subscribed-notifications:no-such-subscription"
360#define RPC_ERR_APPTAG_NOTIF_REPLAY_UNSUPPORTED \
361 (const xmlChar *)"ietf-subscribed-notifications:replay-unsupported"
363#define RPC_ERR_APPTAG_NOTIF_STREAM_UNAVAILABLE \
364 (const xmlChar *)"ietf-subscribed-notifications:stream-unavailable"
368#define RPC_ERR_APPTAG_PUSH_CANT_EXCLUDE \
369 (const xmlChar *)"ietf-yang-push:cant-exclude"
371#define RPC_ERR_APPTAG_PUSH_DATASTORE_NOT_SUBSCRIBABLE \
372 (const xmlChar *)"ietf-yang-push:datastore-not-subscribable"
374#define RPC_ERR_APPTAG_PUSH_NO_SUCH_RESYNC \
375 (const xmlChar *)"ietf-yang-push:no-such-subscription-resync"
377#define RPC_ERR_APPTAG_PUSH_ON_CHANGE_UNSUPPORTED \
378 (const xmlChar *)"ietf-yang-push:on-change-unsupported"
380#define RPC_ERR_APPTAG_PUSH_ON_CHANGE_SYNC_UNSUPPORTED \
381 (const xmlChar *)"ietf-yang-push:on-change-sync-unsupported"
383#define RPC_ERR_APPTAG_PUSH_PERIOD_UNSUPPORTED \
384 (const xmlChar *)"ietf-yang-push:period-unsupported"
386#define RPC_ERR_APPTAG_PUSH_UPDATE_TOO_BIG \
387 (const xmlChar *)"ietf-yang-push:update-too-big"
389#define RPC_ERR_APPTAG_PUSH_SYNC_TOO_BIG \
390 (const xmlChar *)"ietf-yang-push:sync-too-big"
392#define RPC_ERR_APPTAG_PUSH_UNCHANGING_SELECTION \
393 (const xmlChar *)"ietf-yang-push:unchanging-selection"
396#define RPC_ERR_LAST_ERROR RPC_ERR_MALFORMED_MESSAGE
405typedef enum rpc_err_t_ {
435typedef enum rpc_err_sev_t_ {
447typedef struct rpc_err_info_ {
484typedef struct rpc_err_rec_t_ {
535extern const xmlChar *
629extern const xmlChar *
dlq provides general double-linked list and queue support:
log_debug_t
The debug level enumerations used in util/log.c.
Definition: log.h:348
status_t
global error return code
Definition: status_enum.h:210
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
ncx_btype_t
enumeration of the built-in NCX types These types cannot be overridden and cannot be imported
Definition: ncxtypes.h:213
ncx_layer_t
Enumeration of NETCONF protocol layers.
Definition: ncxtypes.h:507
const xmlChar * rpc_err_get_errtag(rpc_err_t errid)
Get the RPC error-tag for an rpc_err_t enumeration.
Definition: rpc_err.c:300
void rpc_err_clean_errQ(dlq_hdr_t *errQ)
Clean all the entries from a Q of rpc_err_rec_t.
Definition: rpc_err.c:629
rpc_err_rec_t * rpc_err_new_record(void)
Malloc and init an rpc_err_rec_t struct.
Definition: rpc_err.c:354
rpc_err_sev_t
enumerations for NETCONF standard error severities
Definition: rpc_err.h:435
rpc_err_t
enumerations for NETCONF standard errors
Definition: rpc_err.h:405
rpc_err_t rpc_err_get_errtag_enum(const xmlChar *errtag)
Get the RPC error-tag enum for an error-tag string.
Definition: rpc_err.c:323
void rpc_err_clean_record(rpc_err_rec_t *err)
Clean an rpc_err_rec_t struct.
Definition: rpc_err.c:436
const xmlChar * rpc_err_get_severity(rpc_err_sev_t sev)
Translate an rpc_err_sev_t to a string.
Definition: rpc_err.c:604
rpc_err_info_t * rpc_err_new_info(void)
Malloc and init an rpc_err_info_t struct.
Definition: rpc_err.c:476
void rpc_err_dump_errors(const rpc_msg_t *msg, log_debug_t lvl)
Dump the error messages in the RPC message error Q.
Definition: rpc_err.c:547
void rpc_err_free_record(rpc_err_rec_t *err)
Clean and free an rpc_err_rec_t struct.
Definition: rpc_err.c:408
void rpc_err_init_record(rpc_err_rec_t *err)
Init an rpc_err_rec_t struct.
Definition: rpc_err.c:384
void rpc_err_dump_errors_audit(const rpc_msg_t *msg)
Dump the error messages in the RPC message error Q to AUDIT LOG.
Definition: rpc_err.c:575
void rpc_err_free_info(rpc_err_info_t *errinfo)
Clean and free an rpc_err_info_t struct.
Definition: rpc_err.c:499
boolean rpc_err_any_errors(const rpc_msg_t *msg)
Check if there are any errors in the RPC message error Q.
Definition: rpc_err.c:658
@ RPC_ERR_SEV_ERROR
error (only used value)
Definition: rpc_err.h:438
@ RPC_ERR_SEV_NONE
not set
Definition: rpc_err.h:436
@ RPC_ERR_SEV_WARNING
warning
Definition: rpc_err.h:437
@ RPC_ERR_DATA_MISSING
data-missing
Definition: rpc_err.h:422
@ RPC_ERR_MALFORMED_MESSAGE
malformed-message
Definition: rpc_err.h:426
@ RPC_ERR_IN_USE
in-use
Definition: rpc_err.h:407
@ RPC_ERR_UNKNOWN_ELEMENT
unknown-element
Definition: rpc_err.h:415
@ RPC_ERR_LOCK_DENIED
lock-denied
Definition: rpc_err.h:418
@ RPC_ERR_RESOURCE_DENIED
resource-denied
Definition: rpc_err.h:419
@ RPC_ERR_OPERATION_FAILED
operation-failed
Definition: rpc_err.h:424
@ RPC_ERR_PARTIAL_OPERATION
partial-operation, deprecated; not used
Definition: rpc_err.h:425
@ RPC_ERR_BAD_ELEMENT
bad-element
Definition: rpc_err.h:414
@ RPC_ERR_BAD_ATTRIBUTE
bad-attribute
Definition: rpc_err.h:411
@ RPC_ERR_ROLLBACK_FAILED
rollback-failed
Definition: rpc_err.h:420
@ RPC_ERR_MISSING_ELEMENT
missing-element
Definition: rpc_err.h:413
@ RPC_ERR_DATA_EXISTS
data-exists
Definition: rpc_err.h:421
@ RPC_ERR_ACCESS_DENIED
access-denied
Definition: rpc_err.h:417
@ RPC_ERR_TOO_BIG
too-big
Definition: rpc_err.h:409
@ RPC_ERR_MISSING_ATTRIBUTE
missing-attribute
Definition: rpc_err.h:410
@ RPC_ERR_INVALID_VALUE
invalid-value
Definition: rpc_err.h:408
@ RPC_ERR_UNKNOWN_NAMESPACE
unknown-namespace
Definition: rpc_err.h:416
@ RPC_ERR_NONE
not set
Definition: rpc_err.h:406
@ RPC_ERR_UNKNOWN_ATTRIBUTE
unknown-attribute
Definition: rpc_err.h:412
@ RPC_ERR_OPERATION_NOT_SUPPORTED
operation-not-supported
Definition: rpc_err.h:423
YANG module data structures Many internal representations of YANG module constructs.
NETCONF protocol remote procedure call common definitions.
one error-info sub-element
Definition: rpc_err.h:447
xmlChar * dname
malloced name if needed
Definition: rpc_err.h:466
xmlChar * dval
internal saved value
Definition: rpc_err.h:472
xmlChar * badns
if val_nsid INVALID namespace
Definition: rpc_err.h:471
ncx_btype_t val_btype
value base type
Definition: rpc_err.h:468
void * cpxval
val_value_t
Definition: rpc_err.h:476
dlq_hdr_t qhdr
queue header
Definition: rpc_err.h:448
const xmlChar * strval
for string error content
Definition: rpc_err.h:474
ncx_num_t numval
for number error content
Definition: rpc_err.h:475
const xmlChar * name
error info name
Definition: rpc_err.h:463
boolean isqname
val_nsid + v.strval == QName
Definition: rpc_err.h:467
uint8 val_digits
num digits, used for decimal64 only
Definition: rpc_err.h:469
xmlns_id_t name_nsid
If user_val is NULL then the following fields must be set properly for special handling funcitons in ...
Definition: rpc_err.h:460
val_value_t * user_val
if the user_val pointer is set then it will be used instead of the individual fields; The user data i...
Definition: rpc_err.h:455
xmlns_id_t val_nsid
value namespace ID
Definition: rpc_err.h:470
One RPC error record built by the server before an <rpc-error> element is generated.
Definition: rpc_err.h:484
status_t error_res
error result status for error-number
Definition: rpc_err.h:489
const xmlChar * error_app_tag
error-app-tag used (may be NULL)
Definition: rpc_err.h:504
dlq_hdr_t error_qhdr
queue header
Definition: rpc_err.h:486
dlq_hdr_t error_info
Q of rpc_err_info_t.
Definition: rpc_err.h:518
const xmlChar * error_tag
error-tag used
Definition: rpc_err.h:501
xmlChar * error_message
error message usually from status.c but can be set by CLI and YANG extension errmsg
Definition: rpc_err.h:512
xmlChar * error_path
error-path can be NULL if unknown or not applicable
Definition: rpc_err.h:507
const xmlChar * error_message_lang
error message language usually EN-US but can be changed by CLI
Definition: rpc_err.h:517
rpc_err_t error_id
RPC error code.
Definition: rpc_err.h:495
ncx_layer_t error_type
error protocol layer
Definition: rpc_err.h:492
rpc_err_sev_t error_severity
severity (always error for now)
Definition: rpc_err.h:498
NETCONF Server and Client RPC Request/Reply Message Header.
Definition: rpc.h:181
one value to match one type
Definition: val.h:912
union of all the basic number types if float not supported, then it is stored as an int64
Definition: ncxtypes.h:784