If requested by
use_errno, if a system call fails (i.e.,
succeeded is false) dr_syscall_get_result_ex() will set this field to the absolute value of the error code returned (i.e., on Linux, it will be inverted from what the kernel directly returns, in order to facilitate cross-platform clients that operate on both Linux and MacOS). For Linux and Macos, when
succeeded is true,
errno_value is set to 0.
use_errno is set for dr_syscall_set_result_ex(), then this value will be stored as the system call's return value, negated if necessary for the underlying platform. In that case,
value will be ignored.
On some platforms (such as MacOS), a 32-bit application's system call can return a 64-bit value. For such calls, this field will hold the top 32 bit bits, if requested by
use_high. It is up to the caller to know which system calls have 64-bit return values. System calls that return only 32-bit values do not clear the upper bits. Consider using the "drsyscall" Extension in order to obtain per-system-call semantic information, including return type.
The caller should set this to the size of the structure.
Indicates whether the system call succeeded or failed. For dr_syscall_set_result_ex(), this requests that DR set any additional machine state, if any, used by the particular plaform that is not part of
value to indicate success or failure (e.g., on MacOS the carry flag is used to indicate success).
For Windows, the success result from dr_syscall_get_result_ex() should only be relied upon for ntoskrnl system calls. For other Windows system calls (such as win32k.sys graphical (NtGdi) or user (NtUser) system calls), computing success depends on each particular call semantics and is beyond the scope of this routine (consider using the "drsyscall" Extension instead).
For Mach syscalls on MacOS, the success result from dr_syscall_get_result_ex() should not be relied upon. Computing success depends on each particular call semantics and is beyond the scope of this routine (consider using the "drsyscall" Extension instead).
The raw main value returned by the system call. See also the
The documentation for this struct was generated from the following file: