Package ghidra.app.plugin.exceptionhandlers.gcc.structures.ehFrame

# Class ExceptionHandlerFrameHeader

java.lang.Object
ghidra.app.plugin.exceptionhandlers.gcc.structures.ehFrame.ExceptionHandlerFrameHeader

public class ExceptionHandlerFrameHeader extends Object
This class represents an Exception Handler Frame Header.

     struct eh_frame_hdr {
         unsigned char eh_frame_header_version
         unsigned char eh_frame_pointer_encoding
         unsigned char eh_frame_description_entry_count
         unsigned_char eh_handler_table_encoding
     }

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExceptionHandlerFrameHeader(TaskMonitor monitor, Program curProg)`
  Constructor for an ExceptionHandlerFrameHeader.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addToDataTypeManager()`
  Adds the structure data type for the eh frame header to the program's data type manager.
  `void`
  `create(Address addr)`
  Method that creates an Exception Handler Frame Header Structure at the address specified by 'addr'.
  `int`
  `getEh_FrameDescEntryCntEncoding()`
  Gets the eh frame description entry count.
  `int`
  `getEh_FramePtrEncoding()`
  Gets the eh frame pointer encoding.
  `int`
  `getEh_FrameTableEncoding()`
  Gets the eh handler table encoding.
  `int`
  `getEh_FrameVersion()`
  Gets the version for this program's eh frame.
  `int`
  `getLength()`
  Gets the length of the EH Frame Header.

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

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

- ## Constructor Details

  - ### ExceptionHandlerFrameHeader

    public ExceptionHandlerFrameHeader(TaskMonitor monitor, Program curProg)
    Constructor for an ExceptionHandlerFrameHeader.
    Parameters:
      `monitor` - a status monitor for indicating progress or allowing a task to be cancelled.
      `curProg` - the program containing this eh frame header.

- ## Method Details

  - ### addToDataTypeManager

    public void addToDataTypeManager()
    Adds the structure data type for the eh frame header to the program's data type manager.

  - ### create

    public void create(Address addr) throws MemoryAccessException, AddressOutOfBoundsException
    Method that creates an Exception Handler Frame Header Structure at the address specified by 'addr'. If addr is 'null', this method returns without creating the structure.
    Parameters:
      `addr` - - Address at which the Exception Handler Frame Header Structure should be created.
    Throws:
      `AddressOutOfBoundsException` - if the memory needed for this frame header isn't in the program.
      `MemoryAccessException` - if the memory needed for this frame header isn't in the program.

  - ### getLength

    public int getLength()
    Gets the length of the EH Frame Header.
    Returns:
      the length of this frame header.

  - ### getEh_FrameVersion

    public int getEh_FrameVersion()
    Gets the version for this program's eh frame.
    Returns:
      the version indicator.

  - ### getEh_FrameDescEntryCntEncoding

    public int getEh_FrameDescEntryCntEncoding()
    Gets the eh frame description entry count.
    Returns:
      the description entry count.

  - ### getEh_FramePtrEncoding

    public int getEh_FramePtrEncoding()
    Gets the eh frame pointer encoding.
    Returns:
      the pointer encoding.

  - ### getEh_FrameTableEncoding

    public int getEh_FrameTableEncoding()
    Gets the eh handler table encoding.
    Returns:
      the table encoding.