-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Netlink communication for Haskell -- -- Library to comminicate with Linux kernel via Netlink @package netlink @version 0.1 module System.Linux.Netlink.Internal query :: NetlinkSocket -> Packet -> IO [Packet] queryOne :: NetlinkSocket -> Packet -> IO Packet getLinkAddress :: AttributeReader LinkAddress getLinkBroadcast :: AttributeReader LinkAddress getLinkName :: AttributeReader String getLinkMTU :: AttributeReader Word32 getLinkQDisc :: AttributeReader String getLinkTXQLen :: AttributeReader Word32 putLinkAddress :: AttributeWriter LinkAddress putLinkBroadcast :: AttributeWriter LinkAddress putLinkName :: AttributeWriter String putLinkMTU :: AttributeWriter Word32 putLinkQDisc :: AttributeWriter String putLinkTXQLen :: AttributeWriter Word32 data NetlinkSocket makeSocket :: IO NetlinkSocket closeSocket :: NetlinkSocket -> IO () sendmsg :: NetlinkSocket -> [ByteString] -> IO () recvmsg :: NetlinkSocket -> Int -> IO ByteString cFromEnum :: (Enum e, Integral i) => e -> i cToEnum :: (Integral i, Enum e) => i -> e data AddressFamily eAF_UNSPEC :: Num a => a eAF_FILE :: Num a => a eAF_LOCAL :: Num a => a eAF_UNIX :: Num a => a eAF_INET :: Num a => a eAF_AX25 :: Num a => a eAF_IPX :: Num a => a eAF_APPLETALK :: Num a => a eAF_NETROM :: Num a => a eAF_BRIDGE :: Num a => a eAF_ATMPVC :: Num a => a eAF_X25 :: Num a => a eAF_INET6 :: Num a => a eAF_ROSE :: Num a => a eAF_DECnet :: Num a => a eAF_NETBEUI :: Num a => a eAF_SECURITY :: Num a => a eAF_KEY :: Num a => a eAF_NETLINK :: Num a => a eAF_ROUTE :: Num a => a eAF_PACKET :: Num a => a eAF_ASH :: Num a => a eAF_ECONET :: Num a => a eAF_ATMSVC :: Num a => a eAF_RDS :: Num a => a eAF_SNA :: Num a => a eAF_IRDA :: Num a => a eAF_PPPOX :: Num a => a eAF_WANPIPE :: Num a => a eAF_LLC :: Num a => a eAF_CAN :: Num a => a eAF_TIPC :: Num a => a eAF_BLUETOOTH :: Num a => a eAF_IUCV :: Num a => a eAF_RXRPC :: Num a => a eAF_ISDN :: Num a => a eAF_PHONET :: Num a => a eAF_IEEE802154 :: Num a => a eAF_MAX :: Num a => a data MessageType eNLMSG_NOOP :: Num a => a eNLMSG_ERROR :: Num a => a eNLMSG_DONE :: Num a => a eNLMSG_OVERRUN :: Num a => a eNLMSG_MIN_TYPE :: Num a => a eRTM_BASE :: Num a => a eRTM_NEWLINK :: Num a => a eRTM_DELLINK :: Num a => a eRTM_GETLINK :: Num a => a eRTM_SETLINK :: Num a => a eRTM_NEWADDR :: Num a => a eRTM_DELADDR :: Num a => a eRTM_GETADDR :: Num a => a eRTM_NEWROUTE :: Num a => a eRTM_DELROUTE :: Num a => a eRTM_GETROUTE :: Num a => a eRTM_NEWNEIGH :: Num a => a eRTM_DELNEIGH :: Num a => a eRTM_GETNEIGH :: Num a => a eRTM_NEWRULE :: Num a => a eRTM_DELRULE :: Num a => a eRTM_GETRULE :: Num a => a eRTM_NEWQDISC :: Num a => a eRTM_DELQDISC :: Num a => a eRTM_GETQDISC :: Num a => a eRTM_NEWTCLASS :: Num a => a eRTM_DELTCLASS :: Num a => a eRTM_GETTCLASS :: Num a => a eRTM_NEWTFILTER :: Num a => a eRTM_DELTFILTER :: Num a => a eRTM_GETTFILTER :: Num a => a eRTM_NEWACTION :: Num a => a eRTM_DELACTION :: Num a => a eRTM_GETACTION :: Num a => a eRTM_NEWPREFIX :: Num a => a eRTM_GETMULTICAST :: Num a => a eRTM_GETANYCAST :: Num a => a eRTM_NEWNEIGHTBL :: Num a => a eRTM_GETNEIGHTBL :: Num a => a eRTM_SETNEIGHTBL :: Num a => a eRTM_NEWNDUSEROPT :: Num a => a eRTM_NEWADDRLABEL :: Num a => a eRTM_DELADDRLABEL :: Num a => a eRTM_GETADDRLABEL :: Num a => a eRTM_GETDCB :: Num a => a eRTM_SETDCB :: Num a => a data MessageFlags fNLM_F_REQUEST :: (Num a, Bits a) => a fNLM_F_MULTI :: (Num a, Bits a) => a fNLM_F_ACK :: (Num a, Bits a) => a fNLM_F_ECHO :: (Num a, Bits a) => a fNLM_F_REPLACE :: (Num a, Bits a) => a fNLM_F_ROOT :: (Num a, Bits a) => a fNLM_F_EXCL :: (Num a, Bits a) => a fNLM_F_MATCH :: (Num a, Bits a) => a fNLM_F_ATOMIC :: (Num a, Bits a) => a fNLM_F_CREATE :: (Num a, Bits a) => a fNLM_F_APPEND :: (Num a, Bits a) => a data LinkType eARPHRD_NETROM :: Num a => a eARPHRD_ETHER :: Num a => a eARPHRD_EETHER :: Num a => a eARPHRD_AX25 :: Num a => a eARPHRD_PRONET :: Num a => a eARPHRD_CHAOS :: Num a => a eARPHRD_IEEE802 :: Num a => a eARPHRD_ARCNET :: Num a => a eARPHRD_APPLETLK :: Num a => a eARPHRD_DLCI :: Num a => a eARPHRD_ATM :: Num a => a eARPHRD_METRICOM :: Num a => a eARPHRD_IEEE1394 :: Num a => a eARPHRD_EUI64 :: Num a => a eARPHRD_INFINIBAND :: Num a => a eARPHRD_SLIP :: Num a => a eARPHRD_CSLIP :: Num a => a eARPHRD_SLIP6 :: Num a => a eARPHRD_CSLIP6 :: Num a => a eARPHRD_RSRVD :: Num a => a eARPHRD_ADAPT :: Num a => a eARPHRD_ROSE :: Num a => a eARPHRD_X25 :: Num a => a eARPHRD_HWX25 :: Num a => a eARPHRD_CAN :: Num a => a eARPHRD_PPP :: Num a => a eARPHRD_CISCO :: Num a => a eARPHRD_HDLC :: Num a => a eARPHRD_LAPB :: Num a => a eARPHRD_DDCMP :: Num a => a eARPHRD_RAWHDLC :: Num a => a eARPHRD_TUNNEL :: Num a => a eARPHRD_TUNNEL6 :: Num a => a eARPHRD_FRAD :: Num a => a eARPHRD_SKIP :: Num a => a eARPHRD_LOOPBACK :: Num a => a eARPHRD_LOCALTLK :: Num a => a eARPHRD_FDDI :: Num a => a eARPHRD_BIF :: Num a => a eARPHRD_SIT :: Num a => a eARPHRD_IPDDP :: Num a => a eARPHRD_IPGRE :: Num a => a eARPHRD_PIMREG :: Num a => a eARPHRD_HIPPI :: Num a => a eARPHRD_ASH :: Num a => a eARPHRD_ECONET :: Num a => a eARPHRD_IRDA :: Num a => a eARPHRD_FCPP :: Num a => a eARPHRD_FCAL :: Num a => a eARPHRD_FCPL :: Num a => a eARPHRD_FCFABRIC :: Num a => a eARPHRD_IEEE802_TR :: Num a => a eARPHRD_IEEE80211 :: Num a => a eARPHRD_IEEE80211_PRISM :: Num a => a eARPHRD_IEEE80211_RADIOTAP :: Num a => a eARPHRD_IEEE802154 :: Num a => a eARPHRD_PHONET :: Num a => a eARPHRD_PHONET_PIPE :: Num a => a data LinkFlags fIFF_802_1Q_VLAN :: (Num a, Bits a) => a fIFF_TUN :: (Num a, Bits a) => a fIFF_UP :: (Num a, Bits a) => a fIFF_BROADCAST :: (Num a, Bits a) => a fIFF_EBRIDGE :: (Num a, Bits a) => a fIFF_TAP :: (Num a, Bits a) => a fIFF_DEBUG :: (Num a, Bits a) => a fIFF_SLAVE_INACTIVE :: (Num a, Bits a) => a fIFF_LOOPBACK :: (Num a, Bits a) => a fIFF_MASTER_8023AD :: (Num a, Bits a) => a fIFF_MASTER_ALB :: (Num a, Bits a) => a fIFF_POINTOPOINT :: (Num a, Bits a) => a fIFF_BONDING :: (Num a, Bits a) => a fIFF_NOTRAILERS :: (Num a, Bits a) => a fIFF_RUNNING :: (Num a, Bits a) => a fIFF_SLAVE_NEEDARP :: (Num a, Bits a) => a fIFF_ISATAP :: (Num a, Bits a) => a fIFF_NOARP :: (Num a, Bits a) => a fIFF_MASTER_ARPMON :: (Num a, Bits a) => a fIFF_PROMISC :: (Num a, Bits a) => a fIFF_ALLMULTI :: (Num a, Bits a) => a fIFF_WAN_HDLC :: (Num a, Bits a) => a fIFF_MASTER :: (Num a, Bits a) => a fIFF_XMIT_DST_RELEASE :: (Num a, Bits a) => a fIFF_SLAVE :: (Num a, Bits a) => a fIFF_MULTICAST :: (Num a, Bits a) => a fIFF_NO_PI :: (Num a, Bits a) => a fIFF_ONE_QUEUE :: (Num a, Bits a) => a fIFF_PORTSEL :: (Num a, Bits a) => a fIFF_AUTOMEDIA :: (Num a, Bits a) => a fIFF_VNET_HDR :: (Num a, Bits a) => a fIFF_DYNAMIC :: (Num a, Bits a) => a fIFF_TUN_EXCL :: (Num a, Bits a) => a fIFF_LOWER_UP :: (Num a, Bits a) => a fIFF_DORMANT :: (Num a, Bits a) => a fIFF_ECHO :: (Num a, Bits a) => a data LinkAttrType eIFLA_UNSPEC :: Num a => a eIFLA_ADDRESS :: Num a => a eIFLA_BROADCAST :: Num a => a eIFLA_IFNAME :: Num a => a eIFLA_MTU :: Num a => a eIFLA_LINK :: Num a => a eIFLA_QDISC :: Num a => a eIFLA_STATS :: Num a => a eIFLA_COST :: Num a => a eIFLA_PRIORITY :: Num a => a eIFLA_MASTER :: Num a => a eIFLA_WIRELESS :: Num a => a eIFLA_PROTINFO :: Num a => a eIFLA_TXQLEN :: Num a => a eIFLA_MAP :: Num a => a eIFLA_WEIGHT :: Num a => a eIFLA_OPERSTATE :: Num a => a eIFLA_LINKMODE :: Num a => a eIFLA_LINKINFO :: Num a => a eIFLA_NET_NS_PID :: Num a => a eIFLA_IFALIAS :: Num a => a data AddrFlags fIFA_F_SECONDARY :: (Num a, Bits a) => a fIFA_F_TEMPORARY :: (Num a, Bits a) => a fIFA_F_NODAD :: (Num a, Bits a) => a fIFA_F_OPTIMISTIC :: (Num a, Bits a) => a fIFA_F_DADFAILED :: (Num a, Bits a) => a fIFA_F_HOMEADDRESS :: (Num a, Bits a) => a fIFA_F_DEPRECATED :: (Num a, Bits a) => a fIFA_F_TENTATIVE :: (Num a, Bits a) => a fIFA_F_PERMANENT :: (Num a, Bits a) => a data Scope eRT_SCOPE_UNIVERSE :: Num a => a eRT_SCOPE_SITE :: Num a => a eRT_SCOPE_LINK :: Num a => a eRT_SCOPE_HOST :: Num a => a eRT_SCOPE_NOWHERE :: Num a => a data AddrAttrType eIFA_UNSPEC :: Num a => a eIFA_ADDRESS :: Num a => a eIFA_LOCAL :: Num a => a eIFA_LABEL :: Num a => a eIFA_BROADCAST :: Num a => a eIFA_ANYCAST :: Num a => a eIFA_CACHEINFO :: Num a => a eIFA_MULTICAST :: Num a => a data RouteTableId eRT_TABLE_UNSPEC :: Num a => a eRT_TABLE_COMPAT :: Num a => a eRT_TABLE_DEFAULT :: Num a => a eRT_TABLE_MAIN :: Num a => a eRT_TABLE_LOCAL :: Num a => a eRT_TABLE_MAX :: Num a => a data RouteProto eRTPROT_UNSPEC :: Num a => a eRTPROT_REDIRECT :: Num a => a eRTPROT_KERNEL :: Num a => a eRTPROT_BOOT :: Num a => a eRTPROT_STATIC :: Num a => a eRTPROT_GATED :: Num a => a eRTPROT_RA :: Num a => a eRTPROT_MRT :: Num a => a eRTPROT_ZEBRA :: Num a => a eRTPROT_BIRD :: Num a => a eRTPROT_DNROUTED :: Num a => a eRTPROT_XORP :: Num a => a eRTPROT_NTK :: Num a => a eRTPROT_DHCP :: Num a => a data RouteType eRTN_UNSPEC :: Num a => a eRTN_UNICAST :: Num a => a eRTN_LOCAL :: Num a => a eRTN_BROADCAST :: Num a => a eRTN_ANYCAST :: Num a => a eRTN_MULTICAST :: Num a => a eRTN_BLACKHOLE :: Num a => a eRTN_UNREACHABLE :: Num a => a eRTN_PROHIBIT :: Num a => a eRTN_THROW :: Num a => a eRTN_NAT :: Num a => a eRTN_XRESOLVE :: Num a => a data RouteFlags fRTM_F_NOTIFY :: (Num a, Bits a) => a fRTM_F_CLONED :: (Num a, Bits a) => a fRTM_F_EQUALIZE :: (Num a, Bits a) => a fRTM_F_PREFIX :: (Num a, Bits a) => a data RouteAttrType eRTA_UNSPEC :: Num a => a eRTA_DST :: Num a => a eRTA_SRC :: Num a => a eRTA_IIF :: Num a => a eRTA_OIF :: Num a => a eRTA_GATEWAY :: Num a => a eRTA_PRIORITY :: Num a => a eRTA_PREFSRC :: Num a => a eRTA_METRICS :: Num a => a eRTA_MULTIPATH :: Num a => a eRTA_PROTOINFO :: Num a => a eRTA_FLOW :: Num a => a eRTA_CACHEINFO :: Num a => a eRTA_SESSION :: Num a => a eRTA_MP_ALGO :: Num a => a eRTA_TABLE :: Num a => a data Header Header :: MessageType -> Word16 -> Word32 -> Word32 -> Header messageType :: Header -> MessageType messageFlags :: Header -> Word16 messageSeqNum :: Header -> Word32 messagePID :: Header -> Word32 data Message DoneMsg :: Message ErrorMsg :: CInt -> Packet -> Message errorCode :: Message -> CInt errorPacket :: Message -> Packet LinkMsg :: LinkType -> Word32 -> Word32 -> Message interfaceType :: Message -> LinkType interfaceIndex :: Message -> Word32 interfaceFlags :: Message -> Word32 AddrMsg :: AddressFamily -> Word8 -> Word8 -> Word8 -> Word32 -> Message addrFamily :: Message -> AddressFamily addrMaskLength :: Message -> Word8 addrFlags :: Message -> Word8 addrScope :: Message -> Word8 addrInterfaceIndex :: Message -> Word32 type Attributes = Map Int ByteString data Packet Packet :: Header -> Message -> Attributes -> Packet packetHeader :: Packet -> Header packetMessage :: Packet -> Message packetAttributes :: Packet -> Attributes getPacket :: ByteString -> Either String [Packet] putPacket :: Packet -> [ByteString] module System.Linux.Netlink