BSL v1.0.0 - 3.g740079a
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>
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().