yumapro  20.10-12
YumaPro SDK
rpc_err.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3  * Copyright (c) 2012 - 2021, YumaWorks, Inc., All Rights Reserved.
4  *
5  * Unless required by applicable law or agreed to in writing,
6  * software distributed under the License is distributed on an
7  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8  * KIND, either express or implied. See the License for the
9  * specific language governing permissions and limitations
10  * under the License.
11  */
12 #ifndef _H_rpc_err
13 #define _H_rpc_err
14 /* FILE: rpc_err.h
15 *********************************************************************
16 * *
17 * P U R P O S E *
18 * *
19 *********************************************************************/
20 
27 /*********************************************************************
28 * *
29 * C H A N G E H I S T O R Y *
30 * *
31 *********************************************************************
32 
33 date init comment
34 ----------------------------------------------------------------------
35 06-apr-05 abb Begun.
36 */
37 
38 #ifndef _H_dlq
39 #include "dlq.h"
40 #endif
41 
42 #ifndef _H_ncxtypes
43 #include "ncxtypes.h"
44 #endif
45 
46 #ifndef _H_rpc
47 #include "rpc.h"
48 #endif
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 /********************************************************************
55 * *
56 * C O N S T A N T S *
57 * *
58 *********************************************************************/
59 
259 #ifndef _H_dlq
260 #include "dlq.h"
261 #endif
262 
263 /********************************************************************
264 * *
265 * C O N S T A N T S *
266 * *
267 *********************************************************************/
268 
269 /*** YANG standard error-app-tag values ***/
270 /* 13.1 */
271 #define RPC_ERR_APPTAG_UNIQUE_FAILED (const xmlChar *)"data-not-unique"
272 
273 /* 13.2 */
274 #define RPC_ERR_APPTAG_MAX_ELEMS (const xmlChar *)"too-many-elements"
275 
276 /* 13.3 */
277 #define RPC_ERR_APPTAG_MIN_ELEMS (const xmlChar *)"too-few-elements"
278 
279 /* 13.4 */
280 #define RPC_ERR_APPTAG_MUST (const xmlChar *)"must-violation"
281 
282 /* 13.5 */
283 #define RPC_ERR_APPTAG_INSTANCE_REQ (const xmlChar *)"instance-required"
284 
285 /* 13.6 */
286 #define RPC_ERR_APPTAG_CHOICE (const xmlChar *)"missing-choice"
287 
288 /* 13.7 */
289 #define RPC_ERR_APPTAG_INSERT (const xmlChar *)"missing-instance"
290 
291 
292 #define RPC_ERR_APPTAG_RANGE (const xmlChar *)"not-in-range"
293 
294 #define RPC_ERR_APPTAG_VALUE_SET (const xmlChar *)"not-in-value-set"
295 
296 #define RPC_ERR_APPTAG_PATTERN (const xmlChar *)"pattern-test-failed"
297 
298 #define RPC_ERR_APPTAG_DATA_REST \
299  (const xmlChar *)"data-restriction-violation"
300 
301 #define RPC_ERR_APPTAG_DATA_NOT_UNIQUE \
302  (const xmlChar *)"data-not-unique"
303 
304 /* ietf-netconf-state:get-schema */
305 /* ietf-netconf-partial-lock:partial-lock */
306 #define RPC_ERR_APPTAG_NO_MATCHES (const xmlChar *)"no-matches"
307 
308 /* ietf-netconf-partial-lock:partial-lock */
309 #define RPC_ERR_APPTAG_NOT_NODESET (const xmlChar *)"not-a-node-set"
310 
311 /* ietf-netconf-partial-lock:partial-lock */
312 #define RPC_ERR_APPTAG_LOCKED (const xmlChar *)"locked"
313 
314 /* ietf-netconf-partial-lock:partial-lock */
315 #define RPC_ERR_APPTAG_COMMIT (const xmlChar *)\
316  "outstanding-confirmed-commit"
317 
318 
319 /*** netconfcentral errror-app-tag values ***/
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"
338 
339 
340 /*** ietf-subscribed-notifications ***/
341 
342 #define RPC_ERR_APPTAG_NOTIF_DSCP_UNAVAILABLE \
343  (const xmlChar *)"ietf-subscribed-notifications:dscp-unavailable"
344 
345 #define RPC_ERR_APPTAG_NOTIF_ENCODING_UNSUPPORTED \
346  (const xmlChar *)"ietf-subscribed-notifications:encoding-unsupported"
347 
348 #define RPC_ERR_APPTAG_NOTIF_FILTER_UNAVAILABLE \
349  (const xmlChar *)"ietf-subscribed-notifications:filter-unavailable"
350 
351 #define RPC_ERR_APPTAG_NOTIF_FILTER_UNSUPPORTED \
352  (const xmlChar *)"ietf-subscribed-notifications:filter-unsupported"
353 
354 #define RPC_ERR_APPTAG_NOTIF_INSUFFICIENT_RESOURCES \
355  (const xmlChar *)"ietf-subscribed-notifications:insufficient-resources"
356 
357 #define RPC_ERR_APPTAG_NOTIF_NO_SUCH_SUBSCRIPTION \
358  (const xmlChar *)"ietf-subscribed-notifications:no-such-subscription"
359 
360 #define RPC_ERR_APPTAG_NOTIF_REPLAY_UNSUPPORTED \
361  (const xmlChar *)"ietf-subscribed-notifications:replay-unsupported"
362 
363 #define RPC_ERR_APPTAG_NOTIF_STREAM_UNAVAILABLE \
364  (const xmlChar *)"ietf-subscribed-notifications:stream-unavailable"
365 
366 /*** ietf-yang-push errors ***/
367 
368 #define RPC_ERR_APPTAG_PUSH_CANT_EXCLUDE \
369  (const xmlChar *)"ietf-yang-push:cant-exclude"
370 
371 #define RPC_ERR_APPTAG_PUSH_DATASTORE_NOT_SUBSCRIBABLE \
372  (const xmlChar *)"ietf-yang-push:datastore-not-subscribable"
373 
374 #define RPC_ERR_APPTAG_PUSH_NO_SUCH_RESYNC \
375  (const xmlChar *)"ietf-yang-push:no-such-subscription-resync"
376 
377 #define RPC_ERR_APPTAG_PUSH_ON_CHANGE_UNSUPPORTED \
378  (const xmlChar *)"ietf-yang-push:on-change-unsupported"
379 
380 #define RPC_ERR_APPTAG_PUSH_ON_CHANGE_SYNC_UNSUPPORTED \
381  (const xmlChar *)"ietf-yang-push:on-change-sync-unsupported"
382 
383 #define RPC_ERR_APPTAG_PUSH_PERIOD_UNSUPPORTED \
384  (const xmlChar *)"ietf-yang-push:period-unsupported"
385 
386 #define RPC_ERR_APPTAG_PUSH_UPDATE_TOO_BIG \
387  (const xmlChar *)"ietf-yang-push:update-too-big"
388 
389 #define RPC_ERR_APPTAG_PUSH_SYNC_TOO_BIG \
390  (const xmlChar *)"ietf-yang-push:sync-too-big"
391 
392 #define RPC_ERR_APPTAG_PUSH_UNCHANGING_SELECTION \
393  (const xmlChar *)"ietf-yang-push:unchanging-selection"
394 
395 
396 #define RPC_ERR_LAST_ERROR RPC_ERR_MALFORMED_MESSAGE
397 
398 /********************************************************************
399 * *
400 * T Y P E S *
401 * *
402 *********************************************************************/
403 
405 typedef enum rpc_err_t_ {
406  RPC_ERR_NONE,
427 } rpc_err_t;
428 
429 
435 typedef enum rpc_err_sev_t_ {
439 } rpc_err_sev_t;
440 
441 
447 typedef struct rpc_err_info_ {
448  dlq_hdr_t qhdr;
455  val_value_t *user_val;
456 
461 
463  const xmlChar *name;
464 
466  xmlChar *dname;
467  boolean isqname;
468  ncx_btype_t val_btype;
469  uint8 val_digits;
471  xmlChar *badns;
472  xmlChar *dval;
473  union {
474  const xmlChar *strval;
475  ncx_num_t numval;
476  void *cpxval;
477  } v;
478 } rpc_err_info_t;
479 
480 
484 typedef struct rpc_err_rec_t_ {
486  dlq_hdr_t error_qhdr;
487 
489  status_t error_res;
490 
492  ncx_layer_t error_type;
493 
495  rpc_err_t error_id;
496 
498  rpc_err_sev_t error_severity;
499 
501  const xmlChar *error_tag;
502 
504  const xmlChar *error_app_tag;
505 
507  xmlChar *error_path;
508 
512  xmlChar *error_message;
513 
517  const xmlChar *error_message_lang;
518  dlq_hdr_t error_info;
519 } rpc_err_rec_t;
520 
521 
522 /********************************************************************
523 * *
524 * F U N C T I O N S *
525 * *
526 *********************************************************************/
527 
528 
535 extern const xmlChar *
536  rpc_err_get_errtag (rpc_err_t errid);
537 
538 
545 extern rpc_err_t
546  rpc_err_get_errtag_enum (const xmlChar *errtag);
547 
548 
554 extern rpc_err_rec_t *
555  rpc_err_new_record (void);
556 
557 
563 extern void
564  rpc_err_init_record (rpc_err_rec_t *err);
565 
566 
572 extern void
573  rpc_err_free_record (rpc_err_rec_t *err);
574 
575 
581 extern void
582  rpc_err_clean_record (rpc_err_rec_t *err);
583 
584 
590 extern rpc_err_info_t *
591  rpc_err_new_info (void);
592 
593 
599 extern void
600  rpc_err_free_info (rpc_err_info_t *errinfo);
601 
602 
609 extern void
610  rpc_err_dump_errors (const rpc_msg_t *msg, log_debug_t lvl);
611 
612 
619 extern const xmlChar *
620  rpc_err_get_severity (rpc_err_sev_t sev);
621 
622 
628 extern void
629  rpc_err_clean_errQ (dlq_hdr_t *errQ);
630 
631 
638 extern boolean
639  rpc_err_any_errors (const rpc_msg_t *msg);
640 
641 
645 #ifdef __cplusplus
646 } /* end extern 'C' */
647 #endif
648 
649 #endif /* _H_rpc_err */
RPC_ERR_TOO_BIG
@ RPC_ERR_TOO_BIG
too-big
Definition: rpc_err.h:413
rpc_err_rec_t_::error_app_tag
const xmlChar * error_app_tag
error-app-tag used (may be NULL)
Definition: rpc_err.h:504
NCX_BT_INT32
@ NCX_BT_INT32
int32
Definition: ncxtypes.h:209
rpc_err_info_::qhdr
dlq_hdr_t qhdr
queue header
Definition: rpc_err.h:448
NCX_BT_BINARY
@ NCX_BT_BINARY
binary (base64)
Definition: ncxtypes.h:218
rpc_err_info_::numval
ncx_num_t numval
for number error content
Definition: rpc_err.h:475
rpc_err_get_errtag_enum
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:257
rpc_err_new_record
rpc_err_rec_t * rpc_err_new_record(void)
Malloc and init an rpc_err_rec_t struct.
Definition: rpc_err.c:290
rpc_err_sev_t_
rpc_err_sev_t_
enumerations for NETCONF standard error severities
Definition: rpc_err.h:435
NCX_LAYER_NONE
@ NCX_LAYER_NONE
not set
Definition: ncxtypes.h:343
NCX_BT_BOOLEAN
@ NCX_BT_BOOLEAN
boolean
Definition: ncxtypes.h:206
ncx_get_layer
const xmlChar * ncx_get_layer(ncx_layer_t layer)
Translate ncx_layer_t enum to a string.
Definition: ncx.c:6806
NCX_BT_INSTANCE_ID
@ NCX_BT_INSTANCE_ID
instance-identifier
Definition: ncxtypes.h:219
rpc_err_info_::name_nsid
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
xml_util.h
XML Utilities.
rpc_err_info_::val_nsid
xmlns_id_t val_nsid
value namespace ID
Definition: rpc_err.h:470
rpc_err_new_info
rpc_err_info_t * rpc_err_new_info(void)
Malloc and init an rpc_err_info_t struct.
Definition: rpc_err.c:417
rpc_err_t_
rpc_err_t_
enumerations for NETCONF standard errors
Definition: rpc_err.h:405
rpc_err_dump_errors
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:488
ncx_num.h
NCX Module Library Number Utility Functions.
RPC_ERR_RESOURCE_DENIED
@ RPC_ERR_RESOURCE_DENIED
resource-denied
Definition: rpc_err.h:423
NCX_BT_ANYDATA
@ NCX_BT_ANYDATA
YANG 1.1 anydata.
Definition: ncxtypes.h:229
rpc_err_init_record
void rpc_err_init_record(rpc_err_rec_t *err)
Init an rpc_err_rec_t struct.
Definition: rpc_err.c:320
ncxconst.h
Contains NCX constants.
RPC_ERR_ACCESS_DENIED
@ RPC_ERR_ACCESS_DENIED
access-denied
Definition: rpc_err.h:421
rpc_err_info_::user_val
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
RPC_ERR_ROLLBACK_FAILED
@ RPC_ERR_ROLLBACK_FAILED
rollback-failed
Definition: rpc_err.h:424
NCX_BT_UINT8
@ NCX_BT_UINT8
uint8
Definition: ncxtypes.h:211
rpc_err_info_::dname
xmlChar * dname
malloced name if needed
Definition: rpc_err.h:466
xmlns_id_t
uint16 xmlns_id_t
integer handle for registered namespaces
Definition: xmlns.h:89
rpc_err_rec_t_::error_message
xmlChar * error_message
error message usually from status.c but can be set by CLI and YANG extension errmsg
Definition: rpc_err.h:512
rpc_err_any_errors
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:577
rpc_err_rec_t_::error_severity
rpc_err_sev_t error_severity
severity (always error for now)
Definition: rpc_err.h:498
NO_ERR
@ NO_ERR
000
Definition: status_enum.h:188
NCX_BT_LIST
@ NCX_BT_LIST
internal, YANG list
Definition: ncxtypes.h:228
rpc_err_clean_record
void rpc_err_clean_record(rpc_err_rec_t *err)
Clean an rpc_err_rec_t struct.
Definition: rpc_err.c:374
NCX_BT_UINT64
@ NCX_BT_UINT64
uint64
Definition: ncxtypes.h:214
RPC_ERR_SEV_NONE
@ RPC_ERR_SEV_NONE
not set
Definition: rpc_err.h:436
val_dump_value
void val_dump_value(val_value_t *val, int32 startindent, log_debug_t lvl)
Printf the specified val_value_t struct to the logfile, or stdout if none set Uses conf file format (...
Definition: val.c:5688
RPC_ERR_LOCK_DENIED
@ RPC_ERR_LOCK_DENIED
lock-denied
Definition: rpc_err.h:422
dlq_createSQue
void dlq_createSQue(dlq_hdrT *queAddr)
create a static queue header
Definition: dlq.c:177
ERR_INTERNAL_VAL
@ ERR_INTERNAL_VAL
004
Definition: status_enum.h:194
rpc_err_rec_t_::error_type
ncx_layer_t error_type
error protocol layer
Definition: rpc_err.h:492
NCX_BT_INT64
@ NCX_BT_INT64
int64
Definition: ncxtypes.h:210
rpc_err_free_info
void rpc_err_free_info(rpc_err_info_t *errinfo)
Clean and free an rpc_err_info_t struct.
Definition: rpc_err.c:440
rpc_err_get_severity
const xmlChar * rpc_err_get_severity(rpc_err_sev_t sev)
Translate an rpc_err_sev_t to a string.
Definition: rpc_err.c:520
NCX_BT_UINT16
@ NCX_BT_UINT16
uint16
Definition: ncxtypes.h:212
rpc.h
NETCONF protocol remote procedure call common definitions.
rpc_err_rec_t_::error_path
xmlChar * error_path
error-path can be NULL if unknown or not applicable
Definition: rpc_err.h:507
ERR_INTERNAL_PTR
@ ERR_INTERNAL_PTR
002
Definition: status_enum.h:192
NCX_BT_CONTAINER
@ NCX_BT_CONTAINER
internal container
Definition: ncxtypes.h:225
rpc_err_free_record
void rpc_err_free_record(rpc_err_rec_t *err)
Clean and free an rpc_err_rec_t struct.
Definition: rpc_err.c:346
tk_get_btype_sym
const char * tk_get_btype_sym(ncx_btype_t btyp)
Get the symbolic token symbol for one of the base types.
Definition: tk.c:3324
xmlns_get_ns_prefix
const xmlChar * xmlns_get_ns_prefix(xmlns_id_t ns_id)
Get the prefix for the specified namespace.
Definition: xmlns.c:669
rpc_err_info_
one error-info sub-element
Definition: rpc_err.h:447
rpc_err_rec_t_::error_id
rpc_err_t error_id
RPC error code.
Definition: rpc_err.h:495
RPC_ERR_UNKNOWN_ATTRIBUTE
@ RPC_ERR_UNKNOWN_ATTRIBUTE
unknown-attribute
Definition: rpc_err.h:416
RPC_ERR_MISSING_ATTRIBUTE
@ RPC_ERR_MISSING_ATTRIBUTE
missing-attribute
Definition: rpc_err.h:414
rpc_err_clean_errQ
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:545
dlq_nextEntry
#define dlq_nextEntry(nodeP)
get the next queue entry after the current entry
Definition: dlq.h:265
RPC_ERR_MISSING_ELEMENT
@ RPC_ERR_MISSING_ELEMENT
missing-element
Definition: rpc_err.h:417
RPC_ERR_PARTIAL_OPERATION
@ RPC_ERR_PARTIAL_OPERATION
partial-operation, deprecated; not used
Definition: rpc_err.h:429
RPC_ERR_UNKNOWN_NAMESPACE
@ RPC_ERR_UNKNOWN_NAMESPACE
unknown-namespace
Definition: rpc_err.h:420
ERR_NCX_OPERATION_NOT_SUPPORTED
@ ERR_NCX_OPERATION_NOT_SUPPORTED
273
Definition: status_enum.h:314
NCX_BT_ANY
@ NCX_BT_ANY
anyxml
Definition: ncxtypes.h:202
EMPTY_STRING
#define EMPTY_STRING
empty string used to get const xmlChar * cast
Definition: ncxconst.h:289
rpc_err_rec_t_::error_tag
const xmlChar * error_tag
error-tag used
Definition: rpc_err.h:501
xml_strcmp
int xml_strcmp(const xmlChar *s1, const xmlChar *s2)
String compare for xmlChar.
Definition: xml_util.c:1746
RPC_ERR_IN_USE
@ RPC_ERR_IN_USE
in-use
Definition: rpc_err.h:411
RPC_ERR_SEV_WARNING
@ RPC_ERR_SEV_WARNING
warning
Definition: rpc_err.h:437
RPC_ERR_MALFORMED_MESSAGE
@ RPC_ERR_MALFORMED_MESSAGE
malformed-message
Definition: rpc_err.h:430
log.h
NCX System Logging Manager.
RPC_ERR_BAD_ELEMENT
@ RPC_ERR_BAD_ELEMENT
bad-element
Definition: rpc_err.h:418
ncxtypes.h
YANG module data structures Many internal representations of YANG module constructs.
rpc_err.h
NETCONF protocol standard error definitions.
RPC_ERR_INVALID_VALUE
@ RPC_ERR_INVALID_VALUE
invalid-value
Definition: rpc_err.h:412
NCX_BT_FLOAT64
@ NCX_BT_FLOAT64
hidden: just for XPath
Definition: ncxtypes.h:216
NCX_BT_UINT32
@ NCX_BT_UINT32
uint32
Definition: ncxtypes.h:213
dlq_deque
void * dlq_deque(dlq_hdrT *listP)
remove the first queue node from the queue list
Definition: dlq.c:286
rpc_err_info_::val_btype
ncx_btype_t val_btype
value base type
Definition: rpc_err.h:468
RPC_ERR_OPERATION_NOT_SUPPORTED
@ RPC_ERR_OPERATION_NOT_SUPPORTED
operation-not-supported
Definition: rpc_err.h:427
rpc_err_info_::dval
xmlChar * dval
internal saved value
Definition: rpc_err.h:472
dlq_empty
#define dlq_empty(listP)
check if queue list is empty
Definition: dlq.h:367
rpc_err_rec_t_::error_res
status_t error_res
error result status for error-number
Definition: rpc_err.h:489
rpc_err_rec_t_::error_info
dlq_hdr_t error_info
Q of rpc_err_info_t.
Definition: rpc_err.h:518
rpc_err_info_::strval
const xmlChar * strval
for string error content
Definition: rpc_err.h:474
rpc_err_get_errtag
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:234
RPC_ERR_BAD_ATTRIBUTE
@ RPC_ERR_BAD_ATTRIBUTE
bad-attribute
Definition: rpc_err.h:415
RPC_ERR_SEV_ERROR
@ RPC_ERR_SEV_ERROR
error (only used value)
Definition: rpc_err.h:438
dlq_firstEntry
#define dlq_firstEntry(listP)
get the first entry in the queue list
Definition: dlq.h:337
ncx_printf_num
void ncx_printf_num(const ncx_num_t *num, ncx_btype_t btyp, log_debug_t level)
Printf a ncx_num_t contents using logging functions.
Definition: ncx_num.c:2214
ncx.h
YANG module utility functions.
RPC_ERR_OPERATION_FAILED
@ RPC_ERR_OPERATION_FAILED
operation-failed
Definition: rpc_err.h:428
rpc_err_rec_t_::error_qhdr
dlq_hdr_t error_qhdr
queue header
Definition: rpc_err.h:486
RPC_ERR_NONE
@ RPC_ERR_NONE
not set
Definition: rpc_err.h:410
rpc_err_rec_t_::error_message_lang
const xmlChar * error_message_lang
error message language usually EN-US but can be changed by CLI
Definition: rpc_err.h:517
rpc_err_info_::isqname
boolean isqname
val_nsid + v.strval == QName
Definition: rpc_err.h:467
SET_ERROR
#define SET_ERROR(E)
macro SET_ERROR
Definition: status_enum.h:103
RPC_ERR_DATA_MISSING
@ RPC_ERR_DATA_MISSING
data-missing
Definition: rpc_err.h:426
NCX_BT_DECIMAL64
@ NCX_BT_DECIMAL64
decimal64
Definition: ncxtypes.h:215
rpc_err_rec_t_
One RPC error record built by the server before an <rpc-error> element is generated.
Definition: rpc_err.h:484
NCX_BT_CHOICE
@ NCX_BT_CHOICE
internal choice, not really used
Definition: ncxtypes.h:226
NCX_BT_STRING
@ NCX_BT_STRING
string
Definition: ncxtypes.h:217
rpc_err_info_::val_digits
uint8 val_digits
num digits, used for decimal64 only
Definition: rpc_err.h:469
NCX_BT_INT8
@ NCX_BT_INT8
int8
Definition: ncxtypes.h:207
rpc_err_info_::cpxval
void * cpxval
val_value_t
Definition: rpc_err.h:476
xmlns.h
XML namespace support.
val_free_value
void val_free_value(val_value_t *val)
Scrub the memory in a val_value_t by freeing all the sub-fields and then freeing the entire struct it...
Definition: val.c:2842
status.h
Global error messages for status code enumerations.
rpc_err_info_::badns
xmlChar * badns
if val_nsid INVALID namespace
Definition: rpc_err.h:471
rpc_err_info_::name
const xmlChar * name
error info name
Definition: rpc_err.h:463
dlq.h
dlq provides general double-linked list and queue support:
RPC_ERR_DATA_EXISTS
@ RPC_ERR_DATA_EXISTS
data-exists
Definition: rpc_err.h:425
RPC_ERR_UNKNOWN_ELEMENT
@ RPC_ERR_UNKNOWN_ELEMENT
unknown-element
Definition: rpc_err.h:419
NCX_BT_INT16
@ NCX_BT_INT16
int16
Definition: ncxtypes.h:208
NCX_DEF_INDENT
#define NCX_DEF_INDENT
default indent amount for nesting XML or other structured output
Definition: ncxconst.h:441