{-# LINE 1 "src/Network/Telnet/LibTelnet/Iac.hsc" #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}

{-|
Module      : Network.Telnet.LibTelnet.Iac
Description : Constants for interpret-as-command (IAC) codes
Copyright   : (c) 2017-2021 Jack Kelly
License     : GPL-3.0-or-later
Maintainer  : jack@jackkelly.name
Stability   : experimental
Portability : non-portable

Telnet interpret-as-command (IAC) codes. See
<http://www.faqs.org/rfcs/rfc854.html RFC 854> for the meaning of many of these.
-}

module Network.Telnet.LibTelnet.Iac
  ( Iac(..)
  , iacNull
  , iacIac
  , iacDont
  , iacDo
  , iacWont
  , iacWill
  , iacSB
  , iacGA
  , iacEL
  , iacEC
  , iacAYT
  , iacAO
  , iacIP
  , iacBreak
  , iacDM
  , iacNOP
  , iacSE
  , iacEOR
  , iacAbort
  , iacSusp
  , iacEOF
  ) where

import Foreign (Storable)
import Foreign.C (CUChar)



-- | Wrapper for telnet commands and special values.
newtype Iac = Iac { Iac -> CUChar
unIac :: CUChar } deriving (Iac -> Iac -> Bool
(Iac -> Iac -> Bool) -> (Iac -> Iac -> Bool) -> Eq Iac
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Iac -> Iac -> Bool
$c/= :: Iac -> Iac -> Bool
== :: Iac -> Iac -> Bool
$c== :: Iac -> Iac -> Bool
Eq, Int -> Iac -> ShowS
[Iac] -> ShowS
Iac -> String
(Int -> Iac -> ShowS)
-> (Iac -> String) -> ([Iac] -> ShowS) -> Show Iac
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Iac] -> ShowS
$cshowList :: [Iac] -> ShowS
show :: Iac -> String
$cshow :: Iac -> String
showsPrec :: Int -> Iac -> ShowS
$cshowsPrec :: Int -> Iac -> ShowS
Show, Ptr b -> Int -> IO Iac
Ptr b -> Int -> Iac -> IO ()
Ptr Iac -> IO Iac
Ptr Iac -> Int -> IO Iac
Ptr Iac -> Int -> Iac -> IO ()
Ptr Iac -> Iac -> IO ()
Iac -> Int
(Iac -> Int)
-> (Iac -> Int)
-> (Ptr Iac -> Int -> IO Iac)
-> (Ptr Iac -> Int -> Iac -> IO ())
-> (forall b. Ptr b -> Int -> IO Iac)
-> (forall b. Ptr b -> Int -> Iac -> IO ())
-> (Ptr Iac -> IO Iac)
-> (Ptr Iac -> Iac -> IO ())
-> Storable Iac
forall b. Ptr b -> Int -> IO Iac
forall b. Ptr b -> Int -> Iac -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr Iac -> Iac -> IO ()
$cpoke :: Ptr Iac -> Iac -> IO ()
peek :: Ptr Iac -> IO Iac
$cpeek :: Ptr Iac -> IO Iac
pokeByteOff :: Ptr b -> Int -> Iac -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> Iac -> IO ()
peekByteOff :: Ptr b -> Int -> IO Iac
$cpeekByteOff :: forall b. Ptr b -> Int -> IO Iac
pokeElemOff :: Ptr Iac -> Int -> Iac -> IO ()
$cpokeElemOff :: Ptr Iac -> Int -> Iac -> IO ()
peekElemOff :: Ptr Iac -> Int -> IO Iac
$cpeekElemOff :: Ptr Iac -> Int -> IO Iac
alignment :: Iac -> Int
$calignment :: Iac -> Int
sizeOf :: Iac -> Int
$csizeOf :: Iac -> Int
Storable)
iacNull  :: Iac
iacNull :: Iac
iacNull  = CUChar -> Iac
Iac 0
iacIac  :: Iac
iacIac :: Iac
iacIac  = CUChar -> Iac
Iac 255
iacDont  :: Iac
iacDont :: Iac
iacDont  = CUChar -> Iac
Iac 254
iacDo  :: Iac
iacDo :: Iac
iacDo  = CUChar -> Iac
Iac 253
iacWont  :: Iac
iacWont :: Iac
iacWont  = CUChar -> Iac
Iac 252
iacWill  :: Iac
iacWill :: Iac
iacWill  = CUChar -> Iac
Iac 251
iacSB  :: Iac
iacSB :: Iac
iacSB  = CUChar -> Iac
Iac 250
iacGA  :: Iac
iacGA :: Iac
iacGA  = CUChar -> Iac
Iac 249
iacEL  :: Iac
iacEL :: Iac
iacEL  = CUChar -> Iac
Iac 248
iacEC  :: Iac
iacEC :: Iac
iacEC  = CUChar -> Iac
Iac 247
iacAYT  :: Iac
iacAYT :: Iac
iacAYT  = CUChar -> Iac
Iac 246
iacAO  :: Iac
iacAO :: Iac
iacAO  = CUChar -> Iac
Iac 245
iacIP  :: Iac
iacIP :: Iac
iacIP  = CUChar -> Iac
Iac 244
iacBreak  :: Iac
iacBreak :: Iac
iacBreak  = CUChar -> Iac
Iac 243
iacDM  :: Iac
iacDM :: Iac
iacDM  = CUChar -> Iac
Iac 242
iacNOP  :: Iac
iacNOP :: Iac
iacNOP  = CUChar -> Iac
Iac 241
iacSE  :: Iac
iacSE :: Iac
iacSE  = CUChar -> Iac
Iac 240
iacEOR  :: Iac
iacEOR :: Iac
iacEOR  = CUChar -> Iac
Iac 239
iacAbort  :: Iac
iacAbort :: Iac
iacAbort  = CUChar -> Iac
Iac 238
iacSusp  :: Iac
iacSusp :: Iac
iacSusp  = CUChar -> Iac
Iac 237
iacEOF  :: Iac
iacEOF :: Iac
iacEOF  = CUChar -> Iac
Iac 236

{-# LINE 71 "src/Network/Telnet/LibTelnet/Iac.hsc" #-}