rtnetlink-0.2.0.1: Manipulate network devices, addresses, and routes on Linux

Copyright(c) Formaltech Inc. 2017
LicenseBSD3
Maintainerprotob3n@gmail.com
Stabilityexperimental
PortabilityLinux
Safe HaskellNone
LanguageHaskell2010

System.Linux.RTNetlink.Link

Description

 
Synopsis

Documentation

newtype LinkIndex Source #

A link identified by its index.

Constructors

LinkIndex Int 
Instances
Enum LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Eq LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Integral LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Num LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Ord LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Real LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Serialize LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkIndex :: Type Source #

Request LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Destroy LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Message LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader LinkIndex :: Type Source #

Change LinkIndex LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkDebug Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkArp Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkPromiscuity Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkState Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (c, LinkIndex) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (LinkIndex, c) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader LinkIndex Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

newtype LinkName Source #

A link identified by its name.

Constructors

LinkName ByteString 
Instances
Eq LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

IsString LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkName :: Type Source #

Request LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Destroy LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Message LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader LinkName :: Type Source #

Change LinkName LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkDebug Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkArp Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkPromiscuity Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkState Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkName LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (c, LinkName) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (LinkName, c) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader LinkName Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data LinkEther Source #

An ethernet address.

Instances
Eq LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Serialize LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkEther :: Type Source #

Message LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader LinkEther :: Type Source #

Change LinkName LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (c, LinkEther) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (LinkEther, c) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader LinkEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data LinkBroadcastEther Source #

An ethernet broadcast address.

Instances
Eq LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Serialize LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkBroadcastEther :: Type Source #

Message LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader LinkBroadcastEther :: Type Source #

Change LinkName LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (c, LinkBroadcastEther) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

(Create c, MessageHeader c ~ IfInfoMsg) => Create (LinkBroadcastEther, c) Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader LinkBroadcastEther Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data LinkType Source #

The type of a link.

Constructors

Dummy

A dummy interface.

Bridge

A bridge interface.

Dot1QVlan LinkIndex VlanId

An 802.1Q vlan interface.

Dot1adVlan LinkIndex VlanId

An 802.1ad vlan interface.

NamedLinkType ByteString

Specify the link type name as a string.

newtype VlanId Source #

Tag id for a vlan interface.

Constructors

VlanId Word16 
Instances
Enum VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Eq VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Methods

(==) :: VlanId -> VlanId -> Bool #

(/=) :: VlanId -> VlanId -> Bool #

Integral VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Num VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Ord VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Real VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader VlanId :: Type Source #

Message VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader VlanId :: Type Source #

type ReplyHeader VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader VlanId Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data LinkMaster Source #

The master interface for this interface for this one. For example, a bridge interface.

Constructors

Master LinkIndex 
NoMaster 
Instances
Eq LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkMaster :: Type Source #

Message LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader LinkMaster :: Type Source #

Change LinkName LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader LinkMaster Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data LinkPromiscuity Source #

A Promiscuous link accepts all frames at layer 2; a Chaste one accepts just those addressed to it and possibly ones sent to the broadcast address.

Constructors

Promiscuous 
Chaste 

data LinkArp Source #

Whether to use ARP on the interface to resolve L3 addresses to L2 ones.

Constructors

Arp 
NoArp 

data LinkDebug Source #

Internal debug flag. If this is supported by the driver, it will generally spew some extra information into dmesg.

Constructors

Debug 
NoDebug 

newtype LinkMTU Source #

Maximum transmission unit for a link. Note that some interface types, such as Bridges, don't allow this to be changed.

Constructors

LinkMTU Word32 
Instances
Enum LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Eq LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Methods

(==) :: LinkMTU -> LinkMTU -> Bool #

(/=) :: LinkMTU -> LinkMTU -> Bool #

Integral LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Num LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Ord LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Real LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkMTU :: Type Source #

Message LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type MessageHeader LinkMTU :: Type Source #

Change LinkName LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type MessageHeader LinkMTU Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

newtype LinkGroup Source #

Constructors

LinkGroup Word32 
Instances
Enum LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Eq LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Integral LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Num LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Ord LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Real LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Reply LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type ReplyHeader LinkGroup :: Type Source #

Change LinkName LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Change LinkIndex LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

type ReplyHeader LinkGroup Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data LinkStats Source #

Constructors

LinkStats 

Fields

data IfInfoMsg Source #

The header corresponding to link messages, based on struct ifinfomsg from linux/if_link.h.

Constructors

IfInfoMsg 

Fields

Instances
Eq IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Show IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Serialize IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Sized IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Methods

size :: Integral i => IfInfoMsg -> i Source #

sizeAligned :: Integral a => a -> IfInfoMsg -> a Source #

ReplyMessageHeader IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

RequestMessageHeader IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

ChangeMessageHeader IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

DestroyMessageHeader IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

CreateMessageHeader IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Header IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

Associated Types

type HeaderPart IfInfoMsg :: Type Source #

type HeaderPart IfInfoMsg Source # 
Instance details

Defined in System.Linux.RTNetlink.Link

data IfInfoMsgPart Source #

Combinable components of an IfInfoMsg.