Changed ASN1 calls for easier calls.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2024-03-13 17:16:35 +01:00
parent caddf87c23
commit f88e786c04
4 changed files with 82 additions and 35 deletions

View File

@@ -26,18 +26,25 @@
#include <stdbool.h>
#endif
extern int walk_tlv(const uint8_t *cdata,
uint16_t cdata_len,
typedef struct asn1_ctx {
uint8_t *data;
uint16_t len;
} asn1_ctx_t;
extern int asn1_ctx_init(uint8_t *, uint16_t, asn1_ctx_t *);
extern int asn1_ctx_clear(asn1_ctx_t *ctx);
extern uint16_t asn1_len(asn1_ctx_t *ctx);
extern uint32_t asn1_get_uint(asn1_ctx_t *ctx);
extern int walk_tlv(const asn1_ctx_t *ctxi,
uint8_t **p,
uint16_t *tag,
uint16_t *tag_len,
uint8_t **data);
extern uint8_t format_tlv_len(uint16_t len, uint8_t *out);
extern bool asn1_find_tag(const uint8_t *data,
uint16_t data_len,
extern bool asn1_find_tag(const asn1_ctx_t *ctxi,
uint16_t itag,
uint16_t *tag_len,
uint8_t **tag_data);
asn1_ctx_t *ctxo);
extern uint16_t asn1_len_tag(uint16_t tag, uint16_t len);
#endif