Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class CtcpCommand a where
- parseCtcp :: Parser a -> CTCPByteString -> Either String a
- data DccChat
- = Chat !IPv4 !PortNumber
- | ChatWhiteboard !IPv4 !PortNumber
- data DccClose = Close
- data DccSend
- = Send !Path !IPv4 !PortNumber !(Maybe FileOffset)
- | SendReverseServer !Path !IPv4 !FileOffset !Token
- data DccResume
- = Resume !Path !PortNumber !FileOffset
- | ResumeReverse !Path !FileOffset !Token
- data DccAccept
- = Accept !Path !PortNumber !FileOffset
- | AcceptReverse !Path !FileOffset !Token
- acceptedPosition :: DccAccept -> FileOffset
- data DccSendReverseClient = SendReverseClient !Path !IPv4 !PortNumber !FileOffset !Token
- data PathType
- data Path
- fromPath :: Path -> Path Rel File
- path :: Parser Path
- pathToBS :: Path -> ByteString
- wrap :: PathType -> ByteString -> ByteString
- newtype FileOffset = FileOffset {}
- fileOffset :: Parser FileOffset
- fileOffsetToBS :: FileOffset -> ByteString
- newtype Token = Token ByteString
- token :: Parser Token
- tokenToBS :: Token -> ByteString
- socket :: Parser (IPv4, PortNumber)
- socketToBS :: (IPv4, PortNumber) -> ByteString
- ipBigEndian :: Parser IPv4
- ipToBigEndianBS :: IPv4 -> ByteString
- fromBigEndianIp :: Integer -> IPv4
- toBigEndianIp :: IPv4 -> Integer
- tcpPort :: Parser PortNumber
- tcpPortToBS :: PortNumber -> ByteString
- decimalInRange :: (Integer, Integer) -> Parser Integer
- spaced :: Parser a -> Parser a
Documentation
class CtcpCommand a where Source #
CTCP commands that can be parsed and encoded
toCtcp :: a -> CTCPByteString Source #
Offer DCC chat session
Chat !IPv4 !PortNumber | Text messages exchange DCC CHAT chat <ip> <port> |
ChatWhiteboard !IPv4 !PortNumber | Drawing commands exchange DCC CHAT wboard <ip> <port> |
Signal intent to close DCC chat connection
Close | DCC CLOSE |
Offer DCC file transfer
Send !Path !IPv4 !PortNumber !(Maybe FileOffset) | As part of the standard DCC protocol, sent by the server DCC SEND <path> <ip> <port> (<fileSize>) |
SendReverseServer !Path !IPv4 !FileOffset !Token | As part of the Reverse DCC protocol, sent by the server DCC SEND <path> <ip> 0 <fileSize> <token> |
Signal intent to resume DCC file transfer at specific position
Resume !Path !PortNumber !FileOffset | As part of the standard DCC protocol, sent by the client DCC RESUME <path> <port> <position> |
ResumeReverse !Path !FileOffset !Token | As part of the Reverse DCC protocol, sent by the client DCC RESUME <path> 0 <position> <token> |
Signal acceptance to resume DCC file transfer at specific position
Accept !Path !PortNumber !FileOffset | As part of the standard DCC protocol, sent by the server DCC ACCEPT <path> <port> <position> |
AcceptReverse !Path !FileOffset !Token | As part of the Reverse DCC protocol, sent by the server DCC ACCEPT <path> 0 <position> <token> |
data DccSendReverseClient Source #
Tell the server to start a DCC file transfer and where it should send the data to.
SendReverseClient !Path !IPv4 !PortNumber !FileOffset !Token | As part of the Reverse DCC protocol, sent by the client DCC SEND <path> <ip> <port> <fileSize> <token> |
pathToBS :: Path -> ByteString Source #
wrap :: PathType -> ByteString -> ByteString Source #
newtype FileOffset Source #
An identifier for knowing which negotiation a request belongs to
tokenToBS :: Token -> ByteString Source #
socketToBS :: (IPv4, PortNumber) -> ByteString Source #
ipBigEndian :: Parser IPv4 Source #
ipToBigEndianBS :: IPv4 -> ByteString Source #
fromBigEndianIp :: Integer -> IPv4 Source #
toBigEndianIp :: IPv4 -> Integer Source #
tcpPortToBS :: PortNumber -> ByteString Source #