UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
syms_unwind_pe_x64.h File Reference

Go to the source code of this file.

Classes

union  SYMS_UnwindPeCode
 
struct  SYMS_UnwindPeInfo
 

Macros

#define SYMS_UnwindPeCode_CodeFromFlags(x)   ((x) & 0xf)
 
#define SYMS_UnwindPeCode_InfoFromFlags(x)   (((x) & 0xf0) >> 4)
 
#define SYMS_UnwindPeInfo_VersionFromHeader(x)   ((x) & 0x07)
 
#define SYMS_UnwindPeInfo_FlagsFromHeader(x)   (((x) & 0xf8) >> 3)
 
#define SYMS_UnwindPeInfo_RegFromFrame(x)   ((x) & 0x0f)
 
#define SYMS_UnwindPeInfo_OffFromFrame(x)   (((x) & 0xf0) >> 4)
 

Typedefs

typedef SYMS_U32 SYMS_UnwindPeOpCode
 
typedef union SYMS_UnwindPeCode SYMS_UnwindPeCode
 
typedef SYMS_U8 SYMS_UnwindPeInfoFlags
 
typedef struct SYMS_UnwindPeInfo SYMS_UnwindPeInfo
 
typedef SYMS_U8 SYMS_UnwindPeX64GprReg
 

Enumerations

enum  {
  SYMS_UnwindPeOpCode_PUSH_NONVOL = 0 , SYMS_UnwindPeOpCode_ALLOC_LARGE = 1 , SYMS_UnwindPeOpCode_ALLOC_SMALL = 2 , SYMS_UnwindPeOpCode_SET_FPREG = 3 ,
  SYMS_UnwindPeOpCode_SAVE_NONVOL = 4 , SYMS_UnwindPeOpCode_SAVE_NONVOL_FAR = 5 , SYMS_UnwindPeOpCode_EPILOG = 6 , SYMS_UnwindPeOpCode_SPARE_CODE = 7 ,
  SYMS_UnwindPeOpCode_SAVE_XMM128 = 8 , SYMS_UnwindPeOpCode_SAVE_XMM128_FAR = 9 , SYMS_UnwindPeOpCode_PUSH_MACHFRAME = 10
}
 
enum  { SYMS_UnwindPeInfoFlag_EHANDLER = (1 << 0) , SYMS_UnwindPeInfoFlag_UHANDLER = (1 << 1) , SYMS_UnwindPeInfoFlag_FHANDLER = SYMS_UnwindPeInfoFlag_EHANDLER|SYMS_UnwindPeInfoFlag_UHANDLER , SYMS_UnwindPeInfoFlag_CHAINED = (1 << 2) }
 
enum  {
  SYMS_UnwindPeX64GprReg_RAX = 0 , SYMS_UnwindPeX64GprReg_RCX = 1 , SYMS_UnwindPeX64GprReg_RDX = 2 , SYMS_UnwindPeX64GprReg_RBX = 3 ,
  SYMS_UnwindPeX64GprReg_RSP = 4 , SYMS_UnwindPeX64GprReg_RBP = 5 , SYMS_UnwindPeX64GprReg_RSI = 6 , SYMS_UnwindPeX64GprReg_RDI = 7 ,
  SYMS_UnwindPeX64GprReg_R8 = 8 , SYMS_UnwindPeX64GprReg_R9 = 9 , SYMS_UnwindPeX64GprReg_R10 = 10 , SYMS_UnwindPeX64GprReg_R11 = 11 ,
  SYMS_UnwindPeX64GprReg_R12 = 12 , SYMS_UnwindPeX64GprReg_R13 = 13 , SYMS_UnwindPeX64GprReg_R14 = 14 , SYMS_UnwindPeX64GprReg_R15 = 15
}
 

Functions

SYMS_C_LINKAGE_BEGIN SYMS_API SYMS_UnwindResult syms_unwind_pe_x64 (SYMS_String8 bin_data, SYMS_PeBinAccel *bin, SYMS_U64 bin_base, SYMS_MemoryView *memview, SYMS_RegX64 *regs_in_out)
 
SYMS_API SYMS_UnwindResult syms_unwind_pe_x64__epilog (SYMS_String8 bin_data, SYMS_PeBinAccel *bin, SYMS_U64 base, SYMS_MemoryView *memview, SYMS_RegX64 *regs_in_out)
 
SYMS_API SYMS_U32 syms_unwind_pe_x64__slot_count_from_op_code (SYMS_UnwindPeOpCode op_code)
 
SYMS_API SYMS_B32 syms_unwind_pe_x64__voff_is_in_epilog (SYMS_String8 bin_data, SYMS_PeBinAccel *bin, SYMS_U64 voff, SYMS_PeIntelPdata *final_pdata)
 
SYMS_API SYMS_Reg64syms_unwind_pe_x64__gpr_reg (SYMS_RegX64 *regs, SYMS_UnwindPeX64GprReg reg_id)
 

Macro Definition Documentation

◆ SYMS_UnwindPeCode_CodeFromFlags

#define SYMS_UnwindPeCode_CodeFromFlags (   x)    ((x) & 0xf)

◆ SYMS_UnwindPeCode_InfoFromFlags

#define SYMS_UnwindPeCode_InfoFromFlags (   x)    (((x) & 0xf0) >> 4)

◆ SYMS_UnwindPeInfo_FlagsFromHeader

#define SYMS_UnwindPeInfo_FlagsFromHeader (   x)    (((x) & 0xf8) >> 3)

◆ SYMS_UnwindPeInfo_OffFromFrame

#define SYMS_UnwindPeInfo_OffFromFrame (   x)    (((x) & 0xf0) >> 4)

◆ SYMS_UnwindPeInfo_RegFromFrame

#define SYMS_UnwindPeInfo_RegFromFrame (   x)    ((x) & 0x0f)

◆ SYMS_UnwindPeInfo_VersionFromHeader

#define SYMS_UnwindPeInfo_VersionFromHeader (   x)    ((x) & 0x07)

Typedef Documentation

◆ SYMS_UnwindPeCode

◆ SYMS_UnwindPeInfo

◆ SYMS_UnwindPeInfoFlags

◆ SYMS_UnwindPeOpCode

◆ SYMS_UnwindPeX64GprReg

Enumeration Type Documentation

◆ anonymous enum

Enumerator
SYMS_UnwindPeOpCode_PUSH_NONVOL 
SYMS_UnwindPeOpCode_ALLOC_LARGE 
SYMS_UnwindPeOpCode_ALLOC_SMALL 
SYMS_UnwindPeOpCode_SET_FPREG 
SYMS_UnwindPeOpCode_SAVE_NONVOL 
SYMS_UnwindPeOpCode_SAVE_NONVOL_FAR 
SYMS_UnwindPeOpCode_EPILOG 
SYMS_UnwindPeOpCode_SPARE_CODE 
SYMS_UnwindPeOpCode_SAVE_XMM128 
SYMS_UnwindPeOpCode_SAVE_XMM128_FAR 
SYMS_UnwindPeOpCode_PUSH_MACHFRAME 

◆ anonymous enum

Enumerator
SYMS_UnwindPeInfoFlag_EHANDLER 
SYMS_UnwindPeInfoFlag_UHANDLER 
SYMS_UnwindPeInfoFlag_FHANDLER 
SYMS_UnwindPeInfoFlag_CHAINED 

◆ anonymous enum

Enumerator
SYMS_UnwindPeX64GprReg_RAX 
SYMS_UnwindPeX64GprReg_RCX 
SYMS_UnwindPeX64GprReg_RDX 
SYMS_UnwindPeX64GprReg_RBX 
SYMS_UnwindPeX64GprReg_RSP 
SYMS_UnwindPeX64GprReg_RBP 
SYMS_UnwindPeX64GprReg_RSI 
SYMS_UnwindPeX64GprReg_RDI 
SYMS_UnwindPeX64GprReg_R8 
SYMS_UnwindPeX64GprReg_R9 
SYMS_UnwindPeX64GprReg_R10 
SYMS_UnwindPeX64GprReg_R11 
SYMS_UnwindPeX64GprReg_R12 
SYMS_UnwindPeX64GprReg_R13 
SYMS_UnwindPeX64GprReg_R14 
SYMS_UnwindPeX64GprReg_R15 

Function Documentation

◆ syms_unwind_pe_x64()

SYMS_C_LINKAGE_BEGIN SYMS_API SYMS_UnwindResult syms_unwind_pe_x64 ( SYMS_String8  bin_data,
SYMS_PeBinAccel bin,
SYMS_U64  bin_base,
SYMS_MemoryView memview,
SYMS_RegX64 regs_in_out 
)

◆ syms_unwind_pe_x64__epilog()

SYMS_API SYMS_UnwindResult syms_unwind_pe_x64__epilog ( SYMS_String8  bin_data,
SYMS_PeBinAccel bin,
SYMS_U64  base,
SYMS_MemoryView memview,
SYMS_RegX64 regs_in_out 
)

◆ syms_unwind_pe_x64__gpr_reg()

SYMS_API SYMS_Reg64 * syms_unwind_pe_x64__gpr_reg ( SYMS_RegX64 regs,
SYMS_UnwindPeX64GprReg  reg_id 
)

◆ syms_unwind_pe_x64__slot_count_from_op_code()

SYMS_API SYMS_U32 syms_unwind_pe_x64__slot_count_from_op_code ( SYMS_UnwindPeOpCode  op_code)

◆ syms_unwind_pe_x64__voff_is_in_epilog()

SYMS_API SYMS_B32 syms_unwind_pe_x64__voff_is_in_epilog ( SYMS_String8  bin_data,
SYMS_PeBinAccel bin,
SYMS_U64  voff,
SYMS_PeIntelPdata final_pdata 
)