• Home
  • Raw
  • Download

Lines Matching refs:cbs

25 void CBS_init(CBS *cbs, const uint8_t *data, size_t len) {  in CBS_init()  argument
26 cbs->data = data; in CBS_init()
27 cbs->len = len; in CBS_init()
30 static int cbs_get(CBS *cbs, const uint8_t **p, size_t n) { in cbs_get() argument
31 if (cbs->len < n) { in cbs_get()
35 *p = cbs->data; in cbs_get()
36 cbs->data += n; in cbs_get()
37 cbs->len -= n; in cbs_get()
41 int CBS_skip(CBS *cbs, size_t len) { in CBS_skip() argument
43 return cbs_get(cbs, &dummy, len); in CBS_skip()
46 const uint8_t *CBS_data(const CBS *cbs) { in CBS_data() argument
47 return cbs->data; in CBS_data()
50 size_t CBS_len(const CBS *cbs) { in CBS_len() argument
51 return cbs->len; in CBS_len()
54 int CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len) { in CBS_stow() argument
59 if (cbs->len == 0) { in CBS_stow()
62 *out_ptr = BUF_memdup(cbs->data, cbs->len); in CBS_stow()
66 *out_len = cbs->len; in CBS_stow()
70 int CBS_strdup(const CBS *cbs, char **out_ptr) { in CBS_strdup() argument
74 *out_ptr = BUF_strndup((const char*)cbs->data, cbs->len); in CBS_strdup()
78 int CBS_contains_zero_byte(const CBS *cbs) { in CBS_contains_zero_byte() argument
79 return memchr(cbs->data, 0, cbs->len) != NULL; in CBS_contains_zero_byte()
82 int CBS_mem_equal(const CBS *cbs, const uint8_t *data, size_t len) { in CBS_mem_equal() argument
83 if (len != cbs->len) { in CBS_mem_equal()
86 return CRYPTO_memcmp(cbs->data, data, len) == 0; in CBS_mem_equal()
89 static int cbs_get_u(CBS *cbs, uint32_t *out, size_t len) { in cbs_get_u() argument
94 if (!cbs_get(cbs, &data, len)) { in cbs_get_u()
105 int CBS_get_u8(CBS *cbs, uint8_t *out) { in CBS_get_u8() argument
107 if (!cbs_get(cbs, &v, 1)) { in CBS_get_u8()
114 int CBS_get_u16(CBS *cbs, uint16_t *out) { in CBS_get_u16() argument
116 if (!cbs_get_u(cbs, &v, 2)) { in CBS_get_u16()
123 int CBS_get_u24(CBS *cbs, uint32_t *out) { in CBS_get_u24() argument
124 return cbs_get_u(cbs, out, 3); in CBS_get_u24()
127 int CBS_get_u32(CBS *cbs, uint32_t *out) { in CBS_get_u32() argument
128 return cbs_get_u(cbs, out, 4); in CBS_get_u32()
131 int CBS_get_bytes(CBS *cbs, CBS *out, size_t len) { in CBS_get_bytes() argument
133 if (!cbs_get(cbs, &v, len)) { in CBS_get_bytes()
140 int CBS_copy_bytes(CBS *cbs, uint8_t *out, size_t len) { in CBS_copy_bytes() argument
142 if (!cbs_get(cbs, &v, len)) { in CBS_copy_bytes()
149 static int cbs_get_length_prefixed(CBS *cbs, CBS *out, size_t len_len) { in cbs_get_length_prefixed() argument
151 if (!cbs_get_u(cbs, &len, len_len)) { in cbs_get_length_prefixed()
154 return CBS_get_bytes(cbs, out, len); in cbs_get_length_prefixed()
157 int CBS_get_u8_length_prefixed(CBS *cbs, CBS *out) { in CBS_get_u8_length_prefixed() argument
158 return cbs_get_length_prefixed(cbs, out, 1); in CBS_get_u8_length_prefixed()
161 int CBS_get_u16_length_prefixed(CBS *cbs, CBS *out) { in CBS_get_u16_length_prefixed() argument
162 return cbs_get_length_prefixed(cbs, out, 2); in CBS_get_u16_length_prefixed()
165 int CBS_get_u24_length_prefixed(CBS *cbs, CBS *out) { in CBS_get_u24_length_prefixed() argument
166 return cbs_get_length_prefixed(cbs, out, 3); in CBS_get_u24_length_prefixed()
169 static int cbs_get_any_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, in cbs_get_any_asn1_element() argument
172 CBS header = *cbs; in cbs_get_any_asn1_element()
210 return CBS_get_bytes(cbs, out, 2); in cbs_get_any_asn1_element()
238 return CBS_get_bytes(cbs, out, len); in cbs_get_any_asn1_element()
241 int CBS_get_any_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, in CBS_get_any_asn1_element() argument
243 return cbs_get_any_asn1_element(cbs, out, out_tag, out_header_len, in CBS_get_any_asn1_element()
247 int CBS_get_any_ber_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, in CBS_get_any_ber_asn1_element() argument
249 return cbs_get_any_asn1_element(cbs, out, out_tag, out_header_len, in CBS_get_any_ber_asn1_element()
253 static int cbs_get_asn1(CBS *cbs, CBS *out, unsigned tag_value, in cbs_get_asn1() argument
263 if (!CBS_get_any_asn1_element(cbs, out, &tag, &header_len) || in cbs_get_asn1()
276 int CBS_get_asn1(CBS *cbs, CBS *out, unsigned tag_value) { in CBS_get_asn1() argument
277 return cbs_get_asn1(cbs, out, tag_value, 1 /* skip header */); in CBS_get_asn1()
280 int CBS_get_asn1_element(CBS *cbs, CBS *out, unsigned tag_value) { in CBS_get_asn1_element() argument
281 return cbs_get_asn1(cbs, out, tag_value, 0 /* include header */); in CBS_get_asn1_element()
284 int CBS_peek_asn1_tag(const CBS *cbs, unsigned tag_value) { in CBS_peek_asn1_tag() argument
285 if (CBS_len(cbs) < 1) { in CBS_peek_asn1_tag()
288 return CBS_data(cbs)[0] == tag_value; in CBS_peek_asn1_tag()
291 int CBS_get_asn1_uint64(CBS *cbs, uint64_t *out) { in CBS_get_asn1_uint64() argument
296 if (!CBS_get_asn1(cbs, &bytes, CBS_ASN1_INTEGER)) { in CBS_get_asn1_uint64()
331 int CBS_get_optional_asn1(CBS *cbs, CBS *out, int *out_present, unsigned tag) { in CBS_get_optional_asn1() argument
334 if (CBS_peek_asn1_tag(cbs, tag)) { in CBS_get_optional_asn1()
335 if (!CBS_get_asn1(cbs, out, tag)) { in CBS_get_optional_asn1()
348 int CBS_get_optional_asn1_octet_string(CBS *cbs, CBS *out, int *out_present, in CBS_get_optional_asn1_octet_string() argument
352 if (!CBS_get_optional_asn1(cbs, &child, &present, tag)) { in CBS_get_optional_asn1_octet_string()
369 int CBS_get_optional_asn1_uint64(CBS *cbs, uint64_t *out, unsigned tag, in CBS_get_optional_asn1_uint64() argument
373 if (!CBS_get_optional_asn1(cbs, &child, &present, tag)) { in CBS_get_optional_asn1_uint64()
387 int CBS_get_optional_asn1_bool(CBS *cbs, int *out, unsigned tag, in CBS_get_optional_asn1_bool() argument
391 if (!CBS_get_optional_asn1(cbs, &child, &present, tag)) { in CBS_get_optional_asn1_bool()