|
BSL v1.0.0 - 4.g1b6a605
AMMOS Bundle Protocol Security Library (BSL)
|
Definitions for bundle and block decoding. More...
#include "decode.h"#include "agent.h"#include "crc.h"#include <BPSecLib_Public.h>#include <BPSecLib_Private.h>#include <qcbor/qcbor_spiffy_decode.h>
Include dependency graph for decode.c:Functions | |
| int | bsl_mock_decode_eid (const BSL_Data_t *encoded_bytes, BSL_HostEID_t *eid) |
| Decode a single EID. | |
| int | bsl_mock_decode_eid_from_ctx (QCBORDecodeContext *dec, BSL_HostEID_t *eid) |
| Decode a single EID from a QCBOR Decode Context. | |
| int | bsl_mock_decode_primary (QCBORDecodeContext *dec, MockBPA_PrimaryBlock_t *blk) |
| Encode primary block to a CBOR bytestring. | |
| int | bsl_mock_decode_canonical (QCBORDecodeContext *dec, MockBPA_CanonicalBlock_t *blk) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| int | bsl_mock_decode_bundle (QCBORDecodeContext *dec, MockBPA_Bundle_t *bundle) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Definitions for bundle and block decoding.
| int bsl_mock_decode_eid | ( | const BSL_Data_t * | encoded_bytes, |
| BSL_HostEID_t * | eid | ||
| ) |
Decode a single EID.
Matches the signature for the BSL_HostDescriptors_t::eid_from_cbor function.
| [in] | dec | The encoded bytes to be decoded. |
| [in,out] | eid | The EID value. The struct must already be initialized. |
References bsl_mock_eid_t::as_ipn, bsl_mock_eid_t::as_raw, bsl_eid_ipn_ssp_t::auth_num, BSL_Data_CopyFrom(), BSL_Data_Init(), bsl_mock_eid_deinit(), bsl_mock_eid_init(), BSL_MOCK_EID_IPN, BSL_HostEID_t::handle, BSL_Data_t::len, bsl_eid_ipn_ssp_t::ncomp, bsl_eid_ipn_ssp_t::node_num, BSL_Data_t::ptr, bsl_mock_eid_t::scheme, bsl_mock_eid_t::ssp, and bsl_eid_ipn_ssp_t::svc_num.
Referenced by bsl_mock_decode_eid_from_ctx(), and MockBPA_Agent_Descriptors().
| int bsl_mock_decode_eid_from_ctx | ( | QCBORDecodeContext * | dec, |
| BSL_HostEID_t * | eid | ||
| ) |
Decode a single EID from a QCBOR Decode Context.
| [in] | dec | QCBOR Decode Context. |
| [in,out] | eid | The EID Value. |
References BSL_Data_Deinit(), BSL_Data_InitView(), bsl_mock_decode_eid(), and BSL_Data_t::len.
Referenced by bsl_mock_decode_primary().
| int bsl_mock_decode_primary | ( | QCBORDecodeContext * | dec, |
| MockBPA_PrimaryBlock_t * | blk | ||
| ) |
Encode primary block to a CBOR bytestring.
| [in] | dec | The decoder. |
| [in,out] | blk | The primary block structure to decode into. The struct must already be initialized. |
References BSL_BUNDLE_IS_FRAGMENT, BSL_BUNDLECRCTYPE_16, BSL_BUNDLECRCTYPE_32, BSL_Data_InitBuffer(), bsl_mock_decode_eid_from_ctx(), CHKERR1, MockBPA_PrimaryBlock_t::encoded, BSL_Data_t::len, mock_bpa_crc_check(), MockBPA_EID_Init(), and BSL_Data_t::ptr.
Referenced by bsl_mock_decode_bundle().