Package ghidra.app.util.bin.format.pe

# 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;

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `markup(Program program, Address headerStart)`
  Marks up an `ImageRuntimeFunctionEntries`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### markup

    public void markup(Program program, Address headerStart) throws CodeUnitInsertionException, IOException, DuplicateNameException
    Description copied from interface: `ImageRuntimeFunctionEntries`
    Marks up an `ImageRuntimeFunctionEntries`
    Specified by:
      `markup` in interface `ImageRuntimeFunctionEntries`
    Parameters:
      `program` - The `Program`
      `headerStart` - The start `Address`
    Throws:
      `CodeUnitInsertionException` - If data creation failed
      `IOException` - If there was an IO-related error creating the data
      `DuplicateNameException` - If a data type of the same name already exists