module Memfd.CreateOptionsType where

import Memfd.FileSystemType (FileSystem)
import Memfd.NameType (Name)
import Memfd.OnExecType (OnExec)
import Memfd.SealingType (Sealing)
import Prelude (Eq, Ord, Show)

data CreateOptions =
  CreateOptions
    { CreateOptions -> Name
name :: Name
    , CreateOptions -> OnExec
onExec :: OnExec
    , CreateOptions -> Sealing
sealing :: Sealing
    , CreateOptions -> FileSystem
fileSystem :: FileSystem
    }
  deriving stock (CreateOptions -> CreateOptions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOptions -> CreateOptions -> Bool
$c/= :: CreateOptions -> CreateOptions -> Bool
== :: CreateOptions -> CreateOptions -> Bool
$c== :: CreateOptions -> CreateOptions -> Bool
Eq, Eq CreateOptions
CreateOptions -> CreateOptions -> Bool
CreateOptions -> CreateOptions -> Ordering
CreateOptions -> CreateOptions -> CreateOptions
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: CreateOptions -> CreateOptions -> CreateOptions
$cmin :: CreateOptions -> CreateOptions -> CreateOptions
max :: CreateOptions -> CreateOptions -> CreateOptions
$cmax :: CreateOptions -> CreateOptions -> CreateOptions
>= :: CreateOptions -> CreateOptions -> Bool
$c>= :: CreateOptions -> CreateOptions -> Bool
> :: CreateOptions -> CreateOptions -> Bool
$c> :: CreateOptions -> CreateOptions -> Bool
<= :: CreateOptions -> CreateOptions -> Bool
$c<= :: CreateOptions -> CreateOptions -> Bool
< :: CreateOptions -> CreateOptions -> Bool
$c< :: CreateOptions -> CreateOptions -> Bool
compare :: CreateOptions -> CreateOptions -> Ordering
$ccompare :: CreateOptions -> CreateOptions -> Ordering
Ord, Int -> CreateOptions -> ShowS
[CreateOptions] -> ShowS
CreateOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOptions] -> ShowS
$cshowList :: [CreateOptions] -> ShowS
show :: CreateOptions -> String
$cshow :: CreateOptions -> String
showsPrec :: Int -> CreateOptions -> ShowS
$cshowsPrec :: Int -> CreateOptions -> ShowS
Show)