class
ASN1::BER::Identifier
- ASN1::BER::Identifier
- BinData
- Reference
- Object
Overview
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
Defined in:
bindata/asn1/identifier.crConstant Summary
-
AFTER_DESERIALIZE =
[] of Nil -
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
BEFORE_SERIALIZE =
[] of Nil -
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
ENDIAN =
["big"] -
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
KLASS_NAME =
[ASN1::BER::Identifier] -
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
MAX_EXTENDED_BYTES =
16 -
Cap on high-tag-number continuation bytes, to bound
#readagainst a stream ofmore-flagged bytes (otherwise the array grows without limit). 16 base-128 bytes encode a tag number well beyond any real-world use. -
PARTS =
[{type: "bitfield", name: 1, cls: ASN1::BER::Identifier, onlyif: nil, verify: nil, endian: IO::ByteFormat::BigEndian}] of Nil -
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
REMAINING =
[] of Nil -
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
Class Method Summary
-
.bit_fields
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
Macro Summary
-
asn1_ber(name, onlyif = nil, verify = nil, value = nil)
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
asn1_ber_extended_identifier(name, onlyif = nil, verify = nil, value = nil)
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
asn1_ber_identifier(name, onlyif = nil, verify = nil, value = nil)
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
-
ber(name, onlyif = nil, verify = nil, value = nil)
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
Instance Method Summary
-
#__format__ : IO::ByteFormat
A
groupcaptures the endianness at its declaration point, so declaringendianafter one would silently leave it system-endian. - #constructed : Bool
- #constructed=(constructed : UInt8)
- #constructed=(value : Bool)
- #extended : Array(ExtendedIdentifier)
- #extended=(extended : Array(ExtendedIdentifier))
- #extended?
-
#read(io : IO) : IO
Reads the fields of this instance from io, in declaration order, and returns io.
- #tag_class : ASN1::BER::TagClass
- #tag_class=(tag_class : UInt8)
- #tag_class=(value : ASN1::BER::TagClass)
- #tag_number : UInt8
- #tag_number=(tag_number : UInt8)
-
#write(io : IO)
Writes the fields of this instance to io in declaration order.
Instance methods inherited from class BinData
__format__ : IO::ByteFormat
__format__,
read(io : IO) : IO
read,
to_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::SystemEndian)
to_io,
to_s(io)
to_s,
to_slice
to_slice,
write(io : IO)
write
Class methods inherited from class BinData
bit_fields
bit_fields,
from_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::SystemEndian)
from_io,
from_slice(bytes : Slice, format : IO::ByteFormat = IO::ByteFormat::SystemEndian)
from_slice
Macros inherited from class BinData
__add_enum_field(name, cls, onlyif, verify, value, encoding, enum_type)
__add_enum_field,
__build_methods__
__build_methods__,
after_deserialize(&block)
after_deserialize,
array(name, length, onlyif = nil, verify = nil, value = nil)
array,
before_serialize(&block)
before_serialize,
bit_field(onlyif = nil, verify = nil, endian = nil, &block)
bit_field,
bits(size, name, value = nil, default = nil)
bits,
bool(name, default = false)
bool,
bytes(name, length, onlyif = nil, verify = nil, value = nil, default = nil)
bytes,
custom(name, onlyif = nil, verify = nil, value = nil)
custom,
endian(format)
endian,
enum_bits(size, name)
enum_bits,
enum_field(size, name, onlyif = nil, verify = nil, value = nil)
enum_field,
field(type_declaration, onlyif = nil, verify = nil, value = nil, length = nil, read_next = nil, encoding = nil, endian = nil)
field,
float32(name, onlyif = nil, verify = nil, value = nil, default = nil)
float32,
float32be(name, onlyif = nil, verify = nil, value = nil, default = nil)
float32be,
float32le(name, onlyif = nil, verify = nil, value = nil, default = nil)
float32le,
float64(name, onlyif = nil, verify = nil, value = nil, default = nil)
float64,
float64be(name, onlyif = nil, verify = nil, value = nil, default = nil)
float64be,
float64le(name, onlyif = nil, verify = nil, value = nil, default = nil)
float64le,
group(name, onlyif = nil, verify = nil, value = nil, &block)
group,
int128(name, onlyif = nil, verify = nil, value = nil, default = nil)
int128,
int128be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int128be,
int128le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int128le,
int16(name, onlyif = nil, verify = nil, value = nil, default = nil)
int16,
int16be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int16be,
int16le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int16le,
int32(name, onlyif = nil, verify = nil, value = nil, default = nil)
int32,
int32be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int32be,
int32le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int32le,
int64(name, onlyif = nil, verify = nil, value = nil, default = nil)
int64,
int64be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int64be,
int64le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int64le,
int8(name, onlyif = nil, verify = nil, value = nil, default = nil)
int8,
int8be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int8be,
int8le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int8le,
remaining_bytes(name, onlyif = nil, verify = nil, default = nil)
remaining_bytes,
skip(length, onlyif = nil, verify = nil)
skip,
string(name, onlyif = nil, verify = nil, length = nil, value = nil, encoding = nil, default = nil)
string,
uint128(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint128,
uint128be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint128be,
uint128le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint128le,
uint16(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint16,
uint16be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint16be,
uint16le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint16le,
uint32(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint32,
uint32be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint32be,
uint32le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint32le,
uint64(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint64,
uint64be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint64be,
uint64le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint64le,
uint8(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint8,
uint8be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint8be,
uint8le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint8le,
variable_array(name, read_next, onlyif = nil, verify = nil, value = nil)
variable_array
Class Method Detail
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
Macro Detail
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
The leading identifier octet of a BER element (tag class, constructed flag and tag number), plus any high-tag-number continuation bytes.
Instance Method Detail
A group captures the endianness at its declaration point, so declaring
endian after one would silently leave it system-endian. Fail loudly.
Reads the fields of this instance from io, in declaration order, and
returns io. Raises BinData::ParseError (or BinData::VerificationException)
on malformed input.
Writes the fields of this instance to io in declaration order. Raises
BinData::WriteError (or BinData::VerificationException) on failure.