mirror of
https://github.com/Ed94/metadesk.git
synced 2026-06-17 17:42:23 -07:00
57 lines
1020 B
C
57 lines
1020 B
C
#ifdef INTELLISENSE_DIRECTIVES
|
|
# pragma once
|
|
#endif
|
|
|
|
////////////////////////////////
|
|
//~ rjf: Toolchain/Environment Enums
|
|
|
|
typedef enum OperatingSystem
|
|
{
|
|
OperatingSystem_Null,
|
|
OperatingSystem_Windows,
|
|
OperatingSystem_Linux,
|
|
OperatingSystem_Mac,
|
|
OperatingSystem_COUNT,
|
|
}
|
|
OperatingSystem;
|
|
|
|
typedef enum ImageType
|
|
{
|
|
Image_Null,
|
|
Image_CoffPe,
|
|
Image_Elf32,
|
|
Image_Elf64,
|
|
Image_Macho
|
|
} ImageType;
|
|
|
|
typedef enum Architecture
|
|
{
|
|
Architecture_Null,
|
|
Architecture_x64,
|
|
Architecture_x86,
|
|
Architecture_arm64,
|
|
Architecture_arm32,
|
|
Architecture_COUNT,
|
|
}
|
|
Architecture;
|
|
|
|
typedef enum Compiler
|
|
{
|
|
Compiler_Null,
|
|
Compiler_msvc,
|
|
Compiler_gcc,
|
|
Compiler_clang,
|
|
Compiler_COUNT,
|
|
}
|
|
Compiler;
|
|
|
|
////////////////////////////////
|
|
//~ rjf: Toolchain/Environment Enum Functions
|
|
|
|
internal U64 bit_size_from_arch(Arch arch);
|
|
internal U64 max_instruction_size_from_arch(Arch arch);
|
|
|
|
internal OperatingSystem operating_system_from_context(void);
|
|
internal Arch arch_from_context(void);
|
|
internal Compiler compiler_from_context(void);
|