network-types-icmp-1.0.1: Types for representing ICMP and ICMPv6 messages.
Copyright(c) 2021 Adam Flott
LicenseBSD-3-Clause
Maintaineradam@adamflott.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Network.Types.ICMPv6

Description

Data types and conversions for ICMPv6 automatically built from the specification at https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xml

Specification date: 2021-01-27

Synopsis

Types

data ICMPv6Type Source #

ICMPv6 type.

Since: 1.0.0

Constructors

ICMPv6TypeUnknown 
ICMPv6Type0Reserved

Reserved

ICMPv6Type1DestinationUnreachable

Destination Unreachable

ICMPv6Type2PacketTooBig

Packet Too Big

ICMPv6Type3TimeExceeded

Time Exceeded

ICMPv6Type4ParameterProblem

Parameter Problem

ICMPv6Type100PrivateExperimentation

Private experimentation

ICMPv6Type101PrivateExperimentation

Private experimentation

ICMPv6Type127ReservedForExpansionOfIcmpv6ErrorMessages

Reserved for expansion of ICMPv6 error messages

ICMPv6Type128EchoRequest

Echo Request

ICMPv6Type129EchoReply

Echo Reply

ICMPv6Type130MulticastListenerQuery

Multicast Listener Query

ICMPv6Type131MulticastListenerReport

Multicast Listener Report

ICMPv6Type132MulticastListenerDone

Multicast Listener Done

ICMPv6Type133RouterSolicitation

Router Solicitation

ICMPv6Type134RouterAdvertisement

Router Advertisement

ICMPv6Type135NeighborSolicitation

Neighbor Solicitation

ICMPv6Type136NeighborAdvertisement

Neighbor Advertisement

ICMPv6Type137RedirectMessage

Redirect Message

ICMPv6Type138RouterRenumbering

Router Renumbering

ICMPv6Type139IcmpNodeInformationQuery

ICMP Node Information Query

ICMPv6Type140IcmpNodeInformationResponse

ICMP Node Information Response

ICMPv6Type141InverseNeighborDiscoverySolicitationMessage

Inverse Neighbor Discovery Solicitation Message

ICMPv6Type142InverseNeighborDiscoveryAdvertisementMessage

Inverse Neighbor Discovery Advertisement Message

ICMPv6Type143Version2MulticastListenerReport

Version 2 Multicast Listener Report

ICMPv6Type144HomeAgentAddressDiscoveryRequestMessage

Home Agent Address Discovery Request Message

ICMPv6Type145HomeAgentAddressDiscoveryReplyMessage

Home Agent Address Discovery Reply Message

ICMPv6Type146MobilePrefixSolicitation

Mobile Prefix Solicitation

ICMPv6Type147MobilePrefixAdvertisement

Mobile Prefix Advertisement

ICMPv6Type148CertificationPathSolicitationMessage

Certification Path Solicitation Message

ICMPv6Type149CertificationPathAdvertisementMessage

Certification Path Advertisement Message

ICMPv6Type150IcmpMessagesUtilizedByExperimentalMobilityProtocolsSuchAsSeamoby

ICMP messages utilized by experimental mobility protocols such as Seamoby

ICMPv6Type151MulticastRouterAdvertisement

Multicast Router Advertisement

ICMPv6Type152MulticastRouterSolicitation

Multicast Router Solicitation

ICMPv6Type153MulticastRouterTermination

Multicast Router Termination

ICMPv6Type154Fmipv6Messages

FMIPv6 Messages

ICMPv6Type155RplControlMessage

RPL Control Message

ICMPv6Type156Ilnpv6LocatorUpdateMessage

ILNPv6 Locator Update Message

ICMPv6Type157DuplicateAddressRequest

Duplicate Address Request

ICMPv6Type158DuplicateAddressConfirmation

Duplicate Address Confirmation

ICMPv6Type159MplControlMessage

MPL Control Message

ICMPv6Type160ExtendedEchoRequest

Extended Echo Request

ICMPv6Type161ExtendedEchoReply

Extended Echo Reply

ICMPv6Type200PrivateExperimentation

Private experimentation

ICMPv6Type201PrivateExperimentation

Private experimentation

ICMPv6Type255ReservedForExpansionOfIcmpv6InformationalMessages

Reserved for expansion of ICMPv6 informational messages

Instances

Instances details
Bounded ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

Enum ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

Eq ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

Ord ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

Show ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

Generic ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

Associated Types

type Rep ICMPv6Type :: Type -> Type #

type Rep ICMPv6Type Source # 
Instance details

Defined in Network.Types.ICMPv6

type Rep ICMPv6Type = D1 ('MetaData "ICMPv6Type" "Network.Types.ICMPv6" "network-types-icmp-1.0.1-6vKiKZ2SpT1FI4xZU1rOlJ" 'False) (((((C1 ('MetaCons "ICMPv6TypeUnknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type0Reserved" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type1DestinationUnreachable" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type2PacketTooBig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type3TimeExceeded" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ICMPv6Type4ParameterProblem" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type100PrivateExperimentation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type101PrivateExperimentation" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ICMPv6Type127ReservedForExpansionOfIcmpv6ErrorMessages" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type128EchoRequest" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type129EchoReply" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "ICMPv6Type130MulticastListenerQuery" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type131MulticastListenerReport" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type132MulticastListenerDone" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ICMPv6Type133RouterSolicitation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type134RouterAdvertisement" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type135NeighborSolicitation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ICMPv6Type136NeighborAdvertisement" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type137RedirectMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type138RouterRenumbering" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ICMPv6Type139IcmpNodeInformationQuery" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type140IcmpNodeInformationResponse" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type141InverseNeighborDiscoverySolicitationMessage" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "ICMPv6Type142InverseNeighborDiscoveryAdvertisementMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type143Version2MulticastListenerReport" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type144HomeAgentAddressDiscoveryRequestMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type145HomeAgentAddressDiscoveryReplyMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type146MobilePrefixSolicitation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ICMPv6Type147MobilePrefixAdvertisement" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type148CertificationPathSolicitationMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type149CertificationPathAdvertisementMessage" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ICMPv6Type150IcmpMessagesUtilizedByExperimentalMobilityProtocolsSuchAsSeamoby" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type151MulticastRouterAdvertisement" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type152MulticastRouterSolicitation" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "ICMPv6Type153MulticastRouterTermination" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type154Fmipv6Messages" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type155RplControlMessage" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ICMPv6Type156Ilnpv6LocatorUpdateMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type157DuplicateAddressRequest" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type158DuplicateAddressConfirmation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ICMPv6Type159MplControlMessage" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type160ExtendedEchoRequest" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type161ExtendedEchoReply" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ICMPv6Type200PrivateExperimentation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type201PrivateExperimentation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type255ReservedForExpansionOfIcmpv6InformationalMessages" 'PrefixI 'False) (U1 :: Type -> Type)))))))

Codes

newtype ICMPv6CodeNum Source #

Wrap a numeric ICMPv6 code.

Since: 1.0.0

Constructors

ICMPv6CodeNum Word8 

data ICMPv6Code Source #

ICMPv6 code.

Since: 1.0.0

Constructors

ICMPv6CodeUnknown

Unknown code

ICMPv6Type1Code0

Type 1 code 0 - no route to destination

ICMPv6Type1Code1

Type 1 code 1 - communication with destination administratively prohibited

ICMPv6Type1Code2

Type 1 code 2 - beyond scope of source address

ICMPv6Type1Code3

Type 1 code 3 - address unreachable

ICMPv6Type1Code4

Type 1 code 4 - port unreachable

ICMPv6Type1Code5

Type 1 code 5 - source address failed ingress/egress policy

ICMPv6Type1Code6

Type 1 code 6 - reject route to destination

ICMPv6Type1Code7

Type 1 code 7 - Error in Source Routing Header

ICMPv6Type1Code8

Type 1 code 8 - Headers too long

ICMPv6Type2Code0

Type 2 code 0 - N/A - No description in spec

ICMPv6Type3Code0

Type 3 code 0 - hop limit exceeded in transit

ICMPv6Type3Code1

Type 3 code 1 - fragment reassembly time exceeded

ICMPv6Type4Code0

Type 4 code 0 - erroneous header field encountered

ICMPv6Type4Code1

Type 4 code 1 - unrecognized Next Header type encountered

ICMPv6Type4Code2

Type 4 code 2 - unrecognized IPv6 option encountered

ICMPv6Type4Code3

Type 4 code 3 - IPv6 First Fragment has incomplete IPv6 Header Chain

ICMPv6Type4Code4

Type 4 code 4 - SR Upper-layer Header Error

ICMPv6Type4Code5

Type 4 code 5 - Unrecognized Next Header type encountered by intermediate node

ICMPv6Type4Code6

Type 4 code 6 - Extension header too big

ICMPv6Type4Code7

Type 4 code 7 - Extension header chain too long

ICMPv6Type4Code8

Type 4 code 8 - Too many extension headers

ICMPv6Type4Code9

Type 4 code 9 - Too many options in extension header

ICMPv6Type4Code10

Type 4 code 10 - Option too big

ICMPv6Type128Code0

Type 128 code 0 - N/A - No description in spec

ICMPv6Type129Code0

Type 129 code 0 - N/A - No description in spec

ICMPv6Type130Code0

Type 130 code 0 - N/A - No description in spec

ICMPv6Type131Code0

Type 131 code 0 - N/A - No description in spec

ICMPv6Type132Code0

Type 132 code 0 - N/A - No description in spec

ICMPv6Type133Code0

Type 133 code 0 - N/A - No description in spec

ICMPv6Type134Code0

Type 134 code 0 - N/A - No description in spec

ICMPv6Type135Code0

Type 135 code 0 - N/A - No description in spec

ICMPv6Type136Code0

Type 136 code 0 - N/A - No description in spec

ICMPv6Type137Code0

Type 137 code 0 - N/A - No description in spec

ICMPv6Type138Code0

Type 138 code 0 - Router Renumbering Command

ICMPv6Type138Code1

Type 138 code 1 - Router Renumbering Result

ICMPv6Type138Code255

Type 138 code 255 - Sequence Number Reset

ICMPv6Type139Code0

Type 139 code 0 - The Data field contains an IPv6 address which is the Subject of this Query.

ICMPv6Type139Code1

Type 139 code 1 - The Data field contains a name which is the Subject of this Query, or is empty, as in the case of a NOOP.

ICMPv6Type139Code2

Type 139 code 2 - The Data field contains an IPv4 address which is the Subject of this Query.

ICMPv6Type140Code0

Type 140 code 0 - A successful reply. The Reply Data field may or may not be empty.

ICMPv6Type140Code1

Type 140 code 1 - The Responder refuses to supply the answer. The Reply Data field will be empty.

ICMPv6Type140Code2

Type 140 code 2 - The Qtype of the Query is unknown to the Responder. The Reply Data field will be empty.

ICMPv6Type141Code0

Type 141 code 0 - N/A - No description in spec

ICMPv6Type142Code0

Type 142 code 0 - N/A - No description in spec

ICMPv6Type144Code0

Type 144 code 0 - N/A - No description in spec

ICMPv6Type145Code0

Type 145 code 0 - N/A - No description in spec

ICMPv6Type146Code0

Type 146 code 0 - N/A - No description in spec

ICMPv6Type147Code0

Type 147 code 0 - N/A - No description in spec

ICMPv6Type157Code0

Type 157 code 0 - DAR message

ICMPv6Type157Code1

Type 157 code 1 - EDAR message with 64-bit ROVR field

ICMPv6Type157Code2

Type 157 code 2 - EDAR message with 128-bit ROVR field

ICMPv6Type157Code3

Type 157 code 3 - EDAR message with 192-bit ROVR field

ICMPv6Type157Code4

Type 157 code 4 - EDAR message with 256-bit ROVR field

ICMPv6Type158Code0

Type 158 code 0 - DAC message

ICMPv6Type158Code1

Type 158 code 1 - EDAC message with 64-bit ROVR field

ICMPv6Type158Code2

Type 158 code 2 - EDAC message with 128-bit ROVR field

ICMPv6Type158Code3

Type 158 code 3 - EDAC message with 192-bit ROVR field

ICMPv6Type158Code4

Type 158 code 4 - EDAC message with 256-bit ROVR field

ICMPv6Type160Code0

Type 160 code 0 - No Error

ICMPv6Type161Code0

Type 161 code 0 - No Error

ICMPv6Type161Code1

Type 161 code 1 - Malformed Query

ICMPv6Type161Code2

Type 161 code 2 - No Such Interface

ICMPv6Type161Code3

Type 161 code 3 - No Such Table Entry

ICMPv6Type161Code4

Type 161 code 4 - Multiple Interfaces Satisfy Query

Instances

Instances details
Bounded ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

Enum ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

Eq ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

Ord ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

Show ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

Generic ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

Associated Types

type Rep ICMPv6Code :: Type -> Type #

type Rep ICMPv6Code Source # 
Instance details

Defined in Network.Types.ICMPv6

type Rep ICMPv6Code = D1 ('MetaData "ICMPv6Code" "Network.Types.ICMPv6" "network-types-icmp-1.0.1-6vKiKZ2SpT1FI4xZU1rOlJ" 'False) ((((((C1 ('MetaCons "ICMPv6CodeUnknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type1Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type1Code1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type1Code2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type1Code3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type1Code4" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type1Code5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type1Code6" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ICMPv6Type1Code7" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type1Code8" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type2Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type3Code0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type3Code1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type4Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type4Code1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type4Code2" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "ICMPv6Type4Code3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type4Code4" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type4Code5" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type4Code6" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type4Code7" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type4Code8" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type4Code9" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type4Code10" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ICMPv6Type128Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type129Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type130Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type131Code0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type132Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type133Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type134Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type135Code0" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: (((((C1 ('MetaCons "ICMPv6Type136Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type137Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type138Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type138Code1" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type138Code255" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type139Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type139Code1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type139Code2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ICMPv6Type140Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type140Code1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type140Code2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type141Code0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type142Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type144Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type145Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type146Code0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: ((((C1 ('MetaCons "ICMPv6Type147Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type157Code0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type157Code1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type157Code2" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type157Code3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type157Code4" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type158Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type158Code1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "ICMPv6Type158Code2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type158Code3" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type158Code4" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type160Code0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ICMPv6Type161Code0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type161Code1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ICMPv6Type161Code2" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ICMPv6Type161Code3" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ICMPv6Type161Code4" 'PrefixI 'False) (U1 :: Type -> Type))))))))

Codes from Type

icmpv6CodesForType :: ICMPv6Type -> [ICMPv6Code] Source #

Get a list of ICMPv6Code for a given ICMPv6Type.

Since: 1.0.0

Conversions

icmpv6TypeToStringNum :: IsString a => ICMPv6Type -> a Source #

Convert a ICMPv6Type into a string.

Since: 1.0.0

icmpv6TypeFromStringNum :: (Eq a, IsString a) => a -> ICMPv6Type Source #

Convert a string into a ICMPv6Type.

Since: 1.0.0

icmpv6TypeToNum :: ICMPv6Type -> ICMPv6TypeNum Source #

Turn an ICMPv6Type into a ICMPv6TypeNum.

Since: 1.0.0

icmpv6CodeToStringNum :: IsString a => ICMPv6Code -> a Source #

Convert a ICMPv6Code into a string.

Since: 1.0.1

Deprecated testing

isICMPv6TypeDeprecated :: ICMPv6Type -> Bool Source #

Test if an ICMPv6Type has been deprecated.

Since: 1.0.0