|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
This file contains definitions for ARI text CODEC functions. More...
#include "base.h"#include "containers.h"#include "cace/config.h"#include <m-string.h>#include <stdint.h>#include <stdbool.h>
Include dependency graph for text.h:Data Structures | |
| struct | cace_ari_text_enc_opts_t |
| Parameters for ARI text encoding. More... | |
Macros | |
| #define | CACE_ARI_TEXT_ENC_OPTS_DEFAULT |
Enumerations | |
| enum | cace_ari_text_scheme_prefix_e { CACE_ARI_TEXT_SCHEME_NONE , CACE_ARI_TEXT_SCHEME_FIRST , CACE_ARI_TEXT_SCHEME_ALL } |
| Options for URI scheme presence. More... | |
| enum | cace_ari_text_aritype_e { CACE_ARI_TEXT_ARITYPE_ORIG , CACE_ARI_TEXT_ARITYPE_TEXT , CACE_ARI_TEXT_ARITYPE_INT } |
| Options for encoding ARITYPE values. More... | |
| enum | cace_ari_int_base_e { CACE_ARI_TEXT_INT_BASE2 = 2 , CACE_ARI_TEXT_INT_BASE10 = 10 , CACE_ARI_TEXT_INT_BASE16 = 16 } |
| Options for encoding integer bases. More... | |
| enum | cace_ari_bstr_form_e { CACE_ARI_TEXT_BSTR_RAW , CACE_ARI_TEXT_BSTR_BASE16 , CACE_ARI_TEXT_BSTR_BASE64URL } |
| Options for encoding byte strings. More... | |
Functions | |
| int | cace_ari_text_encode_objpath (m_string_t text, const cace_ari_objpath_t *path, enum cace_ari_text_aritype_e show) |
| Encode just an object path, which can be useful for debugging output. | |
| int | cace_ari_text_encode (m_string_t text, const cace_ari_t *ari, cace_ari_text_enc_opts_t opts) |
| Encode an ARI to text form. | |
| int | cace_ari_text_decode (cace_ari_t *ari, const m_string_t text, char **errm) |
| Decode an ARI from text form. | |
| int | cace_ari_text_decode_cstr (cace_ari_t *ari, const char *text_ptr, size_t text_len, char **errm) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Decode from a bare C string. | |
This file contains definitions for ARI text CODEC functions.
| #define CACE_ARI_TEXT_ENC_OPTS_DEFAULT |
| enum cace_ari_bstr_form_e |
Options for encoding byte strings.
| Enumerator | |
|---|---|
| CACE_ARI_TEXT_BSTR_RAW | Attempt to output as text. |
| CACE_ARI_TEXT_BSTR_BASE16 | Base16 according to Section 8 of RFC 4648 [11]. |
| CACE_ARI_TEXT_BSTR_BASE64URL | |
| enum cace_ari_int_base_e |
| int cace_ari_text_decode | ( | cace_ari_t * | ari, |
| const m_string_t | text, | ||
| char ** | errm | ||
| ) |
Decode an ARI from text form.
| [out] | ari | The struct to decode into. |
| text | A null-terminated UTF-8 text string. | |
| [out] | errm | If non-null, this will be set to a specific error message associated with any failure. When the return code is non-zero, if the pointed-to pointer is non-null it must be freed using CACE_FREE(). |
Referenced by agentParseText(), LLVMFuzzerTestOneInput(), and read_text().
| int cace_ari_text_decode_cstr | ( | cace_ari_t * | ari, |
| const char * | text_ptr, | ||
| size_t | text_len, | ||
| char ** | errm | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Decode from a bare C string.
| [out] | ari | The struct to decode into. |
| [in] | text_ptr | A null-terminated UTF-8 text string. |
| text_len | The length of text, including including the null terminator. | |
| [out] | errm | If non-null, this will be set to a specific error message associated with any failure. When the return code is non-zero, if the pointed-to pointer is non-null it must be freed using CACE_FREE(). |
Referenced by cace_ari_macrofile_read().
| int cace_ari_text_encode | ( | m_string_t | text, |
| const cace_ari_t * | ari, | ||
| cace_ari_text_enc_opts_t | opts | ||
| ) |
Encode an ARI to text form.
| [out] | text | The data buffer to modify and write the result into. It will contain a null-terminated UTF-8 string if successful. |
| ari | The ARI to encode from. | |
| opts | Encoding parameters. |
References cace_ari_text_encode_stream(), CHKERR1, cace_ari_text_enc_state_t::depth, and cace_ari_text_enc_state_t::out.
Referenced by agentParseHex(), agentShowTextReports(), bp_send_worker(), cace_amm_actual_param_set_populate(), cace_amm_obj_ns_add_obj(), cace_amm_semtype_tblt_match(), cace_amm_semtype_union_convert(), cace_amm_type_set_name(), cace_amp_msg_decode(), cace_amp_msg_encode(), cace_amp_proxy_cli_recv(), cace_amp_proxy_cli_send(), cace_amp_proxy_msg_recv(), cace_amp_socket_send(), cace_ari_cbor_decode_am(), cace_ari_get_str(), check_decoding(), check_encode(), check_execute(), handle_recv(), LLVMFuzzerTestOneInput(), mock_ctrl_exec_none(), mock_ctrl_exec_one_int(), normalize_key(), refda_acl_search_endpoint(), refda_adm_ietf_dtnma_agent_ctrl_ensure_const(), refda_adm_ietf_dtnma_agent_ctrl_ensure_rule_enabled(), refda_adm_ietf_dtnma_agent_ctrl_ensure_var(), refda_adm_ietf_dtnma_agent_ctrl_inspect(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_const(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_rule(), refda_adm_ietf_dtnma_agent_ctrl_obsolete_var(), refda_adm_ietf_dtnma_agent_ctrl_reset_rule_enabled(), refda_adm_ietf_dtnma_agent_ctrl_var_reset(), refda_adm_ietf_dtnma_agent_ctrl_var_store(), refda_agent_get_object(), refda_amm_ident_base_get_str(), refda_amm_ident_base_populate(), refda_binding_ident_bases(), refda_binding_semtype_use(), refda_ctrl_exec_ctx_check_result(), refda_edd_prod_check_result(), refda_eval_oper(), refda_eval_target(), refda_exec_proc_ctrl_finish(), refda_exec_proc_ctrl_start(), refda_exec_proc_expand(), refda_oper_eval_ctx_populate(), refda_reporting_gen(), refda_reporting_rptt_val(), refda_reporting_target(), refda_valprod_const_run(), refda_valprod_edd_run(), refda_valprod_run(), refda_valprod_var_run(), refdm_db_insert_execset(), refdm_db_insert_rptset(), refdm_ingress_worker(), stdin_recv(), TEST_CASE(), test_exec_ctrl_exec_one_int(), test_refda_exec_target(), test_reporting_edd_one_int(), test_reporting_edd_one_int(), test_reporting_oper_add(), and write_text().
| int cace_ari_text_encode_objpath | ( | m_string_t | text, |
| const cace_ari_objpath_t * | path, | ||
| enum cace_ari_text_aritype_e | show | ||
| ) |
Encode just an object path, which can be useful for debugging output.
References cace_ari_objpath_t::ari_type, cace_ari_text_encode_aritype(), cace_ari_text_encode_idseg(), cace_date_encode(), CHKERR1, cace_ari_idseg_t::form, cace_ari_objpath_t::has_ari_type, cace_ari_objpath_t::model_id, cace_ari_objpath_t::model_rev, cace_ari_objpath_t::obj_id, cace_ari_objpath_t::org_id, cace_ari_date_t::parts, cace_ari_objpath_t::type_id, and cace_ari_date_t::valid.
Referenced by cace_ari_text_encode_objref(), refda_adm_ietf_dtnma_agent_ctrl_var_reset(), refda_adm_ietf_dtnma_agent_ctrl_var_store(), and refda_exec_proc_ctrl_finish().