-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Ogma: Runtime Monitor translator: Copilot Language Endpoints
--   
--   Ogma is a tool to facilitate the integration of safe runtime monitors
--   into other systems. Ogma extends <a>Copilot</a>, a high-level runtime
--   verification framework that generates hard real-time C99 code.
--   
--   This library contains a frontend to read Copilot monitors, a
--   definition of Copilot structs, and a backend to generate and pretty
--   print Copilot code.
@package ogma-language-copilot
@version 1.10.0


-- | Copilot's representation and conversion of C Structs from C's AST.
module Language.Copilot.CStruct

-- | A C struct is a name and fields with different types.
data CStruct
CStruct :: String -> [CField] -> CStruct
[cStructName] :: CStruct -> String
[cStructFields] :: CStruct -> [CField]

-- | A field may have a name and a type, or be an array with a name, type
--   and length. Pointers are not currently supported.
data CField
CPlain :: String -> String -> CField
CArray :: String -> String -> Integer -> CField
instance GHC.Show.Show Language.Copilot.CStruct.CField
instance GHC.Classes.Eq Language.Copilot.CStruct.CField
instance GHC.Show.Show Language.Copilot.CStruct.CStruct
instance GHC.Classes.Eq Language.Copilot.CStruct.CStruct
