Skip to main content

Module types

Module types 

Source
Expand description

Type interpretation for reading and converting bytes from file buffers.

This module exposes the public type-reading API and dispatches to focused submodules for numeric and string handling.

Enums§

TypeReadError
Errors that can occur during type reading operations.

Functions§

coerce_value_to_type
Coerces a rule value to the signed width implied by type_kind.
read_byte
Safely reads a single byte from the buffer at the specified offset.
read_date
Safely reads a 32-bit Unix timestamp from the buffer at the specified offset and formats it as a human-readable date string.
read_double
Safely reads a 64-bit IEEE 754 double from the buffer at the specified offset.
read_float
Safely reads a 32-bit IEEE 754 float from the buffer at the specified offset.
read_long
Safely reads a 32-bit integer from the buffer at the specified offset.
read_pstring
Reads a Pascal-style length-prefixed string from the buffer.
read_qdate
Safely reads a 64-bit Unix timestamp from the buffer at the specified offset and formats it as a human-readable date string.
read_quad
Safely reads a 64-bit integer from the buffer at the specified offset.
read_regex
Scan buffer starting at offset for the first match of pattern.
read_search
Scan a bounded window of buffer for the first occurrence of pattern.
read_short
Safely reads a 16-bit integer from the buffer at the specified offset.
read_string
Safely reads a null-terminated string from the buffer at the specified offset.
read_string16
Reads a UCS-2 string from the buffer with the given endianness.
read_string_exact
Read exactly length bytes from the buffer at offset, with NO NUL truncation. Used for libmagic-compatible string PATTERN comparison where the magic value’s full byte length must be compared byte-for-byte against the file (including any embedded NULs in the pattern).
read_typed_value
Reads bytes according to the specified TypeKind.
read_typed_value_with_pattern
Reads bytes according to the specified TypeKind, threading a pattern operand through for pattern-bearing types (Regex, Search).