module LIO.Core.Trans (
getLabel
, setLabel
, setLabelP
, getClearance
, setClearance
, setClearanceP
, guardAlloc
, guardAllocP
, taint
, taintP
, guardWrite
, guardWriteP
) where
import safe LIO.Label
import safe LIO.Monad
import safe qualified LIO.Core as C
getLabel :: (MonadLIO l m, Label l) => m l
getLabel = liftLIO C.getLabel
setLabel :: (MonadLIO l m, Label l) => l -> m ()
setLabel = liftLIO . C.setLabel
setLabelP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> m ()
setLabelP p = liftLIO . C.setLabelP p
getClearance :: (MonadLIO l m, Label l) => m l
getClearance = liftLIO C.getClearance
setClearance :: (MonadLIO l m, Label l) => l -> m ()
setClearance = liftLIO . C.setClearance
setClearanceP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> m ()
setClearanceP p = liftLIO . C.setClearanceP p
guardAlloc :: (MonadLIO l m, Label l) => l -> m ()
guardAlloc = liftLIO . C.guardAlloc
guardAllocP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> m ()
guardAllocP p = liftLIO . C.guardAllocP p
taint :: (MonadLIO l m, Label l) => l -> m ()
taint = liftLIO . C.taint
taintP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> m ()
taintP p = liftLIO . C.taintP p
guardWrite :: (MonadLIO l m, Label l) => l -> m ()
guardWrite = liftLIO . C.guardWrite
guardWriteP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> m ()
guardWriteP p = liftLIO . C.guardWriteP p