Package ghidra.app.util.bin.format.omf.omf

# Class OmfIteratedData

java.lang.Object
ghidra.app.util.bin.format.omf.OmfRecord
ghidra.app.util.bin.format.omf.omf.OmfData
ghidra.app.util.bin.format.omf.omf.OmfIteratedData

All Implemented Interfaces:
  `StructConverter`, `Comparable<OmfData>`

public class OmfIteratedData extends OmfData

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `OmfIteratedData.DataBlock`
  Contain the definition of one part of a datablock with possible recursion

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `MAX_ITERATED_FILL`

  ### Fields inherited from class ghidra.app.util.bin.format.omf.omf.OmfData

  `dataOffset, segmentIndex`

  ### Fields inherited from class ghidra.app.util.bin.format.omf.OmfRecord

  `checkSum, data, dataEnd, dataReader, recordLength, recordOffset, recordType`

  ### Fields inherited from interface ghidra.app.util.bin.StructConverter

  `ASCII, BYTE, DWORD, IBO32, IBO64, POINTER, QWORD, SLEB128, STRING, ULEB128, UTF16, UTF8, VOID, WORD`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OmfIteratedData(BinaryReader reader)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte[]`
  `getByteArray(BinaryReader reader)`
  Create a byte array holding the data represented by this object.
  `int`
  `getLength()`
  `boolean`
  `isAllZeroes()`
  `void`
  `parseData()`
  Parses this `OmfRecord`'s type-spefic data
  `DataType`
  `toDataType()`
  Returns a structure datatype representing the contents of the implementor of this interface.

  ### Methods inherited from class ghidra.app.util.bin.format.omf.omf.OmfData

  `compareTo, getDataOffset, getSegmentIndex`

  ### Methods inherited from class ghidra.app.util.bin.format.omf.OmfRecord

  `calcCheckSum, getData, getRecordChecksum, getRecordLength, getRecordOffset, getRecordType, hasBigFields, toString, validCheckSum`

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

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

- ## Field Details

  - ### MAX_ITERATED_FILL

    public static final int MAX_ITERATED_FILL
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### OmfIteratedData

    public OmfIteratedData(BinaryReader reader) throws IOException
    Throws:
      `IOException`

- ## Method Details

  - ### parseData

    public void parseData() throws IOException, OmfException
    Description copied from class: `OmfRecord`
    Parses this `OmfRecord`'s type-spefic data
    Specified by:
      `parseData` in class `OmfRecord`
    Throws:
      `IOException` - if there was an IO-related error
      `OmfException` - if there was a problem with the OMF specification

  - ### isAllZeroes

    public boolean isAllZeroes()
    Specified by:
      `isAllZeroes` in class `OmfData`
    Returns:
      true if this is a block entirely of zeroes

  - ### getLength

    public int getLength()
    Specified by:
      `getLength` in class `OmfData`
    Returns:
      the length of this data in bytes

  - ### getByteArray

    public byte[] getByteArray(BinaryReader reader) throws IOException
    Description copied from class: `OmfData`
    Create a byte array holding the data represented by this object. The length of the byte array should exactly match the value returned by getLength()
    Specified by:
      `getByteArray` in class `OmfData`
    Parameters:
      `reader` - is for pulling bytes directly from the binary image
    Returns:
      allocated and filled byte array
    Throws:
      `IOException` - for problems accessing data through the reader

  - ### toDataType

    public DataType toDataType() throws DuplicateNameException, IOException
    Description copied from interface: `StructConverter`
    Returns a structure datatype representing the contents of the implementor of this interface.

    For example, given:

         class A {
             int foo;
             double bar;
         }

    The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.

    Specified by:
      `toDataType` in interface `StructConverter`
    Specified by:
      `toDataType` in class `OmfRecord`
    Returns:
      returns a structure datatype representing the implementor of this interface
    Throws:
      `DuplicateNameException` - when a datatype of the same name already exists
      `IOException` - if an IO-related error occurs
    See Also:
      - `StructureDataType`