-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Executable and Linkable Format (ELF) data structures.
--
-- This package provides Executable and Linkable Format (ELF) data
-- structures.
@package data-elf
@version 0.2
-- | This module provides ELF data structures and (de)serialization
-- routines.
module Data.Elf
-- | File class.
newtype FileClass
FileClass :: Word8 -> FileClass
[unFileClass] :: FileClass -> Word8
-- | Invalid class (ELFCLASSNONE).
invalidFileClass :: FileClass
-- | ELF32 class (ELFCLASS32).
elf32FileClass :: FileClass
-- | ELF64 class (ELFCLASS64).
elf64FileClass :: FileClass
-- | File class type-level index.
class (Typeable c, Typeable (Addr c), Data (Addr c), Typeable (Off c), Data (Off c), Typeable (UnSymIx c), Data (UnSymIx c), Typeable (UnRelType c), Data (UnRelType c), Show (Addr c), Read (Addr c), Show (Off c), Read (Off c), Show (UnSymIx c), Read (UnSymIx c), Show (UnRelType c), Read (UnRelType c), Eq (Addr c), Ord (Addr c), Bounded (Addr c), Enum (Addr c), Num (Addr c), Integral (Addr c), Real (Addr c), Bits (Addr c), FiniteBits (Addr c), Eq (Off c), Ord (Off c), Bounded (Off c), Enum (Off c), Num (Off c), Integral (Off c), Real (Off c), Bits (Off c), FiniteBits (Off c), Eq (UnSymIx c), Ord (UnSymIx c), Bounded (UnSymIx c), Enum (UnSymIx c), Ix (UnSymIx c), Num (UnSymIx c), Integral (UnSymIx c), Real (UnSymIx c), Bits (UnSymIx c), FiniteBits (UnSymIx c), Eq (UnRelType c), Ord (UnRelType c), Bounded (UnRelType c), Enum (UnRelType c), Ix (UnRelType c)) => IsFileClass c where type Addr c type Off c type UnSymIx c type UnRelType c where {
type family Addr c;
type family Off c;
type family UnSymIx c;
type family UnRelType c;
}
fileClass :: IsFileClass c => Proxy c -> FileClass
-- | 32-bit ELF class type-level index.
data Elf32
Elf32 :: Elf32
-- | Elf32 proxy value.
anElf32 :: Proxy Elf32
-- | 64-bit ELF class type-level index.
data Elf64
Elf64 :: Elf64
-- | Elf64 proxy value.
anElf64 :: Proxy Elf64
-- | File type.
newtype FileType
FileType :: Word16 -> FileType
[unFileType] :: FileType -> Word16
-- | No file type (ET_NONE).
noneFileType :: FileType
-- | Relocatable object file (ET_REL).
relFileType :: FileType
-- | Executable file (ET_EXEC).
execFileType :: FileType
-- | Shared object file (ET_DYN).
dynFileType :: FileType
-- | Core file (ET_CORE).
coreFileType :: FileType
-- | First environment-specific type (ET_LOOS).
loOsFileType :: FileType
-- | Last environment-specific type (ET_HIOS).
hiOsFileType :: FileType
-- | First processor-specific type (ET_LOPROC).
loProcFileType :: FileType
-- | Last processor-specific type (ET_HIPROC).
hiProcFileType :: FileType
-- | Machine architecture.
newtype Machine
Machine :: Word16 -> Machine
[unMachine] :: Machine -> Word16
-- | No machine (EM_NONE).
undefMachine :: Machine
-- | Intel 80386 (EM_386).
i386Machine :: Machine
-- | AMD x86-64 (EM_X86_64).
amd64Machine :: Machine
-- | Architecture-specific flags.
newtype MachFlags
MachFlags :: Word32 -> MachFlags
[unMachFlags] :: MachFlags -> Word32
-- | ELF version.
newtype Version
Version :: Word8 -> Version
[unVersion] :: Version -> Word8
-- | Invalid version.
invalidVersion :: Version
-- | Version 1.
firstVersion :: Version
-- | Data encoding.
newtype DataEnc
DataEnc :: Word8 -> DataEnc
[unDataEnc] :: DataEnc -> Word8
-- | Invalid data encoding.
invalidDataEnc :: DataEnc
-- | Little-endian data encoding (ELFDATA2LSB).
lsbDataEnc :: DataEnc
-- | Big-endian data encoding (ELFDATA2MSB).
msbDataEnc :: DataEnc
-- | System ABI.
newtype OsAbi
OsAbi :: Word8 -> OsAbi
[unOsAbi] :: OsAbi -> Word8
-- | System V (ELFOSABI_NONE).
sysvOsAbi :: OsAbi
-- | HP-UX (ELFOSABI_HPUX).
hpuxOsAbi :: OsAbi
-- | NetBSD (ELFOSABI_NETBSD).
netBsdOsAbi :: OsAbi
-- | GNU (ELFOSABI_GNU, ELFOSABI_LINUX).
gnuOsAbi :: OsAbi
-- | Solaris (ELFOSABI_SOLARIS).
solarisOsAbi :: OsAbi
-- | AIX (ELFOSABI_AIX).
aixOsAbi :: OsAbi
-- | IRIX (ELFOSABI_IRIX).
irixOsAbi :: OsAbi
-- | FreeBSD (ELFOSABI_FREEBSD).
freeBsdOsAbi :: OsAbi
-- | Tru64 UNIX (ELFOSABI_TRU64).
tru64OsAbi :: OsAbi
-- | Novell Modesto (ELFOSABI_MODESTO).
modestoOsAbi :: OsAbi
-- | OpenBSD (ELFOSABI_OPENBSD).
openBsdOsAbi :: OsAbi
-- | OpenVMS (ELFOSABI_OPENVMS).
openVmsOsAbi :: OsAbi
-- | Hewlett-Packard Non-Stop Kernel (ELFOSABI_NSK).
nskOsAbi :: OsAbi
-- | Amiga Research OS (ELFOSABI_AROS).
arosOsAbi :: OsAbi
-- | FenixOS (ELFOSABI_FENIXOS).
fenixOsAbi :: OsAbi
-- | Standalone (embedded) application.
embedOsAbi :: OsAbi
-- | ABI version.
newtype AbiVer
AbiVer :: Word8 -> AbiVer
[unAbiVer] :: AbiVer -> Word8
-- | Undefined ABI version.
undefAbiVer :: AbiVer
-- | Identification.
data Ident
Ident :: FileClass -> Version -> DataEnc -> OsAbi -> AbiVer -> Ident
[idClass] :: Ident -> FileClass
[idVersion] :: Ident -> Version
[idDataEnc] :: Ident -> DataEnc
[idOsAbi] :: Ident -> OsAbi
[idAbiVer] :: Ident -> AbiVer
-- | Ident proxy value.
anIdent :: Proxy Ident
-- | File header.
data FileHdr c
FileHdr :: FileType -> Machine -> Addr c -> MachFlags -> Off c -> Word16 -> Off c -> Word16 -> SecIx -> FileHdr c
[fhType] :: FileHdr c -> FileType
[fhMachine] :: FileHdr c -> Machine
[fhEntry] :: FileHdr c -> Addr c
[fhFlags] :: FileHdr c -> MachFlags
[fhPhOff] :: FileHdr c -> Off c
[fhPhNum] :: FileHdr c -> Word16
[fhShOff] :: FileHdr c -> Off c
[fhShNum] :: FileHdr c -> Word16
[fhSnStIx] :: FileHdr c -> SecIx
-- | ELF32 file header.
type FileHdr32 = FileHdr Elf32
-- | FileHdr32 proxy value.
aFileHdr32 :: Proxy FileHdr32
-- | ELF64 file header.
type FileHdr64 = FileHdr Elf64
-- | FileHdr64 proxy value.
aFileHdr64 :: Proxy FileHdr64
-- | Segment type.
newtype SegType
SegType :: Word32 -> SegType
[unSegType] :: SegType -> Word32
-- | Unused program header entry (PT_NULL).
unusedSegType :: SegType
-- | Loadable segment (PT_LOAD).
loadSegType :: SegType
-- | Dynamic linking tables (PT_DYNAMIC).
dynSegType :: SegType
-- | Program interpreter path name (PT_INTERP).
interpSegType :: SegType
-- | Note sections (PT_NOTE).
noteSegType :: SegType
-- | A reserved segment type (PT_SHLIB).
shlibSegType :: SegType
-- | Program header table (PT_PHDR).
phdrSegType :: SegType
-- | First environment-specific segment type (PT_LOOS).
loOsSegType :: SegType
-- | Last environment-specific segment type (PT_HIOS).
hiOsSegType :: SegType
-- | First processor-specific segment type (PT_LOPROC).
loProcSegType :: SegType
-- | Last processor-specific segment type (PT_HIPROC).
hiProcSegType :: SegType
-- | Segment flags.
newtype SegFlags
SegFlags :: Word32 -> SegFlags
[unSegFlags] :: SegFlags -> Word32
-- | Execute permission (PF_X).
execSegFlag :: SegFlags
-- | Write permission (PF_W).
writeSegFlag :: SegFlags
-- | Read permission (PF_R).
readSegFlag :: SegFlags
-- | Environment-specific flags mask (PF_MASKOS).
osSegFlags :: SegFlags
-- | Processor-specific flags mask (PF_MASKPROC).
procSegFlags :: SegFlags
-- | Program header table entry.
data ProgHdr c
ProgHdr :: SegType -> SegFlags -> Off c -> Addr c -> Addr c -> Off c -> Addr c -> Addr c -> ProgHdr c
[phType] :: ProgHdr c -> SegType
[phFlags] :: ProgHdr c -> SegFlags
[phOff] :: ProgHdr c -> Off c
[phVirtAddr] :: ProgHdr c -> Addr c
[phPhysAddr] :: ProgHdr c -> Addr c
[phFileSize] :: ProgHdr c -> Off c
[phMemSize] :: ProgHdr c -> Addr c
[phAlign] :: ProgHdr c -> Addr c
-- | ELF32 program header table entry.
type ProgHdr32 = ProgHdr Elf32
-- | ProgHdr32 proxy value.
aProgHdr32 :: Proxy ProgHdr32
-- | ELF64 program header table entry.
type ProgHdr64 = ProgHdr Elf64
-- | ProgHdr64 proxy value.
aProgHdr64 :: Proxy ProgHdr64
-- | String table index.
type StrIx = Word32
-- | Section header entry index.
newtype SecIx
SecIx :: Word16 -> SecIx
[unSecIx] :: SecIx -> Word16
-- | Undefined section reference (SHN_UNDEF).
undefSecIx :: SecIx
-- | Last regular section index.
lastSecIx :: SecIx
-- | First environment-specific section index (SHN_LOOS).
loOsSecIx :: SecIx
-- | Last environment-specific section index (SHN_HIOS).
hiOsSecIx :: SecIx
-- | First processor-specific section index (SHN_LOPROC).
loProcSecIx :: SecIx
-- | Last processor-specific section index (SHN_HIPROC).
hiProcSecIx :: SecIx
-- | Absolute value indicator (SHN_ABS).
absSecIx :: SecIx
-- | Common block indicator (SHN_COMMON).
commonSecIx :: SecIx
-- | Escape value (SHN_XINDEX).
xIndexSecIx :: SecIx
-- | Section type.
newtype SecType
SecType :: Word32 -> SecType
[unSecType] :: SecType -> Word32
-- | Unused section (SHT_NULL).
unusedSecType :: SecType
-- | Program information (SHT_PROGBITS).
progBitsSecType :: SecType
-- | Symbol table (SHT_SYMTAB).
symSecType :: SecType
-- | String table (SHT_STRTAB).
strSecType :: SecType
-- | Relocation entries (SHT_RELA).
relaSecType :: SecType
-- | Symbol hash table (SHT_HASH).
hashSecType :: SecType
-- | Dynamic linking table (SHT_DYNAMIC).
dynSecType :: SecType
-- | Note information (SHT_NOTE).
noteSecType :: SecType
-- | Uninitialized space (SHT_NOBITS).
noBitsSecType :: SecType
-- | Relocation entries (SHT_REL).
relSecType :: SecType
-- | A reserved section type (SHT_SHLIB).
shlibSecType :: SecType
-- | Dynamic loader symbol table (SHT_DYNSYM).
dynSymSecType :: SecType
-- | First environment-specific section type (SHT_LOOS).
loOsSecType :: SecType
-- | Last environment-specific section type (SHT_HIOS).
hiOsSecType :: SecType
-- | First processor-specific section type (SHT_LOPROC).
loProcSecType :: SecType
-- | Last processor-specific section type (SHT_HIPROC).
hiProcSecType :: SecType
-- | Section flags.
newtype SecFlags
SecFlags :: Word32 -> SecFlags
[unSecFlags] :: SecFlags -> Word32
-- | Writable data (SHF_WRITE).
writeSecFlag :: SecFlags
-- | Allocated data (SHF_ALLOC).
allocSecFlag :: SecFlags
-- | Executable instructions (SHF_EXECINSTR).
execSecFlag :: SecFlags
-- | Mergeable data (SHF_MERGE).
mergeSecFlag :: SecFlags
-- | Flag that indicates that shInfo is a section header table
-- index. (SHF_INFO_LINK)
infoLinkSecFlag :: SecFlags
-- | Environment-specific flags mask (SHF_MASKOS).
osSecFlags :: SecFlags
-- | Processor-specific flags mask (SHF_MASKOS).
procSecFlags :: SecFlags
-- | Section header table entry.
data SecHdr c
SecHdr :: StrIx -> SecType -> SecFlags -> Addr c -> Off c -> Addr c -> Word32 -> Word32 -> Addr c -> Addr c -> SecHdr c
[shName] :: SecHdr c -> StrIx
[shType] :: SecHdr c -> SecType
[shFlags] :: SecHdr c -> SecFlags
[shAddr] :: SecHdr c -> Addr c
[shOff] :: SecHdr c -> Off c
[shSize] :: SecHdr c -> Addr c
[shLink] :: SecHdr c -> Word32
[shInfo] :: SecHdr c -> Word32
[shAlign] :: SecHdr c -> Addr c
[shEntSize] :: SecHdr c -> Addr c
-- | ELF32 section header table entry.
type SecHdr32 = SecHdr Elf32
-- | SecHdr32 proxy value.
aSecHdr32 :: Proxy SecHdr32
-- | ELF64 section header table entry.
type SecHdr64 = SecHdr Elf64
-- | SecHdr64 proxy value.
aSecHdr64 :: Proxy SecHdr64
-- | Section header filled with zeros.
zeroSecHdr :: IsFileClass c => SecHdr c
-- | Symbol type.
newtype SymType
SymType :: Word4 -> SymType
[unSymType] :: SymType -> Word4
-- | Undefined symbol type (STT_NOTYPE).
undefSymType :: SymType
-- | Object (STT_OBJECT).
objSymType :: SymType
-- | Function (STT_FUNC).
funSymType :: SymType
-- | Section (STT_SECTION).
secSymType :: SymType
-- | Source file name (STT_FILE).
fileSymType :: SymType
-- | Common block label (STT_COMMON).
commonSymType :: SymType
-- | Thread-local storage (STT_TLS).
tlsSymType :: SymType
-- | First environment-specific symbol type (STT_LOOS).
loOsSymType :: SymType
-- | Last environment-specific symbol type (STT_HIOS).
hiOsSymType :: SymType
-- | First processor-specific symbol type (STT_LOPROC).
loProcSymType :: SymType
-- | Last processor-specific symbol type (STT_HIPROC).
hiProcSymType :: SymType
-- | Symbol binding type.
newtype SymBind
SymBind :: Word4 -> SymBind
[unSymBind] :: SymBind -> Word4
-- | Local symbol (STB_LOCAL).
localSymBind :: SymBind
-- | Global symbol (STB_GLOBAL).
globalSymBind :: SymBind
-- | Lower precedence global symbol (STB_WEAK).
weakSymBind :: SymBind
-- | First environment-specific symbol binding type (STB_LOOS).
loOsSymBind :: SymBind
-- | Last environment-specific symbol binding type (STB_HIOS).
hiOsSymBind :: SymBind
-- | First processor-specific symbol binding type (STB_LOPROC).
loProcSymBind :: SymBind
-- | Last processor-specific symbol binding type (STB_HIPROC).
hiProcSymBind :: SymBind
-- | Symbol visibility.
newtype SymVisi
SymVisi :: Word4 -> SymVisi
[unSymVisi] :: SymVisi -> Word4
-- | Default symbol visibility (specified by the binding type;
-- STV_DEFAULT).
defSymVisi :: SymVisi
-- | Internal symbol visibility (processor-specific hidden type;
-- STV_INTERNAL).
intSymVisi :: SymVisi
-- | Hidden symbol (STV_HIDDEN).
hiddenSymVisi :: SymVisi
-- | Protected symbol (STV_PROTECTED).
protSymVisi :: SymVisi
-- | Global symbol (STV_EXPORTED).
exportSymVisi :: SymVisi
-- | Global singleton symbol (STV_SINGLETON).
singSymVisi :: SymVisi
-- | Extra hidden symbol (STV_ELIMINATE).
elimSymVisi :: SymVisi
-- | Symbol table index.
newtype SymIx c
SymIx :: UnSymIx c -> SymIx c
[unSymIx] :: SymIx c -> UnSymIx c
-- | Undefined symbol table index.
undefSymIx :: IsFileClass c => SymIx c
-- | Symbol table entry.
data SymEnt c
SymEnt :: StrIx -> SymBind -> SymType -> SymVisi -> SecIx -> Addr c -> Addr c -> SymEnt c
[symName] :: SymEnt c -> StrIx
[symBind] :: SymEnt c -> SymBind
[symType] :: SymEnt c -> SymType
[symVisi] :: SymEnt c -> SymVisi
[symSecIx] :: SymEnt c -> SecIx
[symAddr] :: SymEnt c -> Addr c
[symSize] :: SymEnt c -> Addr c
-- | ELF32 symbol table entry.
type SymEnt32 = SymEnt Elf32
-- | SymEnt32 proxy value.
aSymEnt32 :: Proxy SymEnt32
-- | ELF64 symbol table entry.
type SymEnt64 = SymEnt Elf64
-- | SymEnt64 proxy value.
aSymEnt64 :: Proxy SymEnt64
-- | Symbol table entry filled with zeros.
zeroSymEnt :: IsFileClass c => SymEnt c
-- | Relocation type.
newtype RelType c
RelType :: UnRelType c -> RelType c
[unRelType] :: RelType c -> UnRelType c
-- | ELF32 relocation type.
type RelType32 = RelType Elf32
-- | ELF64 relocation type.
type RelType64 = RelType Elf64
-- | Relocation table entry (REL).
data RelEnt c
RelEnt :: Addr c -> SymIx c -> RelType c -> RelEnt c
[relOff] :: RelEnt c -> Addr c
[relSymIx] :: RelEnt c -> SymIx c
[relType] :: RelEnt c -> RelType c
-- | ELF32 relocation table entry (REL).
type RelEnt32 = RelEnt Elf32
-- | RelEnt32 proxy value.
aRelEnt32 :: Proxy RelEnt32
-- | ELF64 relocation table entry (REL).
type RelEnt64 = RelEnt Elf64
-- | RelEnt64 proxy value.
aRelEnt64 :: Proxy RelEnt64
-- | Relocation table entry (RELA).
data RelaEnt c
RelaEnt :: Addr c -> SymIx c -> RelType c -> Addr c -> RelaEnt c
[relaOff] :: RelaEnt c -> Addr c
[relaSymIx] :: RelaEnt c -> SymIx c
[relaType] :: RelaEnt c -> RelType c
[relaAddend] :: RelaEnt c -> Addr c
-- | ELF32 relocation table entry (RELA).
type RelaEnt32 = RelaEnt Elf32
-- | RelaEnt32 proxy value.
aRelaEnt32 :: Proxy RelaEnt32
-- | ELF64 relocation table entry (RELA).
type RelaEnt64 = RelaEnt Elf64
-- | RelaEnt64 proxy value.
aRelaEnt64 :: Proxy RelaEnt64
instance GHC.Arr.Ix Data.Elf.SymVisi
instance GHC.Enum.Enum Data.Elf.SymVisi
instance GHC.Enum.Bounded Data.Elf.SymVisi
instance GHC.Classes.Ord Data.Elf.SymVisi
instance GHC.Classes.Eq Data.Elf.SymVisi
instance GHC.Read.Read Data.Elf.SymVisi
instance GHC.Show.Show Data.Elf.SymVisi
instance Data.Data.Data Data.Elf.SymVisi
instance GHC.Arr.Ix Data.Elf.SymBind
instance GHC.Enum.Enum Data.Elf.SymBind
instance GHC.Enum.Bounded Data.Elf.SymBind
instance GHC.Classes.Ord Data.Elf.SymBind
instance GHC.Classes.Eq Data.Elf.SymBind
instance GHC.Read.Read Data.Elf.SymBind
instance GHC.Show.Show Data.Elf.SymBind
instance Data.Data.Data Data.Elf.SymBind
instance GHC.Arr.Ix Data.Elf.SymType
instance GHC.Enum.Enum Data.Elf.SymType
instance GHC.Enum.Bounded Data.Elf.SymType
instance GHC.Classes.Ord Data.Elf.SymType
instance GHC.Classes.Eq Data.Elf.SymType
instance GHC.Read.Read Data.Elf.SymType
instance GHC.Show.Show Data.Elf.SymType
instance Data.Data.Data Data.Elf.SymType
instance Data.Flags.Base.BoundedFlags Data.Elf.SecFlags
instance Data.Flags.Base.Flags Data.Elf.SecFlags
instance GHC.Classes.Eq Data.Elf.SecFlags
instance GHC.Read.Read Data.Elf.SecFlags
instance GHC.Show.Show Data.Elf.SecFlags
instance Data.Data.Data Data.Elf.SecFlags
instance GHC.Arr.Ix Data.Elf.SecType
instance GHC.Enum.Enum Data.Elf.SecType
instance GHC.Enum.Bounded Data.Elf.SecType
instance GHC.Classes.Ord Data.Elf.SecType
instance GHC.Classes.Eq Data.Elf.SecType
instance GHC.Read.Read Data.Elf.SecType
instance GHC.Show.Show Data.Elf.SecType
instance Data.Data.Data Data.Elf.SecType
instance GHC.Real.Real Data.Elf.SecIx
instance GHC.Real.Integral Data.Elf.SecIx
instance Data.Bits.FiniteBits Data.Elf.SecIx
instance Data.Bits.Bits Data.Elf.SecIx
instance GHC.Num.Num Data.Elf.SecIx
instance GHC.Arr.Ix Data.Elf.SecIx
instance GHC.Enum.Enum Data.Elf.SecIx
instance GHC.Enum.Bounded Data.Elf.SecIx
instance GHC.Classes.Ord Data.Elf.SecIx
instance GHC.Classes.Eq Data.Elf.SecIx
instance GHC.Read.Read Data.Elf.SecIx
instance GHC.Show.Show Data.Elf.SecIx
instance Data.Data.Data Data.Elf.SecIx
instance Data.Flags.Base.BoundedFlags Data.Elf.SegFlags
instance Data.Flags.Base.Flags Data.Elf.SegFlags
instance GHC.Classes.Eq Data.Elf.SegFlags
instance GHC.Read.Read Data.Elf.SegFlags
instance GHC.Show.Show Data.Elf.SegFlags
instance Data.Data.Data Data.Elf.SegFlags
instance GHC.Arr.Ix Data.Elf.SegType
instance GHC.Enum.Enum Data.Elf.SegType
instance GHC.Enum.Bounded Data.Elf.SegType
instance GHC.Classes.Ord Data.Elf.SegType
instance GHC.Classes.Eq Data.Elf.SegType
instance GHC.Read.Read Data.Elf.SegType
instance GHC.Show.Show Data.Elf.SegType
instance Data.Data.Data Data.Elf.SegType
instance GHC.Classes.Eq Data.Elf.Ident
instance GHC.Read.Read Data.Elf.Ident
instance GHC.Show.Show Data.Elf.Ident
instance Data.Data.Data Data.Elf.Ident
instance GHC.Arr.Ix Data.Elf.AbiVer
instance GHC.Enum.Enum Data.Elf.AbiVer
instance GHC.Enum.Bounded Data.Elf.AbiVer
instance GHC.Classes.Ord Data.Elf.AbiVer
instance GHC.Classes.Eq Data.Elf.AbiVer
instance GHC.Read.Read Data.Elf.AbiVer
instance GHC.Show.Show Data.Elf.AbiVer
instance Data.Data.Data Data.Elf.AbiVer
instance GHC.Arr.Ix Data.Elf.OsAbi
instance GHC.Enum.Enum Data.Elf.OsAbi
instance GHC.Enum.Bounded Data.Elf.OsAbi
instance GHC.Classes.Ord Data.Elf.OsAbi
instance GHC.Classes.Eq Data.Elf.OsAbi
instance GHC.Read.Read Data.Elf.OsAbi
instance GHC.Show.Show Data.Elf.OsAbi
instance Data.Data.Data Data.Elf.OsAbi
instance GHC.Arr.Ix Data.Elf.DataEnc
instance GHC.Enum.Enum Data.Elf.DataEnc
instance GHC.Enum.Bounded Data.Elf.DataEnc
instance GHC.Classes.Ord Data.Elf.DataEnc
instance GHC.Classes.Eq Data.Elf.DataEnc
instance GHC.Read.Read Data.Elf.DataEnc
instance GHC.Show.Show Data.Elf.DataEnc
instance Data.Data.Data Data.Elf.DataEnc
instance GHC.Arr.Ix Data.Elf.Version
instance GHC.Enum.Enum Data.Elf.Version
instance GHC.Enum.Bounded Data.Elf.Version
instance GHC.Classes.Ord Data.Elf.Version
instance GHC.Classes.Eq Data.Elf.Version
instance GHC.Read.Read Data.Elf.Version
instance GHC.Show.Show Data.Elf.Version
instance Data.Data.Data Data.Elf.Version
instance Data.Flags.Base.BoundedFlags Data.Elf.MachFlags
instance Data.Flags.Base.Flags Data.Elf.MachFlags
instance GHC.Classes.Eq Data.Elf.MachFlags
instance GHC.Read.Read Data.Elf.MachFlags
instance GHC.Show.Show Data.Elf.MachFlags
instance Data.Data.Data Data.Elf.MachFlags
instance GHC.Arr.Ix Data.Elf.Machine
instance GHC.Enum.Enum Data.Elf.Machine
instance GHC.Enum.Bounded Data.Elf.Machine
instance GHC.Classes.Ord Data.Elf.Machine
instance GHC.Classes.Eq Data.Elf.Machine
instance GHC.Read.Read Data.Elf.Machine
instance GHC.Show.Show Data.Elf.Machine
instance Data.Data.Data Data.Elf.Machine
instance GHC.Arr.Ix Data.Elf.FileType
instance GHC.Enum.Enum Data.Elf.FileType
instance GHC.Enum.Bounded Data.Elf.FileType
instance GHC.Classes.Ord Data.Elf.FileType
instance GHC.Classes.Eq Data.Elf.FileType
instance GHC.Read.Read Data.Elf.FileType
instance GHC.Show.Show Data.Elf.FileType
instance Data.Data.Data Data.Elf.FileType
instance Data.Data.Data Data.Elf.Elf64
instance Data.Data.Data Data.Elf.Elf32
instance GHC.Arr.Ix Data.Elf.FileClass
instance GHC.Enum.Enum Data.Elf.FileClass
instance GHC.Enum.Bounded Data.Elf.FileClass
instance GHC.Classes.Ord Data.Elf.FileClass
instance GHC.Classes.Eq Data.Elf.FileClass
instance GHC.Read.Read Data.Elf.FileClass
instance GHC.Show.Show Data.Elf.FileClass
instance Data.Data.Data Data.Elf.FileClass
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.FileHdr c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.FileHdr c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.FileHdr c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.FileHdr c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.ProgHdr c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.ProgHdr c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.ProgHdr c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.ProgHdr c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.SecHdr c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.SecHdr c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.SecHdr c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.SecHdr c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Classes.Ord (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Enum.Bounded (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Enum.Enum (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Arr.Ix (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Num.Num (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => Data.Bits.Bits (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => Data.Bits.FiniteBits (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Real.Integral (Data.Elf.SymIx c)
instance Data.Elf.IsFileClass c => GHC.Real.Real (Data.Elf.SymIx c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.SymEnt c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.SymEnt c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.SymEnt c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.SymEnt c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Classes.Ord (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Enum.Bounded (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Enum.Enum (Data.Elf.RelType c)
instance Data.Elf.IsFileClass c => GHC.Arr.Ix (Data.Elf.RelType c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.RelEnt c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.RelEnt c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.RelEnt c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.RelEnt c)
instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.RelaEnt c)
instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.RelaEnt c)
instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.RelaEnt c)
instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.RelaEnt c)
instance Data.Elf.IsFileClass Data.Elf.Elf32
instance Data.Elf.IsFileClass Data.Elf.Elf64
instance Data.Serializer.Serializable Data.Elf.Ident
instance Data.Serializer.SizedSerializable Data.Elf.Ident
instance Data.Deserializer.Deserializable Data.Elf.Ident
instance Data.Serializer.Serializable Data.Elf.FileHdr32
instance Data.Serializer.SizedSerializable Data.Elf.FileHdr32
instance Data.Deserializer.Deserializable Data.Elf.FileHdr32
instance Data.Serializer.Serializable Data.Elf.FileHdr64
instance Data.Serializer.SizedSerializable Data.Elf.FileHdr64
instance Data.Deserializer.Deserializable Data.Elf.FileHdr64
instance Data.Serializer.Serializable Data.Elf.ProgHdr32
instance Data.Serializer.SizedSerializable Data.Elf.ProgHdr32
instance Data.Deserializer.Deserializable Data.Elf.ProgHdr32
instance Data.Serializer.Serializable Data.Elf.ProgHdr64
instance Data.Serializer.SizedSerializable Data.Elf.ProgHdr64
instance Data.Deserializer.Deserializable Data.Elf.ProgHdr64
instance Data.Serializer.Serializable Data.Elf.SecHdr32
instance Data.Serializer.SizedSerializable Data.Elf.SecHdr32
instance Data.Deserializer.Deserializable Data.Elf.SecHdr32
instance Data.Serializer.Serializable Data.Elf.SecHdr64
instance Data.Serializer.SizedSerializable Data.Elf.SecHdr64
instance Data.Deserializer.Deserializable Data.Elf.SecHdr64
instance Data.Serializer.Serializable Data.Elf.SymEnt32
instance Data.Serializer.SizedSerializable Data.Elf.SymEnt32
instance Data.Deserializer.Deserializable Data.Elf.SymEnt32
instance Data.Serializer.Serializable Data.Elf.SymEnt64
instance Data.Serializer.SizedSerializable Data.Elf.SymEnt64
instance Data.Deserializer.Deserializable Data.Elf.SymEnt64
instance Data.Serializer.Serializable Data.Elf.RelEnt32
instance Data.Serializer.SizedSerializable Data.Elf.RelEnt32
instance Data.Deserializer.Deserializable Data.Elf.RelEnt32
instance Data.Serializer.Serializable Data.Elf.RelEnt64
instance Data.Serializer.SizedSerializable Data.Elf.RelEnt64
instance Data.Deserializer.Deserializable Data.Elf.RelEnt64
instance Data.Serializer.Serializable Data.Elf.RelaEnt32
instance Data.Serializer.SizedSerializable Data.Elf.RelaEnt32
instance Data.Deserializer.Deserializable Data.Elf.RelaEnt32
instance Data.Serializer.Serializable Data.Elf.RelaEnt64
instance Data.Serializer.SizedSerializable Data.Elf.RelaEnt64
instance Data.Deserializer.Deserializable Data.Elf.RelaEnt64