netlink-1.1.1.0: Netlink communication for Haskell

Maintainerongy
Stabilitytesting
PortabilityLinux
Safe HaskellNone
LanguageHaskell2010

System.Linux.Netlink.GeNetlink.Control

Description

This module provides utility functions and datatypes for the genetlink control protocol. This has to be used by implementations of netlink families based on genetlink to lookup their current id, since that is determined at runtime.

Synopsis

Documentation

data CtrlAttrMcastGroup Source #

Datatype for multicast groups as returned by the control protocol

Constructors

CAMG 

Fields

type CTRLPacket = GenlPacket NoData Source #

typedef for control messages

ctrlPacketFromGenl :: CTRLPacket -> Maybe CtrlPacket Source #

Convert "normal" Packets into typesafe CtrlPackets

data CtrlAttrOpData Source #

Datatype for AttrOpData as returned by the control protocol

Constructors

CAO 

Fields

ctrlPackettoGenl :: CtrlPacket -> CTRLPacket Source #

Convert the typesafe CtrPacket into a CTRLPacket so it can be sent

getFamilyId :: NetlinkSocket -> String -> IO Word16 Source #

Get the id for a netlink family by name

getFamilyWithMulticasts :: NetlinkSocket -> String -> IO (Word16, [CtrlAttrMcastGroup]) Source #

get the id and multicast groups of a netlink family by name

getMulticastGroups :: NetlinkSocket -> Word16 -> IO [CtrlAttrMcastGroup] Source #

get the mutlicast groups of a netlink family by id

getMulticast :: String -> [CtrlAttrMcastGroup] -> Maybe Word32 Source #

Get id of multicast group by name

getFamilie :: NetlinkSocket -> String -> IO (Maybe CtrlPacket) Source #

Get the CtrlPacket describing a single family

getFamilies :: NetlinkSocket -> IO [CtrlPacket] Source #

Get CtrlPackets for every currently registered GeNetlink family