Class ImageRuntimeFunctionEntries_X86

java.lang.Object
ghidra.app.util.bin.format.pe.ImageRuntimeFunctionEntries_X86
All Implemented Interfaces:
ImageRuntimeFunctionEntries

public class ImageRuntimeFunctionEntries_X86 extends Object implements ImageRuntimeFunctionEntries
 typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
  DWORD BeginAddress;
  DWORD EndAddress;
  union {
    DWORD UnwindInfoAddress;
    DWORD UnwindData;
  } DUMMYUNIONNAME;
 } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION, _IMAGE_RUNTIME_FUNCTION_ENTRY, *_PIMAGE_RUNTIME_FUNCTION_ENTRY;

 #define UNW_FLAG_NHANDLER 0x0
 #define UNW_FLAG_EHANDLER 0x1
 #define UNW_FLAG_UHANDLER 0x2
 #define UNW_FLAG_CHAININFO 0x4

 typedef struct _UNWIND_INFO {
     UCHAR Version : 3;
     UCHAR Flags : 5;
     UCHAR SizeOfProlog;
     UCHAR CountOfUnwindCodes;
     UCHAR FrameRegister : 4;
     UCHAR FrameOffset : 4;
     UNWIND_CODE UnwindCode[1];

 //
 // The unwind codes are followed by an optional DWORD aligned field that
 // contains the exception handler address or the address of chained unwind
 // information. If an exception handler address is specified, then it is
 // followed by the language specified exception handler data.
 //
 //  union {
 //      ULONG ExceptionHandler;
 //      ULONG FunctionEntry;
 //  };
 //
 //  ULONG ExceptionData[];
 //
 } UNWIND_INFO, *PUNWIND_INFO;