Safe Haskell | Safe-Infered |
---|
- c_sendto_ll :: CInt -> CString -> CSize -> CInt -> Ptr SockAddrLL -> CSize -> IO CSize
- c_recvfrom_ll :: CInt -> CString -> CSize -> CInt -> Ptr SockAddrLL -> Ptr CSize -> IO CSize
- c_setsockopt_ll :: CInt -> CInt -> CInt -> Ptr () -> CSize -> IO CInt
- c_bind_ll :: CInt -> Ptr SockAddrLL -> CSize -> IO CInt
- ethProtocolIPv4 :: ProtocolNumber
- ethProtocolIPv6 :: ProtocolNumber
- data PktType = PktType {}
- packetHost :: PktType
- ethProtocolAll :: ProtocolNumber
- packetBroadcast :: PktType
- afPacket :: CInt
- packetMulticast :: PktType
- packetOtherhost :: PktType
- newtype LLProtocol = LLProtocol Word16
- lLProtocolIPv4 :: LLProtocol
- packetOutgoing :: PktType
- lLProtocolIPv6 :: LLProtocol
- packetLoopback :: PktType
- newtype HardwareType = HardwareType Word16
- lLProtocolAll :: LLProtocol
- packetFastroute :: PktType
- hwTypeEther :: HardwareType
- data HWAddr = HWAddr ByteString
- noHWAddr :: HWAddr
- newtype IFIndex = IFIndex Int
- data SockAddrLL = SockAddrLL LLProtocol IFIndex HardwareType PktType HWAddr
- defaultSockAddrLL :: SockAddrLL
- solPacket :: CInt
- newtype PacketSocketOption = PacketSocketOption Int
- packetAddMembership :: PacketSocketOption
- packetDropMembership :: PacketSocketOption
- newtype PacketMReqType = PacketMReqType Word16
- mrMulticast :: PacketMReqType
- packetRecvOutput :: PacketSocketOption
- mrPromisc :: PacketMReqType
- data PacketMReq = PacketMReq IFIndex PacketMReqType HWAddr
- packetRXRing :: PacketSocketOption
- mrAllMulti :: PacketMReqType
- packetStatistics :: PacketSocketOption
- data GetIndexForName = GetIndexForName
- getInterfaceIndex :: Socket -> String -> IO IFIndex
- sendToLL :: Socket -> ByteString -> SockAddrLL -> IO Int
- recvFromLL :: Socket -> Int -> IO (SockAddrLL, ByteString)
- setPacketOption :: Socket -> PacketSocketOption -> PacketMReq -> IO ()
- bindLL :: Socket -> SockAddrLL -> IO ()
Documentation
c_sendto_ll :: CInt -> CString -> CSize -> CInt -> Ptr SockAddrLL -> CSize -> IO CSizeSource
Low-level sendto call. Normally, this would not be used, as sendToLL provides a | more convenient interface.
c_recvfrom_ll :: CInt -> CString -> CSize -> CInt -> Ptr SockAddrLL -> Ptr CSize -> IO CSizeSource
Low-level recvfrom call. Normally, this would not be used, as recvFromLL provides | a more convenient interface.
c_setsockopt_ll :: CInt -> CInt -> CInt -> Ptr () -> CSize -> IO CIntSource
Low-level setsockopt operation. Normally, it will be more convenient to use | setPacketOption instead.
c_bind_ll :: CInt -> Ptr SockAddrLL -> CSize -> IO CIntSource
Low-level bind operation. Normally, this would not be used, as bindLL provides a | more convenient interface.
ethProtocolIPv4 :: ProtocolNumberSource
Ethernet protocol numbers, for use with socket
ethProtocolIPv6 :: ProtocolNumberSource
Represents a type of packet
packetOtherhost :: PktTypeSource
Represents a low-level protocol appearing in an address.
newtype LLProtocol Source
packetLoopback :: PktTypeSource
Represents a hardware type appearing in an address.
newtype HardwareType Source
packetFastroute :: PktTypeSource
Represents the Ethernet hardware type
data SockAddrLL Source
newtype PacketSocketOption Source
newtype PacketMReqType Source
data GetIndexForName Source
getInterfaceIndex :: Socket -> String -> IO IFIndexSource
Gets the index for a named interface, for use with SockAddrLL
sendToLL :: Socket -> ByteString -> SockAddrLL -> IO IntSource
Sends a packet to a particular low-level socket address.
recvFromLL :: Socket -> Int -> IO (SockAddrLL, ByteString)Source
Receives a packet from a socket, returning the address of the packet.
setPacketOption :: Socket -> PacketSocketOption -> PacketMReq -> IO ()Source
Sets an option on a packet socket. This can be used to control the receipt of multicast packets