Go to the documentation of this file.
15 #ifndef OPENSSL_HEADER_BYTESTRING_H
16 #define OPENSSL_HEADER_BYTESTRING_H
22 #if defined(__cplusplus)
43 #if !defined(BORINGSSL_NO_CXX)
45 cbs_st(bssl::Span<const uint8_t> span)
47 operator bssl::Span<const uint8_t>()
const {
185 #define CBS_ASN1_TAG_SHIFT 24
188 #define CBS_ASN1_CONSTRUCTED (0x20u << CBS_ASN1_TAG_SHIFT)
192 #define CBS_ASN1_UNIVERSAL (0u << CBS_ASN1_TAG_SHIFT)
193 #define CBS_ASN1_APPLICATION (0x40u << CBS_ASN1_TAG_SHIFT)
194 #define CBS_ASN1_CONTEXT_SPECIFIC (0x80u << CBS_ASN1_TAG_SHIFT)
195 #define CBS_ASN1_PRIVATE (0xc0u << CBS_ASN1_TAG_SHIFT)
199 #define CBS_ASN1_CLASS_MASK (0xc0u << CBS_ASN1_TAG_SHIFT)
202 #define CBS_ASN1_TAG_NUMBER_MASK ((1u << (5 + CBS_ASN1_TAG_SHIFT)) - 1)
206 #define CBS_ASN1_BOOLEAN 0x1u
207 #define CBS_ASN1_INTEGER 0x2u
208 #define CBS_ASN1_BITSTRING 0x3u
209 #define CBS_ASN1_OCTETSTRING 0x4u
210 #define CBS_ASN1_NULL 0x5u
211 #define CBS_ASN1_OBJECT 0x6u
212 #define CBS_ASN1_ENUMERATED 0xau
213 #define CBS_ASN1_UTF8STRING 0xcu
214 #define CBS_ASN1_SEQUENCE (0x10u | CBS_ASN1_CONSTRUCTED)
215 #define CBS_ASN1_SET (0x11u | CBS_ASN1_CONSTRUCTED)
216 #define CBS_ASN1_NUMERICSTRING 0x12u
217 #define CBS_ASN1_PRINTABLESTRING 0x13u
218 #define CBS_ASN1_T61STRING 0x14u
219 #define CBS_ASN1_VIDEOTEXSTRING 0x15u
220 #define CBS_ASN1_IA5STRING 0x16u
221 #define CBS_ASN1_UTCTIME 0x17u
222 #define CBS_ASN1_GENERALIZEDTIME 0x18u
223 #define CBS_ASN1_GRAPHICSTRING 0x19u
224 #define CBS_ASN1_VISIBLESTRING 0x1au
225 #define CBS_ASN1_GENERALSTRING 0x1bu
226 #define CBS_ASN1_UNIVERSALSTRING 0x1cu
227 #define CBS_ASN1_BMPSTRING 0x1eu
258 size_t *out_header_len);
269 size_t *out_header_len,
336 int *out_is_negative);
568 #if defined(__cplusplus)
572 #if !defined(BORINGSSL_NO_CXX)
577 using ScopedCBB = internal::StackAllocated<CBB, void, CBB_zero, CBB_cleanup>;
586 #endif // OPENSSL_HEADER_BYTESTRING_H
OPENSSL_EXPORT int CBB_add_u24_length_prefixed(CBB *cbb, CBB *out_contents)
OPENSSL_EXPORT int CBB_add_asn1_uint64(CBB *cbb, uint64_t value)
OPENSSL_EXPORT int CBB_did_write(CBB *cbb, size_t len)
OPENSSL_EXPORT int CBS_get_optional_asn1_bool(CBS *cbs, int *out, unsigned tag, int default_value)
OPENSSL_EXPORT int CBB_add_u32(CBB *cbb, uint32_t value)
OPENSSL_EXPORT int CBS_get_u32le(CBS *cbs, uint32_t *out)
OPENSSL_EXPORT int CBS_get_u32(CBS *cbs, uint32_t *out)
OPENSSL_EXPORT int CBB_add_bytes(CBB *cbb, const uint8_t *data, size_t len)
OPENSSL_EXPORT int CBB_add_u24(CBB *cbb, uint32_t value)
const OPENSSL_EXPORT uint8_t * CBB_data(const CBB *cbb)
OPENSSL_EXPORT int CBB_finish(CBB *cbb, uint8_t **out_data, size_t *out_len)
OPENSSL_EXPORT int CBS_skip(CBS *cbs, size_t len)
OPENSSL_EXPORT int CBS_get_optional_asn1_uint64(CBS *cbs, uint64_t *out, unsigned tag, uint64_t default_value)
OPENSSL_EXPORT int CBS_mem_equal(const CBS *cbs, const uint8_t *data, size_t len)
cbs_st(bssl::Span< const uint8_t > span)
OPENSSL_EXPORT int CBS_get_asn1_uint64(CBS *cbs, uint64_t *out)
OPENSSL_EXPORT int CBB_add_asn1_octet_string(CBB *cbb, const uint8_t *data, size_t data_len)
OPENSSL_EXPORT int CBB_add_asn1(CBB *cbb, CBB *out_contents, unsigned tag)
OPENSSL_EXPORT int CBS_is_valid_asn1_integer(const CBS *cbs, int *out_is_negative)
OPENSSL_EXPORT int CBB_add_asn1_bool(CBB *cbb, int value)
OPENSSL_EXPORT int CBS_get_u8(CBS *cbs, uint8_t *out)
OPENSSL_EXPORT int CBS_get_asn1_element(CBS *cbs, CBS *out, unsigned tag_value)
OPENSSL_EXPORT int CBS_get_last_u8(CBS *cbs, uint8_t *out)
OPENSSL_EXPORT void CBB_zero(CBB *cbb)
OPENSSL_EXPORT size_t CBB_len(const CBB *cbb)
OPENSSL_EXPORT int CBB_add_zeros(CBB *cbb, size_t len)
const OPENSSL_EXPORT uint8_t * CBS_data(const CBS *cbs)
OPENSSL_EXPORT int CBB_reserve(CBB *cbb, uint8_t **out_data, size_t len)
OPENSSL_EXPORT int CBS_stow(const CBS *cbs, uint8_t **out_ptr, size_t *out_len)
OPENSSL_EXPORT void CBS_init(CBS *cbs, const uint8_t *data, size_t len)
OPENSSL_EXPORT int CBB_add_space(CBB *cbb, uint8_t **out_data, size_t len)
OPENSSL_EXPORT int CBB_add_asn1_int64(CBB *cbb, int64_t value)
OPENSSL_EXPORT int CBS_get_any_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, size_t *out_header_len)
static void * tag(intptr_t t)
OPENSSL_EXPORT int CBS_copy_bytes(CBS *cbs, uint8_t *out, size_t len)
OPENSSL_EXPORT int CBB_add_u16(CBB *cbb, uint16_t value)
OPENSSL_EXPORT int CBS_get_u64(CBS *cbs, uint64_t *out)
OPENSSL_EXPORT int CBB_init_fixed(CBB *cbb, uint8_t *buf, size_t len)
unsigned __int64 uint64_t
#define BSSL_NAMESPACE_END
OPENSSL_EXPORT char * CBS_asn1_oid_to_text(const CBS *cbs)
OPENSSL_EXPORT int CBS_get_u16_length_prefixed(CBS *cbs, CBS *out)
OPENSSL_EXPORT int CBS_get_u64le(CBS *cbs, uint64_t *out)
OPENSSL_EXPORT int CBS_asn1_bitstring_has_bit(const CBS *cbs, unsigned bit)
OPENSSL_EXPORT int CBB_add_u16le(CBB *cbb, uint16_t value)
OPENSSL_EXPORT size_t CBS_len(const CBS *cbs)
OPENSSL_EXPORT void CBB_cleanup(CBB *cbb)
struct cbb_buffer_st * base
OPENSSL_EXPORT int CBS_get_u16le(CBS *cbs, uint16_t *out)
OPENSSL_EXPORT int CBS_get_asn1(CBS *cbs, CBS *out, unsigned tag_value)
OPENSSL_EXPORT int CBS_is_unsigned_asn1_integer(const CBS *cbs)
OPENSSL_EXPORT int CBS_strdup(const CBS *cbs, char **out_ptr)
OPENSSL_EXPORT int CBS_get_u24_length_prefixed(CBS *cbs, CBS *out)
OPENSSL_EXPORT void CBB_discard_child(CBB *cbb)
OPENSSL_EXPORT int CBB_add_u8(CBB *cbb, uint8_t value)
OPENSSL_EXPORT int CBS_get_asn1_bool(CBS *cbs, int *out)
OPENSSL_EXPORT int CBB_init(CBB *cbb, size_t initial_capacity)
OPENSSL_EXPORT int CBS_get_optional_asn1_octet_string(CBS *cbs, CBS *out, int *out_present, unsigned tag)
OPENSSL_EXPORT int CBS_peek_asn1_tag(const CBS *cbs, unsigned tag_value)
OPENSSL_EXPORT int CBB_add_u64(CBB *cbb, uint64_t value)
OPENSSL_EXPORT int CBB_add_u64le(CBB *cbb, uint64_t value)
OPENSSL_EXPORT int CBS_get_u8_length_prefixed(CBS *cbs, CBS *out)
cbs_st & operator=(const cbs_st &)=default
OPENSSL_EXPORT int CBS_is_valid_asn1_bitstring(const CBS *cbs)
OPENSSL_EXPORT int CBS_get_bytes(CBS *cbs, CBS *out, size_t len)
OPENSSL_EXPORT int CBS_get_any_ber_asn1_element(CBS *cbs, CBS *out, unsigned *out_tag, size_t *out_header_len, int *out_ber_found)
OPENSSL_EXPORT int CBS_get_any_asn1(CBS *cbs, CBS *out, unsigned *out_tag)
OPENSSL_EXPORT int CBB_flush(CBB *cbb)
OPENSSL_EXPORT int CBB_add_u32le(CBB *cbb, uint32_t value)
OPENSSL_EXPORT int CBS_contains_zero_byte(const CBS *cbs)
OPENSSL_EXPORT int CBS_get_optional_asn1(CBS *cbs, CBS *out, int *out_present, unsigned tag)
OPENSSL_EXPORT int CBB_flush_asn1_set_of(CBB *cbb)
OPENSSL_EXPORT int CBS_get_until_first(CBS *cbs, CBS *out, uint8_t c)
OPENSSL_EXPORT int CBB_add_u8_length_prefixed(CBB *cbb, CBB *out_contents)
OPENSSL_EXPORT int CBS_get_asn1_int64(CBS *cbs, int64_t *out)
OPENSSL_EXPORT int CBS_get_u24(CBS *cbs, uint32_t *out)
OPENSSL_EXPORT int CBB_add_u16_length_prefixed(CBB *cbb, CBB *out_contents)
OPENSSL_EXPORT int CBS_get_u16(CBS *cbs, uint16_t *out)
OPENSSL_EXPORT int CBB_add_asn1_oid_from_text(CBB *cbb, const char *text, size_t len)
constexpr Span< const T > MakeConstSpan(T *ptr, size_t size) noexcept
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:51