QuickBEAM.VM.LEB128 (QuickBEAM v0.10.9)

Copy Markdown View Source

LEB128 integer encoding/decoding for QuickJS bytecode parsing.

Summary

Functions

Reads a signed 32-bit little-endian integer from a binary.

Reads a signed LEB128 integer from a binary.

Reads an unsigned 8-bit integer from a binary.

Reads an unsigned 16-bit little-endian integer from a binary.

Reads an unsigned 32-bit little-endian integer from a binary.

Reads an unsigned 64-bit little-endian integer from a binary.

Reads an unsigned LEB128 integer from a binary.

Functions

read_i32(bin)

@spec read_i32(binary()) :: {:ok, integer(), binary()} | {:error, term()}

Reads a signed 32-bit little-endian integer from a binary.

read_signed(arg)

@spec read_signed(binary()) :: {:ok, integer(), binary()} | {:error, :bad_sleb128}

Reads a signed LEB128 integer from a binary.

read_u8(arg1)

@spec read_u8(binary()) :: {:ok, byte(), binary()} | {:error, :unexpected_end}

Reads an unsigned 8-bit integer from a binary.

read_u16(bin)

@spec read_u16(binary()) :: {:ok, non_neg_integer(), binary()} | {:error, term()}

Reads an unsigned 16-bit little-endian integer from a binary.

read_u32(bin)

@spec read_u32(binary()) :: {:ok, non_neg_integer(), binary()} | {:error, term()}

Reads an unsigned 32-bit little-endian integer from a binary.

read_u64(arg1)

@spec read_u64(binary()) :: {:ok, non_neg_integer(), binary()} | {:error, term()}

Reads an unsigned 64-bit little-endian integer from a binary.

read_unsigned(arg)

@spec read_unsigned(binary()) ::
  {:ok, non_neg_integer(), binary()} | {:error, :bad_leb128}

Reads an unsigned LEB128 integer from a binary.