Class NList
java.lang.Object
ghidra.app.util.bin.format.macho.commands.NList
- All Implemented Interfaces:
StructConverter
Represents an nlist and nlist_64 structure.
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionshort
A 16-bit value providing additional information about this symbol.int
byte
An integer specifying the number of the section that this symbol can be found in, or NO_SECT if symbol is not found in a section of this image.int
getSize()
static int
Gets the size in bytes of the givenNList
s (including associated strings)Returns the symbol string defined at the symbol table command string table offset plus n_strx.int
Returns the index into the string table.byte
getType()
Returns the symbol type flag.long
getValue()
An integer that contains the value of this symbol.void
initString
(BinaryReader reader, long stringTableOffset) Initialize the string from the string table.boolean
is32bit()
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
Returns a structure datatype representing the contents of the implementor of this interface.toString()
-
Constructor Details
-
NList
- Throws:
IOException
-
-
Method Details
-
initString
Initialize the string from the string table.You MUST call this method after the NLIST element is created!
Reading a large NList table can cause a large performance issue if the strings are initialized as the NList entry is created. The string table indexes are scattered. Initializing the strings linearly from the string table is much faster.
- Parameters:
reader
- The BinaryReaderstringTableOffset
- offset of the string table
-
toDataType
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 interfaceStructConverter
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException
- when a datatype of the same name already existsIOException
- if an IO-related error occurs- See Also:
-
getString
Returns the symbol string defined at the symbol table command string table offset plus n_strx.- Returns:
- the symbol string
-
getStringTableIndex
public int getStringTableIndex()Returns the index into the string table.- Returns:
- the index into the string table
-
getType
public byte getType()Returns the symbol type flag.- Returns:
- the symbol type flag
-
isTypeUndefined
public boolean isTypeUndefined() -
isTypeAbsolute
public boolean isTypeAbsolute() -
isTypePreboundUndefined
public boolean isTypePreboundUndefined() -
isIndirect
public boolean isIndirect() -
isSymbolicDebugging
public boolean isSymbolicDebugging() -
isPrivateExternal
public boolean isPrivateExternal() -
isExternal
public boolean isExternal() -
isLazyBind
public boolean isLazyBind() -
isThumbSymbol
public boolean isThumbSymbol() -
getSection
public byte getSection()An integer specifying the number of the section that this symbol can be found in, or NO_SECT if symbol is not found in a section of this image.- Returns:
- the number of the section
-
getDescription
public short getDescription()A 16-bit value providing additional information about this symbol.- Returns:
- a 16-bit value providing additional information about this symbol
-
getValue
public long getValue()An integer that contains the value of this symbol. The format of this value is different for each type of symbol.- Returns:
- the value of this symbol
-
getLibraryOrdinal
public int getLibraryOrdinal() -
is32bit
public boolean is32bit() -
getSize
public int getSize() -
toString
-
getSize
Gets the size in bytes of the givenNList
s (including associated strings)
-