class ASN1::BER::Length

Defined in:

bindata/asn1/length.cr

Constant Summary

AFTER_DESERIALIZE = [] of Nil
BEFORE_SERIALIZE = [] of Nil
ENDIAN = ["big"]
KLASS_NAME = [ASN1::BER::Length]
PARTS = [{type: "bitfield", name: 2, cls: ASN1::BER::Length, onlyif: nil, verify: nil}, {type: "array", name: long_bytes, cls: UInt8, onlyif: nil, verify: nil, length: -> do if long && (!indefinite?) if length_indicator > 4 raise("invalid ASN.1 BER length. Number of length bytes: #{length_indicator}") end 0 | length_indicator else 0 end end, value: nil}] of Nil
REMAINING = [] of Nil

Class Method Summary

Macro Summary

Instance Method Summary

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_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, &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, 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

def self.bit_fields #

[View source]

Macro Detail

macro asn1_ber(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro asn1_ber_extended_identifier(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro asn1_ber_identifier(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro asn1_ber_length(name, onlyif = nil, verify = nil, value = nil) #

[View source]
macro ber(name, onlyif = nil, verify = nil, value = nil) #

[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def indefinite? #

[View source]
def length : Int32 #

We can pretty much safely assume no protocol is implementing more than positive Int32 length datagrams


[View source]
def length=(length : Int32) #

We can pretty much safely assume no protocol is implementing more than positive Int32 length datagrams


[View source]
def length_indicator : UInt8 #

def length_indicator=(length_indicator : UInt8) #

def long : Bool #

[View source]
def long=(long : UInt8) #

def long=(value : Bool) #

[View source]
def long_bytes : Array(UInt8) #

def long_bytes=(long_bytes : Array(UInt8)) #

def read(io : IO) : IO #

[View source]
def write(io : IO) #

[View source]