Implementing own functions for cvc manipulation.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos 2022-05-31 18:51:43 +02:00
parent 8d409023bf
commit fa4ecf658f
No known key found for this signature in database
GPG key ID: C0095B7870A4CCD3
2 changed files with 8 additions and 0 deletions

View file

@ -529,6 +529,13 @@ void led_off_all() {
#endif
}
size_t asn1_len_tag(uint16_t tag, size_t len) {
size_t ret = 1+format_tlv_len(len, NULL)+len;
if (tag > 0x00ff)
return ret+1;
return ret;
}
int format_tlv_len(size_t len, uint8_t *out) {
if (len < 128) {
if (out)

View file

@ -247,5 +247,6 @@ extern void led_set_blink(uint32_t mode);
extern int walk_tlv(const uint8_t *cdata, size_t cdata_len, uint8_t **p, uint16_t *tag, size_t *tag_len, uint8_t **data);
extern int format_tlv_len(size_t len, uint8_t *out);
extern bool asn1_find_tag(const uint8_t *data, size_t data_len, uint16_t itag, size_t *tag_len, uint8_t **tag_data);
extern size_t asn1_len_tag(uint16_t tag, size_t len);
#endif