15 #ifndef OPENSSL_HEADER_BYTESTRING_H 16 #define OPENSSL_HEADER_BYTESTRING_H 20 #if defined(__cplusplus) 129 #define CBS_ASN1_BOOLEAN 0x1 130 #define CBS_ASN1_INTEGER 0x2 131 #define CBS_ASN1_BITSTRING 0x3 132 #define CBS_ASN1_OCTETSTRING 0x4 133 #define CBS_ASN1_NULL 0x5 134 #define CBS_ASN1_OBJECT 0x6 135 #define CBS_ASN1_ENUMERATED 0xa 136 #define CBS_ASN1_UTF8STRING 0xc 137 #define CBS_ASN1_SEQUENCE (0x10 | CBS_ASN1_CONSTRUCTED) 138 #define CBS_ASN1_SET (0x11 | CBS_ASN1_CONSTRUCTED) 139 #define CBS_ASN1_NUMERICSTRING 0x12 140 #define CBS_ASN1_PRINTABLESTRING 0x13 141 #define CBS_ASN1_T16STRING 0x14 142 #define CBS_ASN1_VIDEOTEXSTRING 0x15 143 #define CBS_ASN1_IA5STRING 0x16 144 #define CBS_ASN1_UTCTIME 0x17 145 #define CBS_ASN1_GENERALIZEDTIME 0x18 146 #define CBS_ASN1_GRAPHICSTRING 0x19 147 #define CBS_ASN1_VISIBLESTRING 0x1a 148 #define CBS_ASN1_GENERALSTRING 0x1b 149 #define CBS_ASN1_UNIVERSALSTRING 0x1c 150 #define CBS_ASN1_BMPSTRING 0x1e 155 #define CBS_ASN1_CONSTRUCTED 0x20 164 #define CBS_ASN1_APPLICATION 0x40 165 #define CBS_ASN1_CONTEXT_SPECIFIC 0x80 166 #define CBS_ASN1_PRIVATE 0xc0 169 #define CBS_ASN1_CLASS_MASK 0xc0 172 #define CBS_ASN1_TAG_NUMBER_MASK 0x1f 209 size_t *out_header_len);
217 size_t *out_header_len);
427 #if defined(__cplusplus) 431 #if !defined(BORINGSSL_NO_CXX) 436 using ScopedCBB = internal::StackAllocated<CBB, void, CBB_zero, CBB_cleanup>;
OPENSSL_EXPORT int CBB_add_u16(CBB *cbb, uint16_t value)
Definition: cbb.c:405
OPENSSL_EXPORT int CBB_add_space(CBB *cbb, uint8_t **out_data, size_t len)
Definition: cbb.c:370
unsigned long long uint64_t
Definition: ptypes.h:120
OPENSSL_EXPORT int CBS_get_u16_length_prefixed(CBS *cbs, CBS *out)
Definition: cbs.c:169
OPENSSL_EXPORT int CBS_get_u24_length_prefixed(CBS *cbs, CBS *out)
Definition: cbs.c:173
uint8_t pending_len_len
Definition: bytestring.h:295
OPENSSL_EXPORT int CBS_skip(CBS *cbs, size_t len)
Definition: cbs.c:41
OPENSSL_EXPORT int CBS_get_optional_asn1_uint64(CBS *cbs, uint64_t *out, unsigned tag, uint64_t default_value)
Definition: cbs.c:407
struct cbb_buffer_st * base
Definition: bytestring.h:287
string out_data
Definition: gen_dxgi_support_tables.py:272
const uint8_t * data
Definition: bytestring.h:38
char error
Definition: bytestring.h:282
OPENSSL_EXPORT int CBB_add_u24(CBB *cbb, uint32_t value)
Definition: cbb.c:413
unsigned int uint32_t
Definition: ptypes.h:105
OPENSSL_EXPORT int CBB_did_write(CBB *cbb, size_t len)
Definition: cbb.c:386
size_t cap
Definition: bytestring.h:279
uint8_t uint8_t CBS * cbs
Definition: internal.h:759
OPENSSL_EXPORT int CBB_flush(CBB *cbb)
Definition: cbb.c:195
Definition: xmlparse.c:181
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: gl2ext.h:134
OPENSSL_EXPORT int CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
Definition: cbs.c:54
OPENSSL_EXPORT void CBB_cleanup(CBB *cbb)
Definition: cbb.c:74
OPENSSL_EXPORT int CBB_reserve(CBB *cbb, uint8_t **out_data, size_t len)
Definition: cbb.c:378
OPENSSL_EXPORT void CBB_discard_child(CBB *cbb)
Definition: cbb.c:429
OPENSSL_EXPORT int CBS_mem_equal(const CBS *cbs, const uint8_t *data, size_t len)
Definition: cbs.c:82
OPENSSL_EXPORT int CBS_get_asn1_uint64(CBS *cbs, uint64_t *out)
Definition: cbs.c:329
OPENSSL_EXPORT int CBS_get_asn1_element(CBS *cbs, CBS *out, unsigned tag_value)
Definition: cbs.c:318
OPENSSL_EXPORT int CBS_get_optional_asn1_bool(CBS *cbs, int *out, unsigned tag, int default_value)
Definition: cbs.c:425
OPENSSL_EXPORT int CBB_add_asn1(CBB *cbb, CBB *out_contents, unsigned tag)
Definition: cbb.c:329
OPENSSL_EXPORT size_t CBS_len(const CBS *cbs)
Definition: cbs.c:50
OPENSSL_EXPORT int CBB_add_asn1_uint64(CBB *cbb, uint64_t value)
Definition: cbb.c:440
Definition: bytestring.h:286
OPENSSL_EXPORT int CBS_get_u8(CBS *cbs, uint8_t *out)
Definition: cbs.c:104
OPENSSL_EXPORT int CBS_get_any_ber_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, size_t *out_header_len)
Definition: cbs.c:285
OPENSSL_EXPORT int CBB_add_bytes(CBB *cbb, const uint8_t *data, size_t len)
Definition: cbb.c:359
OPENSSL_EXPORT int CBB_add_u32(CBB *cbb, uint32_t value)
Definition: cbb.c:421
int int * out
Definition: gcc-loops.cpp:206
#define OPENSSL_EXPORT
Definition: base.h:160
EGLAttrib * value
Definition: eglext.h:120
OPENSSL_EXPORT const uint8_t * CBS_data(const CBS *cbs)
Definition: cbs.c:46
unsigned char uint8_t
Definition: ptypes.h:89
Definition: bytestring.h:37
Definition: bytestring.h:276
unsigned short uint16_t
Definition: ptypes.h:97
OPENSSL_EXPORT int CBS_get_u32(CBS *cbs, uint32_t *out)
Definition: cbs.c:126
OPENSSL_EXPORT int CBB_add_u16_length_prefixed(CBB *cbb, CBB *out_contents)
Definition: cbb.c:321
char can_resize
Definition: bytestring.h:280
OPENSSL_EXPORT int CBB_finish(CBB *cbb, uint8_t **out_data, size_t *out_len)
Definition: cbb.c:167
OPENSSL_EXPORT int CBS_get_bytes(CBS *cbs, CBS *out, size_t len)
Definition: cbs.c:139
OPENSSL_EXPORT int CBS_get_any_asn1(CBS *cbs, CBS *out, unsigned *out_tag)
Definition: cbs.c:265
OPENSSL_EXPORT int CBS_get_optional_asn1_octet_string(CBS *cbs, CBS *out, int *out_present, unsigned tag)
Definition: cbs.c:386
CBB * child
Definition: bytestring.h:289
OPENSSL_EXPORT int CBS_peek_asn1_tag(const CBS *cbs, unsigned tag_value)
Definition: cbs.c:322
OPENSSL_EXPORT int CBB_init_fixed(CBB *cbb, uint8_t *buf, size_t len)
Definition: cbb.c:63
OPENSSL_EXPORT int CBS_get_last_u8(CBS *cbs, uint8_t *out)
Definition: cbs.c:130
OPENSSL_EXPORT void CBS_init(CBS *cbs, const uint8_t *data, size_t len)
Definition: cbs.c:25
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
OPENSSL_EXPORT int CBS_get_any_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, size_t *out_header_len)
Definition: cbs.c:279
OPENSSL_EXPORT int CBS_get_u8_length_prefixed(CBS *cbs, CBS *out)
Definition: cbs.c:165
OPENSSL_EXPORT int CBB_add_u24_length_prefixed(CBB *cbb, CBB *out_contents)
Definition: cbb.c:325
OPENSSL_EXPORT int CBS_contains_zero_byte(const CBS *cbs)
Definition: cbs.c:78
OPENSSL_EXPORT int CBS_get_optional_asn1(CBS *cbs, CBS *out, int *out_present, unsigned tag)
Definition: cbs.c:369
Definition: bytestring_test.cc:31
OPENSSL_EXPORT int CBS_copy_bytes(CBS *cbs, uint8_t *out, size_t len)
Definition: cbs.c:148
OPENSSL_EXPORT int CBB_init(CBB *cbb, size_t initial_capacity)
Definition: cbb.c:47
size_t offset
Definition: bytestring.h:292
OPENSSL_EXPORT int CBB_add_u8_length_prefixed(CBB *cbb, CBB *out_contents)
Definition: cbb.c:317
size_t len
Definition: bytestring.h:39
OPENSSL_EXPORT const uint8_t * CBB_data(const CBB *cbb)
Definition: cbb.c:281
size_t len
Definition: bytestring.h:278
OPENSSL_EXPORT int CBS_get_asn1(CBS *cbs, CBS *out, unsigned tag_value)
Definition: cbs.c:314
OPENSSL_EXPORT int CBS_strdup(const CBS *cbs, char **out_ptr)
Definition: cbs.c:70
char is_top_level
Definition: bytestring.h:299
OPENSSL_EXPORT int CBB_add_u8(CBB *cbb, uint8_t value)
Definition: cbb.c:397
char pending_is_asn1
Definition: bytestring.h:296
OPENSSL_EXPORT void CBB_zero(CBB *cbb)
Definition: cbb.c:23
OPENSSL_EXPORT int CBS_get_u24(CBS *cbs, uint32_t *out)
Definition: cbs.c:122
OPENSSL_EXPORT int CBS_get_u16(CBS *cbs, uint16_t *out)
Definition: cbs.c:113
uint8_t * buf
Definition: bytestring.h:277
OPENSSL_EXPORT size_t CBB_len(const CBB *cbb)
Definition: cbb.c:286