melf-1.3.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
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 ElfMachine) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfMachine -> Put

get :: Get (Be ElfMachine)

putList :: [Be ElfMachine] -> Put

Binary (Be ElfRelocationType_AARCH64) 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionFlag) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfSectionFlag -> Put

get :: Get (Be ElfSectionFlag)

putList :: [Be ElfSectionFlag] -> Put

Binary (Be ElfSectionIndex) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfSectionIndex -> Put

get :: Get (Be ElfSectionIndex)

putList :: [Be ElfSectionIndex] -> Put

Binary (Be ElfSectionType) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfSectionType -> Put

get :: Get (Be ElfSectionType)

putList :: [Be ElfSectionType] -> Put

Binary (Be ElfSegmentFlag) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfSegmentFlag -> Put

get :: Get (Be ElfSegmentFlag)

putList :: [Be ElfSegmentFlag] -> Put

Binary (Be ElfSegmentType) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfSegmentType -> Put

get :: Get (Be ElfSegmentType)

putList :: [Be ElfSegmentType] -> Put

Binary (Be ElfType) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfType -> Put

get :: Get (Be ElfType)

putList :: [Be ElfType] -> Put

SingElfClassI a => Binary (Be (RelaXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (RelaXX a) -> Put

get :: Get (Be (RelaXX a))

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

SingElfClassI a => Binary (Be (SectionXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (SectionXX a) -> Put

get :: Get (Be (SectionXX a))

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

SingElfClassI a => Binary (Be (SegmentXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (SegmentXX a) -> Put

get :: Get (Be (SegmentXX a))

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

SingElfClassI a => Binary (Be (SymbolXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Be (SymbolXX a) -> Put

get :: Get (Be (SymbolXX a))

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

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

Defined in Data.Endian

Methods

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

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

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
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 ElfMachine) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfMachine -> Put

get :: Get (Le ElfMachine)

putList :: [Le ElfMachine] -> Put

Binary (Le ElfRelocationType_AARCH64) 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionFlag) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfSectionFlag -> Put

get :: Get (Le ElfSectionFlag)

putList :: [Le ElfSectionFlag] -> Put

Binary (Le ElfSectionIndex) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfSectionIndex -> Put

get :: Get (Le ElfSectionIndex)

putList :: [Le ElfSectionIndex] -> Put

Binary (Le ElfSectionType) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfSectionType -> Put

get :: Get (Le ElfSectionType)

putList :: [Le ElfSectionType] -> Put

Binary (Le ElfSegmentFlag) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfSegmentFlag -> Put

get :: Get (Le ElfSegmentFlag)

putList :: [Le ElfSegmentFlag] -> Put

Binary (Le ElfSegmentType) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfSegmentType -> Put

get :: Get (Le ElfSegmentType)

putList :: [Le ElfSegmentType] -> Put

Binary (Le ElfType) 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfType -> Put

get :: Get (Le ElfType)

putList :: [Le ElfType] -> Put

SingElfClassI a => Binary (Le (RelaXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (RelaXX a) -> Put

get :: Get (Le (RelaXX a))

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

SingElfClassI a => Binary (Le (SectionXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (SectionXX a) -> Put

get :: Get (Le (SectionXX a))

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

SingElfClassI a => Binary (Le (SegmentXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (SegmentXX a) -> Put

get :: Get (Le (SegmentXX a))

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

SingElfClassI a => Binary (Le (SymbolXX a)) 
Instance details

Defined in Data.Elf.Headers

Methods

put :: Le (SymbolXX a) -> Put

get :: Get (Le (SymbolXX a))

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

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

Defined in Data.Endian

Methods

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

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