UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
syms_regs_helpers.c
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#ifndef SYMS_REGS_HELPERS_C
4#define SYMS_REGS_HELPERS_C
5
8{
9 SYMS_U64 result = 0;
10 switch(arch)
11 {
12 default:break;
13 case SYMS_Arch_X64: {result = SYMS_RegX64Code_COUNT;}break;
14 case SYMS_Arch_X86: {result = SYMS_RegX86Code_COUNT;}break;
15 case SYMS_Arch_ARM: {result = 0;}break; // NOTE(rjf): Currently unsupported.
16 case SYMS_Arch_ARM32: {result = 0;}break; // NOTE(rjf): Currently unsupported.
17 case SYMS_Arch_PPC64: {result = 0;}break; // NOTE(rjf): Currently unsupported.
18 case SYMS_Arch_PPC: {result = 0;}break; // NOTE(rjf): Currently unsupported.
19 case SYMS_Arch_IA64: {result = 0;}break; // NOTE(rjf): Currently unsupported.
20 }
21 return result;
22}
23
26{
27 SYMS_String8 *result = 0;
28 switch(arch)
29 {
30 default:break;
31 case SYMS_Arch_X64: {result = syms_reg_names_X64;}break;
32 case SYMS_Arch_X86: {result = syms_reg_names_X86;}break;
33 case SYMS_Arch_ARM: {result = 0;}break; // NOTE(rjf): Currently unsupported.
34 case SYMS_Arch_ARM32: {result = 0;}break; // NOTE(rjf): Currently unsupported.
35 case SYMS_Arch_PPC64: {result = 0;}break; // NOTE(rjf): Currently unsupported.
36 case SYMS_Arch_PPC: {result = 0;}break; // NOTE(rjf): Currently unsupported.
37 case SYMS_Arch_IA64: {result = 0;}break; // NOTE(rjf): Currently unsupported.
38 }
39 return result;
40}
41
44{
45 SYMS_RegSection *result = 0;
46 switch(arch)
47 {
48 default:break;
49 case SYMS_Arch_X64: {result = syms_reg_section_X64;}break;
50 case SYMS_Arch_X86: {result = syms_reg_section_X86;}break;
51 case SYMS_Arch_ARM: {result = 0;}break; // NOTE(rjf): Currently unsupported.
52 case SYMS_Arch_ARM32: {result = 0;}break; // NOTE(rjf): Currently unsupported.
53 case SYMS_Arch_PPC64: {result = 0;}break; // NOTE(rjf): Currently unsupported.
54 case SYMS_Arch_PPC: {result = 0;}break; // NOTE(rjf): Currently unsupported.
55 case SYMS_Arch_IA64: {result = 0;}break; // NOTE(rjf): Currently unsupported.
56 }
57 return result;
58}
59
62 SYMS_RegSection result = {0};
65 if (reg_id < count){
66 result = table[reg_id];
67 }
68 return(result);
69}
70
71#endif // SYMS_REGS_HELPERS_C
Definition syms_regs.h:49
Definition syms_base.h:296
#define SYMS_API
Definition syms_base.h:29
SYMS_U32 SYMS_RegID
Definition syms_base.h:107
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
SYMS_Arch
Definition syms_meta_base.h:6
@ SYMS_Arch_PPC64
Definition syms_meta_base.h:12
@ SYMS_Arch_ARM
Definition syms_meta_base.h:10
@ SYMS_Arch_IA64
Definition syms_meta_base.h:14
@ SYMS_Arch_ARM32
Definition syms_meta_base.h:11
@ SYMS_Arch_X64
Definition syms_meta_base.h:8
@ SYMS_Arch_X86
Definition syms_meta_base.h:9
@ SYMS_Arch_PPC
Definition syms_meta_base.h:13
@ SYMS_RegX64Code_COUNT
Definition syms_meta_regs_x64.h:244
@ SYMS_RegX86Code_COUNT
Definition syms_meta_regs_x86.h:168
SYMS_API SYMS_RegSection * syms_reg_section_table_from_arch(SYMS_Arch arch)
Definition syms_regs_helpers.c:43
SYMS_API SYMS_RegSection syms_reg_section_from_reg_id(SYMS_Arch arch, SYMS_RegID reg_id)
Definition syms_regs_helpers.c:61
SYMS_API SYMS_String8 * syms_reg_name_table_from_arch(SYMS_Arch arch)
Definition syms_regs_helpers.c:25
SYMS_API SYMS_U64 syms_reg_count_from_arch(SYMS_Arch arch)
Definition syms_regs_helpers.c:7