Relative_Pointers module

decode_relative_pointer

procedure2 overloadsSource

Reads the relative pointer of relative_pointer_size bytes (1, 2, 4 or 8) at address. Returns the pointer, or null if it is unset, and its offset from address.

decode_relative_pointer :: (
    relative_pointer_size: s32,
    address: *void
) -> (pointer: *void, offset: s64)

Parameters

relative_pointer_size: s32
address: *void

Returns

pointer: *void
offset: s64
decode_relative_pointer :: (
    relative_pointer_size: s32,
    pointer_address: *void,
    base_address: *void
) -> (pointer: *void, offset: s64)

Like the two-argument form, but the offset counts from base_address instead of from where the pointer is stored.

Parameters

relative_pointer_size: s32
pointer_address: *void
base_address: *void

Returns

pointer: *void
offset: s64

See also