Top | ![]() |
![]() |
![]() |
![]() |
enum | SrtMachineType |
#define | SRT_ABI_I386 |
#define | SRT_ABI_X86_64 |
#define | SRT_ABI_AARCH64 |
enum | SrtArchitectureError |
On a typical x86 PC, it might be possible to run 32-bit and/or 64-bit executables, depending on the capabilities of the CPU, OS kernel and operating system.
gboolean
srt_architecture_can_run_i386 (void
);
Check whether we can run an i386 (SRT_ABI_I386
) executable.
For this check to work as intended, the contents of the
libsteam-runtime-tools-0-helpers:i386
package must be available
in the same directory hierarchy as the libsteam-runtime-tools-0
shared library, something like this:
1 2 3 4 5 6 7 8 |
any directory/ lib/ x86_64-linux-gnu/ libsteam-runtime-tools-0.so.0 libexec/ steam-runtime-tools-0/ i386-linux-gnu-* x86_64-linux-gnu-* |
gboolean
srt_architecture_can_run_x86_64 (void
);
Check whether we can run an x86_64 (SRT_ABI_X86_64
) executable.
For this check to work as intended, the contents of the
libsteam-runtime-tools-0-helpers:amd64
package must be available
in the same directory hierarchy as the libsteam-runtime-tools-0
shared library. See srt_architecture_can_run_i386()
for details.
const char *
srt_architecture_get_expected_runtime_linker
(const char *multiarch_tuple
);
Return the interoperable path to the runtime linker ld.so(8)
,
if known. For example, for x86_64, this returns
/lib64/ld-linux-x86-64.so.2
.
A type of machine.
Values of this enum are numerically equal to ELF machine types, although only a small subset of ELF machine types are represented here.
#define SRT_ABI_I386 "i386-linux-gnu"
The multiarch tuple for the i386 (IA-32) ABI normally used on 32-bit x86 Linux.
#define SRT_ABI_X86_64 "x86_64-linux-gnu"
The multiarch tuple for the x86_64 ABI normally used on 64-bit x86 Linux.
#define SRT_ABI_AARCH64 "aarch64-linux-gnu"
The multiarch tuple for the aarch64 ABI normally used on 64-bit ARM Linux, used here as a proof-of-concept for non-x86 support.
Errors raised when checking facts about an architecture.
Errors in the GIOErrorEnum domain can also be raised: for example,
if srt_system_info_check_runtime_linker()
raises G_IO_ERROR_NOT_FOUND
,
it means the interoperable path for ld.so does not exist.