melf-1.0.1: An Elf parser
Copyright(c) Aleksey Makarov 2021
LicenseBSD 3-Clause License
Maintaineraleksey.makarov@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Endian

Description

Newtypes for little- and big-endian instances of Binary

Synopsis

Documentation

newtype Be a Source #

Be a is an instance of Binary such that a is serialized as big-endian

Constructors

Be 

Fields

Instances

Instances details
Eq a => Eq (Be a) Source # 
Instance details

Defined in Data.Endian

Methods

(==) :: Be a -> Be a -> Bool #

(/=) :: Be a -> Be a -> Bool #

Binary (Be Word16) Source # 
Instance details

Defined in Data.Endian

Methods

put :: Be Word16 -> Put #

get :: Get (Be Word16) #

putList :: [Be Word16] -> Put #

Binary (Be Word32) Source # 
Instance details

Defined in Data.Endian

Methods

put :: Be Word32 -> Put #

get :: Get (Be Word32) #

putList :: [Be Word32] -> Put #

Binary (Be Word64) Source # 
Instance details

Defined in Data.Endian

Methods

put :: Be Word64 -> Put #

get :: Get (Be Word64) #

putList :: [Be Word64] -> Put #

Binary (Be ElfType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfType -> Put #

get :: Get (Be ElfType) #

putList :: [Be ElfType] -> Put #

Binary (Be ElfMachine) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSegmentType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSegmentFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionIndex) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfRelocationType_AARCH64) Source # 
Instance details

Defined in Data.Elf.Constants.Data

SingI a => Binary (Be (RelaXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (RelaXX a) -> Put #

get :: Get (Be (RelaXX a)) #

putList :: [Be (RelaXX a)] -> Put #

SingI a => Binary (Be (SymbolXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (SymbolXX a) -> Put #

get :: Get (Be (SymbolXX a)) #

putList :: [Be (SymbolXX a)] -> Put #

SingI a => Binary (Be (SegmentXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (SegmentXX a) -> Put #

get :: Get (Be (SegmentXX a)) #

putList :: [Be (SegmentXX a)] -> Put #

SingI a => Binary (Be (SectionXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (SectionXX a) -> Put #

get :: Get (Be (SectionXX a)) #

putList :: [Be (SectionXX a)] -> Put #

newtype Le a Source #

Le a is an instance of Binary such that a is serialized as little-endian

Constructors

Le 

Fields

Instances

Instances details
Eq a => Eq (Le a) Source # 
Instance details

Defined in Data.Endian

Methods

(==) :: Le a -> Le a -> Bool #

(/=) :: Le a -> Le a -> Bool #

Binary (Le Word16) Source # 
Instance details

Defined in Data.Endian

Methods

put :: Le Word16 -> Put #

get :: Get (Le Word16) #

putList :: [Le Word16] -> Put #

Binary (Le Word32) Source # 
Instance details

Defined in Data.Endian

Methods

put :: Le Word32 -> Put #

get :: Get (Le Word32) #

putList :: [Le Word32] -> Put #

Binary (Le Word64) Source # 
Instance details

Defined in Data.Endian

Methods

put :: Le Word64 -> Put #

get :: Get (Le Word64) #

putList :: [Le Word64] -> Put #

Binary (Le ElfType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfType -> Put #

get :: Get (Le ElfType) #

putList :: [Le ElfType] -> Put #

Binary (Le ElfMachine) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSegmentType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSegmentFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionIndex) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfRelocationType_AARCH64) Source # 
Instance details

Defined in Data.Elf.Constants.Data

SingI a => Binary (Le (RelaXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (RelaXX a) -> Put #

get :: Get (Le (RelaXX a)) #

putList :: [Le (RelaXX a)] -> Put #

SingI a => Binary (Le (SymbolXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (SymbolXX a) -> Put #

get :: Get (Le (SymbolXX a)) #

putList :: [Le (SymbolXX a)] -> Put #

SingI a => Binary (Le (SegmentXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (SegmentXX a) -> Put #

get :: Get (Le (SegmentXX a)) #

putList :: [Le (SegmentXX a)] -> Put #

SingI a => Binary (Le (SectionXX a)) Source # 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (SectionXX a) -> Put #

get :: Get (Le (SectionXX a)) #

putList :: [Le (SectionXX a)] -> Put #