Package ghidra.app.util.bin.format.omf
Class OmfRecord
java.lang.Object
ghidra.app.util.bin.format.omf.OmfRecord
- Direct Known Subclasses:
OmfCommentRecord
,OmfData
,OmfExternalSymbol
,OmfFileHeader
,OmfFixupRecord
,OmfGroupRecord
,OmfLibraryRecord
,OmfModuleEnd
,OmfNamesRecord
,OmfObsoleteRecord
,OmfSegmentHeader
,OmfSymbolRecord
,OmfUnknownRecord
,OmfUnsupportedRecord
-
Field Summary
Modifier and TypeFieldDescriptionstatic final byte
static final byte
static final byte
static final byte
static final byte
protected byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
protected int
protected long
protected byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbyte
calcCheckSum
(BinaryReader reader) int
static final String
getRecordName
(int type) Gets the name of the given record typelong
byte
boolean
void
readCheckSumByte
(BinaryReader reader) static int
readIndex
(BinaryReader reader) static int
readInt1Or2
(BinaryReader reader, boolean isBig) static int
readInt2Or4
(BinaryReader reader, boolean isBig) static OmfRecord
readRecord
(BinaryReader reader) void
readRecordHeader
(BinaryReader reader) static String
readString
(BinaryReader reader) Read the OMF string format: 1-byte length, followed by that many ascii characterstoString()
boolean
validCheckSum
(BinaryReader reader)
-
Field Details
-
RHEADR
public static final byte RHEADR- See Also:
-
REGINT
public static final byte REGINT- See Also:
-
REDATA
public static final byte REDATA- See Also:
-
RIDATA
public static final byte RIDATA- See Also:
-
OVLDEF
public static final byte OVLDEF- See Also:
-
ENDREC
public static final byte ENDREC- See Also:
-
BLKDEF
public static final byte BLKDEF- See Also:
-
BLKEND
public static final byte BLKEND- See Also:
-
DEBSYM
public static final byte DEBSYM- See Also:
-
THEADR
public static final byte THEADR- See Also:
-
LHEADR
public static final byte LHEADR- See Also:
-
PEDATA
public static final byte PEDATA- See Also:
-
PIDATA
public static final byte PIDATA- See Also:
-
COMENT
public static final byte COMENT- See Also:
-
MODEND
public static final byte MODEND- See Also:
-
EXTDEF
public static final byte EXTDEF- See Also:
-
TYPDEF
public static final byte TYPDEF- See Also:
-
PUBDEF
public static final byte PUBDEF- See Also:
-
LOCSYM
public static final byte LOCSYM- See Also:
-
LINNUM
public static final byte LINNUM- See Also:
-
LNAMES
public static final byte LNAMES- See Also:
-
SEGDEF
public static final byte SEGDEF- See Also:
-
GRPDEF
public static final byte GRPDEF- See Also:
-
FIXUPP
public static final byte FIXUPP- See Also:
-
LEDATA
public static final byte LEDATA- See Also:
-
LIDATA
public static final byte LIDATA- See Also:
-
LIBHED
public static final byte LIBHED- See Also:
-
LIBNAM
public static final byte LIBNAM- See Also:
-
LIBLOC
public static final byte LIBLOC- See Also:
-
LIBDIC
public static final byte LIBDIC- See Also:
-
COMDEF
public static final byte COMDEF- See Also:
-
BAKPAT
public static final byte BAKPAT- See Also:
-
LEXTDEF
public static final byte LEXTDEF- See Also:
-
LPUBDEF
public static final byte LPUBDEF- See Also:
-
LCOMDEF
public static final byte LCOMDEF- See Also:
-
CEXTDEF
public static final byte CEXTDEF- See Also:
-
COMDAT
public static final byte COMDAT- See Also:
-
LINSYM
public static final byte LINSYM- See Also:
-
ALIAS
public static final byte ALIAS- See Also:
-
NBKPAT
public static final byte NBKPAT- See Also:
-
LLNAMES
public static final byte LLNAMES- See Also:
-
VERNUM
public static final byte VERNUM- See Also:
-
VENDEXT
public static final byte VENDEXT- See Also:
-
START
public static final byte START- See Also:
-
END
public static final byte END- See Also:
-
recordType
protected byte recordType -
recordLength
protected int recordLength -
recordOffset
protected long recordOffset -
checkSum
protected byte checkSum
-
-
Constructor Details
-
OmfRecord
public OmfRecord()
-
-
Method Details
-
getRecordType
public byte getRecordType() -
getRecordLength
public int getRecordLength() -
getRecordOffset
public long getRecordOffset() -
readRecordHeader
- Throws:
IOException
-
readCheckSumByte
- Throws:
IOException
-
calcCheckSum
- Throws:
IOException
-
validCheckSum
- Throws:
IOException
-
hasBigFields
public boolean hasBigFields() -
readInt1Or2
- Throws:
IOException
-
readInt2Or4
- Throws:
IOException
-
readIndex
- Throws:
IOException
-
readRecord
- Throws:
IOException
OmfException
-
readString
Read the OMF string format: 1-byte length, followed by that many ascii characters- Parameters:
reader
- ABinaryReader
positioned at the start of the string- Returns:
- the read OMF string
- Throws:
IOException
- if an IO-related error occurred
-
getRecordName
Gets the name of the given record type- Parameters:
type
- The record type- Returns:
- The name of the given record type
-
toString
-