Class NList
- java.lang.Object
-
- ghidra.app.util.bin.format.macho.commands.NList
-
- All Implemented Interfaces:
StructConverter
public class NList extends java.lang.Object implements StructConverter
Represents an nlist and nlist_64 structure.- See Also:
- mach-o/nlist.h
-
-
Constructor Summary
Constructors Constructor Description NList()DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static NListcreateNList(FactoryBundledWithBinaryReader reader, boolean is32bit)shortgetDescription()A 16-bit value providing additional information about this symbol.intgetLibraryOrdinal()bytegetSection()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.java.lang.StringgetString()Returns the symbol string defined at the symbol table command string table offset plus n_strx.intgetStringTableIndex()Returns the index into the string table.bytegetType()Returns the symbol type flag.longgetValue()An integer that contains the value of this symbol.voidinitString(FactoryBundledWithBinaryReader reader, long stringTableOffset)Initialize the string from the string table.booleanisExternal()booleanisLazyBind()booleanisPrivateExternal()booleanisSymbolicDebugging()booleanisThumbSymbol()booleanisTypeAbsolute()booleanisTypePreboundUndefined()booleanisTypeUndefined()DataTypetoDataType()Returns a structure datatype representing the contents of the implementor of this interface.java.lang.StringtoString()
-
-
-
Method Detail
-
createNList
public static NList createNList(FactoryBundledWithBinaryReader reader, boolean is32bit) throws java.io.IOException
- Throws:
java.io.IOException
-
initString
public void initString(FactoryBundledWithBinaryReader reader, long stringTableOffset)
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-stringTableOffset- offset of the string table
-
toDataType
public DataType toDataType() throws DuplicateNameException, java.io.IOException
Description copied from interface:StructConverterReturns 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:
toDataTypein interfaceStructConverter- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException- when a datatype of the same name already existsjava.io.IOException- See Also:
StructureDataType
-
getString
public java.lang.String 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()
-
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()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-