-- | Haskell bidings to Xen hypervisor interface. There are three interface levels -- in this library: -- -- * Low-level interface. "System.Xen.Low". It just provides bindings to c-calls. -- -- * Mid-level interface. "System.Xen.Mid". Contains helper functions and allow to -- use your favorite `Monad`. -- -- * High-level interface. "System.Xen.High". Contains `Xen` monad and provides a -- safe way to run any `Xen` computation. -- -- Last one is also re-exported by current module and intend for common usage. -- Usage example: -- -- > module Main (main) where -- > -- > import System.Xen (runXen, domainGetInfo) -- > -- > main :: IO () -- > main = print =<< runXen domainGetInfo module System.Xen ( -- * Errors XcHandleOpenError(..) , InvalidDomainShutdownReason(..) , DomainGetInfoError(..) -- * Domain info , DomId(..) , DomainFlag(..) , DomainShutdownReason(..) , DomainInfo(..) -- * High-level API , Xen , domainGetInfo , runXen ) where import System.Xen.Errors (XcHandleOpenError(..), InvalidDomainShutdownReason(..), DomainGetInfoError(..)) import System.Xen.High (Xen, domainGetInfo, runXen) import System.Xen.Types (DomId(..), DomainFlag(..), DomainShutdownReason(..), DomainInfo(..))