Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Set or delete a parameter on a hook on the same account further down the execution chain
Search the hook chain on the hook account for a 32 byte hash indicated by hread_ptr
If found: set a parameter:
With the parameter name indicated by kread_ptr
and
The parameter value indicated by read_ptr
C
C
read_ptr
uint32_t
Pointer to parameter value
read_len
uint32_t
Length of the parameter value
kread_ptr
uint32_t
Pointer to the parameter name
kread_len
uint32_t
Length of the parameter name
hread_ptr
uint32_t
Pointer to hook hash
hread_len
uint32_t
Length of hook hash (always 32)
int64_t
The length of the parameter value successfully set
If negative, an error:
OUT_OF_BOUNDS
- pointers/lengths specified outside of hook memory.
TOO_SMALL
- The parameter name can't be null
TOO_BIG
- The parameter name is greater than 32 bytes
Retrieve the parameter value for a named hook parameter
Look up the value for a named parameter specified in read_ptr
Write the parameter's value to write_ptr
C
C
write_ptr
uint32_t
Pointer to a buffer of a suitable size to store the output. Should be at least 32 bytes.
write_len
uint32_t
Length of the output buffer.
read_ptr
uint32_t
Pointer to a buffer containing the parameter's name
read_len
uint32_t
Length of the parameter's name
int64_t
The number of bytes written
If negative, an error:
OUT_OF_BOUNDS
- pointers/lengths specified outside of hook memory.
DOESNT_EXIST
- The specified paramater doesn't exist or is null
TOO_SMALL
- The parameter name can't be null
TOO_BIG
- The parameter name is greater than 32 bytes
Returns the position in the hook chain the currently executing hook occupies
read_ptr
uint32_t
Pointer to a buffer containing the hook hash
read_len
uint32_t
Length of the hook hash (always 32)
flags
uint32_t
If 0: - add the hash to the hook skip list If 1 - remove the hash from the hook skip list
int64_t
If successful 1
If negative, an error:
OUT_OF_BOUNDS
- pointers/lengths specified outside of hook memory.
DOESNT_EXIST
- The specified paramater doesn't exist or is null
INVALID_ARGUMENT
- Hash is not 32 bytes
int64_t
The number of bytes written
If negative, an error:
OUT_OF_BOUNDS
- pointers/lengths specified outside of hook memory.
write_ptr
uint32_t
Pointer to a buffer of a suitable size to store the output. Should be at least 32 bytes.
write_len
uint32_t
Length of the output buffer.
hook_no
int32_t
The position in the hook chain the hook is located at, or -1 for the currently executing hook.
int64_t
The number of bytes written
If negative, an error:
OUT_OF_BOUNDS
- pointers/lengths specified outside of hook memory.
DOESNT_EXIST
- The specified hook sequence number doesn't exist in the hook chain.
int64_t
The position in the chain the currently executing hook occupies. The first position is 0.
write_ptr
uint32_t
Pointer to a buffer of a suitable size to store the output. Should be at least 20 bytes.
write_len
uint32_t
Length of the output buffer.
int64_t
1
iff successfully flagged for Again As Weak.
PREREQUISITE_NOT_MET
- This hook is already being executed weakly at the time of the call.
ALREADY_SET
- The function was already called this execution.