-- | Type for Message Authentication Status (<http://www.ietf.org/rfc/rfc5451.txt>).
module Network.DomainAuth.Types where

----------------------------------------------------------------

-- See Qualifier in Network.DomainAuth.SPF.Types

-- | The result of domain authentication. For more information, see
--   <http://www.ietf.org/rfc/rfc5451.txt>.
data DAResult
    = DAPass
    | DAHardFail
    | DASoftFail
    | DANeutral
    | DAFail
    | DATempError
    | DAPermError
    | DANone
    | DAPolicy
    | DANxDomain
    | DADiscard
    | DAUnknown
    deriving (DAResult -> DAResult -> Bool
(DAResult -> DAResult -> Bool)
-> (DAResult -> DAResult -> Bool) -> Eq DAResult
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DAResult -> DAResult -> Bool
== :: DAResult -> DAResult -> Bool
$c/= :: DAResult -> DAResult -> Bool
/= :: DAResult -> DAResult -> Bool
Eq, Int -> DAResult
DAResult -> Int
DAResult -> [DAResult]
DAResult -> DAResult
DAResult -> DAResult -> [DAResult]
DAResult -> DAResult -> DAResult -> [DAResult]
(DAResult -> DAResult)
-> (DAResult -> DAResult)
-> (Int -> DAResult)
-> (DAResult -> Int)
-> (DAResult -> [DAResult])
-> (DAResult -> DAResult -> [DAResult])
-> (DAResult -> DAResult -> [DAResult])
-> (DAResult -> DAResult -> DAResult -> [DAResult])
-> Enum DAResult
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: DAResult -> DAResult
succ :: DAResult -> DAResult
$cpred :: DAResult -> DAResult
pred :: DAResult -> DAResult
$ctoEnum :: Int -> DAResult
toEnum :: Int -> DAResult
$cfromEnum :: DAResult -> Int
fromEnum :: DAResult -> Int
$cenumFrom :: DAResult -> [DAResult]
enumFrom :: DAResult -> [DAResult]
$cenumFromThen :: DAResult -> DAResult -> [DAResult]
enumFromThen :: DAResult -> DAResult -> [DAResult]
$cenumFromTo :: DAResult -> DAResult -> [DAResult]
enumFromTo :: DAResult -> DAResult -> [DAResult]
$cenumFromThenTo :: DAResult -> DAResult -> DAResult -> [DAResult]
enumFromThenTo :: DAResult -> DAResult -> DAResult -> [DAResult]
Enum, DAResult
DAResult -> DAResult -> Bounded DAResult
forall a. a -> a -> Bounded a
$cminBound :: DAResult
minBound :: DAResult
$cmaxBound :: DAResult
maxBound :: DAResult
Bounded)

instance Show DAResult where
    show :: DAResult -> String
show DAResult
DAPass = String
"pass"
    show DAResult
DAHardFail = String
"hardfail"
    show DAResult
DASoftFail = String
"softfail"
    show DAResult
DANeutral = String
"neutral"
    show DAResult
DAFail = String
"fail"
    show DAResult
DATempError = String
"temperror"
    show DAResult
DAPermError = String
"permerror"
    show DAResult
DANone = String
"none"
    show DAResult
DAPolicy = String
"policy"
    show DAResult
DANxDomain = String
"nxdomain"
    show DAResult
DADiscard = String
"discard"
    show DAResult
DAUnknown = String
"unknown"