Package ghidra.app.util.bin.format.coff.archive

# Class LongNamesMember

java.lang.Object
ghidra.app.util.bin.format.coff.archive.LongNamesMember

All Implemented Interfaces:
  `StructConverter`

public final class LongNamesMember extends Object implements StructConverter
A string table that contains the full filenames of COFF archive members who's actual filenames can not fit in the fixed-length name `field`.

This string table is held in a special archive member named "//" and is usually one of the first members of the archive.

With MS libs, this will typically be the 3rd member in the archive, right after the first and second "/" special members.

- ## Field Summary

  ### 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
  `LongNamesMember(BinaryReader reader, CoffArchiveMemberHeader header)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `findName(ByteProvider provider, CoffArchiveMemberHeader archiveMemberHeader)`
  `long`
  `getFileOffset()`
  `String`
  `getStringAtOffset(ByteProvider provider, long offset)`
  `DataType`
  `toDataType()`
  Returns a structure datatype representing the contents of the implementor of this interface.

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

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

- ## Constructor Details

  - ### LongNamesMember

    public LongNamesMember(BinaryReader reader, CoffArchiveMemberHeader header) throws IOException
    Throws:
      `IOException`

- ## Method Details

  - ### getFileOffset

    public long getFileOffset()

  - ### getStringAtOffset

    public String getStringAtOffset(ByteProvider provider, long offset) throws IOException
    Throws:
      `IOException`

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

  - ### findName

    public String findName(ByteProvider provider, CoffArchiveMemberHeader archiveMemberHeader) throws IOException
    Throws:
      `IOException`