hs-bindgen-1.0.0.0: test-artefacts/fixtures/comprehensive/smoke/Example.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE UndecidableInstances #-}
module Example
( Example.Uint(..)
, Example.Size_t(..)
, Example.Bar1_t(..)
, Example.Bar2_t(..)
, Example.Bar3_t(..)
, pattern Example.BAZ1
, Example.Baz2_t(..)
, pattern Example.BAZ2
, Example.Baz3_t(..)
, pattern Example.BAZ3
, Example.Baz4_t(..)
, pattern Example.BAZ4
)
where
import qualified HsBindgen.Runtime.CEnum as CEnum
import qualified HsBindgen.Runtime.ConstantArray as CA
import qualified HsBindgen.Runtime.HasCField as HasCField
import qualified HsBindgen.Runtime.Marshal as Marshal
import qualified HsBindgen.Runtime.Struct as Struct
import qualified HsBindgen.Runtime.Support as BG
import qualified HsBindgen.Runtime.Support.CompatHasField as BG.CompatHasField
import Prelude ((<*>), (>>), Bounded, Enum, Eq, IO, Int, Integral, Num, Ord, Read, Real, Show, pure, type (~))
{-| __C declaration:__ @uint@
__defined at:__ @comprehensive\/smoke.h 7:22@
__exported by:__ @comprehensive\/smoke.h@
-}
newtype Uint = Uint
{ unwrap :: BG.CUInt
}
deriving stock (Eq, BG.Generic, Ord, Read, Show)
deriving newtype
( BG.Bitfield
, BG.Bits
, Bounded
, Enum
, BG.FiniteBits
, BG.HasFFIType
, Integral
, BG.Ix
, Num
, BG.Prim
, Marshal.ReadRaw
, Real
, Marshal.StaticSize
, BG.Storable
, Marshal.WriteRaw
)
instance (ty ~ BG.CUInt) => BG.CompatHasField.HasField "unwrap" Uint ty where
hasField =
\x0 ->
(\y1 -> Uint {unwrap = y1}, BG.getField @"unwrap" x0)
instance (ty ~ BG.CUInt) => BG.HasField "unwrap" (BG.Ptr Uint) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField Uint "unwrap" where
type CFieldType Uint "unwrap" = BG.CUInt
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @size_t@
__defined at:__ @comprehensive\/smoke.h 8:23@
__exported by:__ @comprehensive\/smoke.h@
-}
newtype Size_t = Size_t
{ unwrap :: BG.CULong
}
deriving stock (Eq, BG.Generic, Ord, Read, Show)
deriving newtype
( BG.Bitfield
, BG.Bits
, Bounded
, Enum
, BG.FiniteBits
, BG.HasFFIType
, Integral
, BG.Ix
, Num
, BG.Prim
, Marshal.ReadRaw
, Real
, Marshal.StaticSize
, BG.Storable
, Marshal.WriteRaw
)
instance (ty ~ BG.CULong) => BG.CompatHasField.HasField "unwrap" Size_t ty where
hasField =
\x0 ->
(\y1 ->
Size_t {unwrap = y1}, BG.getField @"unwrap" x0)
instance ( ty ~ BG.CULong
) => BG.HasField "unwrap" (BG.Ptr Size_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField Size_t "unwrap" where
type CFieldType Size_t "unwrap" = BG.CULong
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @struct bar1_t@
__defined at:__ @comprehensive\/smoke.h 39:8@
__exported by:__ @comprehensive\/smoke.h@
-}
data Bar1_t = Bar1_t
{ a :: BG.Ptr BG.Void
{- ^ __C declaration:__ @a@
__defined at:__ @comprehensive\/smoke.h 40:11@
__exported by:__ @comprehensive\/smoke.h@
-}
, b :: BG.CInt
{- ^ __C declaration:__ @b@
__defined at:__ @comprehensive\/smoke.h 41:11@
__exported by:__ @comprehensive\/smoke.h@
-}
, c :: BG.CChar
{- ^ __C declaration:__ @c@
__defined at:__ @comprehensive\/smoke.h 42:11@
__exported by:__ @comprehensive\/smoke.h@
-}
, d :: BG.Ptr BG.CChar
{- ^ __C declaration:__ @d@
__defined at:__ @comprehensive\/smoke.h 43:11@
__exported by:__ @comprehensive\/smoke.h@
-}
, e :: BG.FunPtr (IO (BG.Ptr BG.CChar))
{- ^ __C declaration:__ @e@
__defined at:__ @comprehensive\/smoke.h 44:13@
__exported by:__ @comprehensive\/smoke.h@
-}
, f :: BG.FunPtr (BG.Ptr BG.Void -> IO ())
{- ^ __C declaration:__ @f@
__defined at:__ @comprehensive\/smoke.h 45:13@
__exported by:__ @comprehensive\/smoke.h@
-}
, g :: BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr BG.CInt))
{- ^ __C declaration:__ @g@
__defined at:__ @comprehensive\/smoke.h 46:13@
__exported by:__ @comprehensive\/smoke.h@
-}
, h :: BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr BG.CInt)))
{- ^ __C declaration:__ @h@
__defined at:__ @comprehensive\/smoke.h 47:13@
__exported by:__ @comprehensive\/smoke.h@
-}
, i :: BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr (BG.Ptr BG.CInt))))
{- ^ __C declaration:__ @i@
__defined at:__ @comprehensive\/smoke.h 48:13@
__exported by:__ @comprehensive\/smoke.h@
-}
, j :: CA.ConstantArray 2 BG.CChar
{- ^ __C declaration:__ @j@
__defined at:__ @comprehensive\/smoke.h 49:11@
__exported by:__ @comprehensive\/smoke.h@
-}
, k :: BG.Ptr Bar1_t
{- ^ __C declaration:__ @k@
__defined at:__ @comprehensive\/smoke.h 51:19@
__exported by:__ @comprehensive\/smoke.h@
-}
}
deriving stock (Eq, BG.Generic, Show)
instance Marshal.StaticSize Bar1_t where
staticSizeOf = \_ -> (80 :: Int)
staticAlignment = \_ -> (8 :: Int)
instance Marshal.ReadRaw Bar1_t where
readRaw =
\ptr0 ->
pure Bar1_t
<*> HasCField.readRaw (BG.Proxy @"a") ptr0
<*> HasCField.readRaw (BG.Proxy @"b") ptr0
<*> HasCField.readRaw (BG.Proxy @"c") ptr0
<*> HasCField.readRaw (BG.Proxy @"d") ptr0
<*> HasCField.readRaw (BG.Proxy @"e") ptr0
<*> HasCField.readRaw (BG.Proxy @"f") ptr0
<*> HasCField.readRaw (BG.Proxy @"g") ptr0
<*> HasCField.readRaw (BG.Proxy @"h") ptr0
<*> HasCField.readRaw (BG.Proxy @"i") ptr0
<*> HasCField.readRaw (BG.Proxy @"j") ptr0
<*> HasCField.readRaw (BG.Proxy @"k") ptr0
instance Marshal.WriteRaw Bar1_t where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
Bar1_t a2 b3 c4 d5 e6 f7 g8 h9 i10 j11 k12 ->
HasCField.writeRaw (BG.Proxy @"a") ptr0 a2
>> HasCField.writeRaw (BG.Proxy @"b") ptr0 b3
>> HasCField.writeRaw (BG.Proxy @"c") ptr0 c4
>> HasCField.writeRaw (BG.Proxy @"d") ptr0 d5
>> HasCField.writeRaw (BG.Proxy @"e") ptr0 e6
>> HasCField.writeRaw (BG.Proxy @"f") ptr0 f7
>> HasCField.writeRaw (BG.Proxy @"g") ptr0 g8
>> HasCField.writeRaw (BG.Proxy @"h") ptr0 h9
>> HasCField.writeRaw (BG.Proxy @"i") ptr0 i10
>> HasCField.writeRaw (BG.Proxy @"j") ptr0 j11
>> HasCField.writeRaw (BG.Proxy @"k") ptr0 k12
deriving via Marshal.EquivStorable Bar1_t instance BG.Storable Bar1_t
deriving via Struct.IsStructViaReadRaw Bar1_t instance Struct.IsStruct Bar1_t
{-| __C declaration:__ @a@
__defined at:__ @comprehensive\/smoke.h 40:11@
__exported by:__ @comprehensive\/smoke.h@
-}
instance (ty ~ BG.Ptr BG.Void) => BG.CompatHasField.HasField "a" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { a = y1
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"a" x0
)
instance ( ty ~ BG.Ptr BG.Void
) => BG.HasField "a" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"a")
instance HasCField.HasCField Bar1_t "a" where
type CFieldType Bar1_t "a" = BG.Ptr BG.Void
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @b@
__defined at:__ @comprehensive\/smoke.h 41:11@
__exported by:__ @comprehensive\/smoke.h@
-}
instance (ty ~ BG.CInt) => BG.CompatHasField.HasField "b" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { b = y1
, a = BG.getField @"a" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"b" x0
)
instance (ty ~ BG.CInt) => BG.HasField "b" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"b")
instance HasCField.HasCField Bar1_t "b" where
type CFieldType Bar1_t "b" = BG.CInt
offset# = \_ -> \_ -> 8
{-| __C declaration:__ @c@
__defined at:__ @comprehensive\/smoke.h 42:11@
__exported by:__ @comprehensive\/smoke.h@
-}
instance (ty ~ BG.CChar) => BG.CompatHasField.HasField "c" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { c = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"c" x0
)
instance (ty ~ BG.CChar) => BG.HasField "c" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"c")
instance HasCField.HasCField Bar1_t "c" where
type CFieldType Bar1_t "c" = BG.CChar
offset# = \_ -> \_ -> 12
{-| __C declaration:__ @d@
__defined at:__ @comprehensive\/smoke.h 43:11@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ BG.Ptr BG.CChar
) => BG.CompatHasField.HasField "d" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { d = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"d" x0
)
instance ( ty ~ BG.Ptr BG.CChar
) => BG.HasField "d" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"d")
instance HasCField.HasCField Bar1_t "d" where
type CFieldType Bar1_t "d" = BG.Ptr BG.CChar
offset# = \_ -> \_ -> 16
{-| __C declaration:__ @e@
__defined at:__ @comprehensive\/smoke.h 44:13@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ BG.FunPtr (IO (BG.Ptr BG.CChar))
) => BG.CompatHasField.HasField "e" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { e = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"e" x0
)
instance ( ty ~ BG.FunPtr (IO (BG.Ptr BG.CChar))
) => BG.HasField "e" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"e")
instance HasCField.HasCField Bar1_t "e" where
type CFieldType Bar1_t "e" =
BG.FunPtr (IO (BG.Ptr BG.CChar))
offset# = \_ -> \_ -> 24
{-| __C declaration:__ @f@
__defined at:__ @comprehensive\/smoke.h 45:13@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO ())
) => BG.CompatHasField.HasField "f" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { f = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"f" x0
)
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO ())
) => BG.HasField "f" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"f")
instance HasCField.HasCField Bar1_t "f" where
type CFieldType Bar1_t "f" =
BG.FunPtr (BG.Ptr BG.Void -> IO ())
offset# = \_ -> \_ -> 32
{-| __C declaration:__ @g@
__defined at:__ @comprehensive\/smoke.h 46:13@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr BG.CInt))
) => BG.CompatHasField.HasField "g" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { g = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"g" x0
)
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr BG.CInt))
) => BG.HasField "g" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"g")
instance HasCField.HasCField Bar1_t "g" where
type CFieldType Bar1_t "g" =
BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr BG.CInt))
offset# = \_ -> \_ -> 40
{-| __C declaration:__ @h@
__defined at:__ @comprehensive\/smoke.h 47:13@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr BG.CInt)))
) => BG.CompatHasField.HasField "h" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { h = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"h" x0
)
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr BG.CInt)))
) => BG.HasField "h" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"h")
instance HasCField.HasCField Bar1_t "h" where
type CFieldType Bar1_t "h" =
BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr BG.CInt)))
offset# = \_ -> \_ -> 48
{-| __C declaration:__ @i@
__defined at:__ @comprehensive\/smoke.h 48:13@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr (BG.Ptr BG.CInt))))
) => BG.CompatHasField.HasField "i" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { i = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, j = BG.getField @"j" x0
, k = BG.getField @"k" x0
}
, BG.getField @"i" x0
)
instance ( ty ~ BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr (BG.Ptr BG.CInt))))
) => BG.HasField "i" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"i")
instance HasCField.HasCField Bar1_t "i" where
type CFieldType Bar1_t "i" =
BG.FunPtr (BG.Ptr BG.Void -> IO (BG.Ptr (BG.Ptr (BG.Ptr BG.CInt))))
offset# = \_ -> \_ -> 56
{-| __C declaration:__ @j@
__defined at:__ @comprehensive\/smoke.h 49:11@
__exported by:__ @comprehensive\/smoke.h@
-}
instance ( ty ~ CA.ConstantArray 2 BG.CChar
) => BG.CompatHasField.HasField "j" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { j = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, k = BG.getField @"k" x0
}
, BG.getField @"j" x0
)
instance ( ty ~ CA.ConstantArray 2 BG.CChar
) => BG.HasField "j" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"j")
instance HasCField.HasCField Bar1_t "j" where
type CFieldType Bar1_t "j" =
CA.ConstantArray 2 BG.CChar
offset# = \_ -> \_ -> 64
{-| __C declaration:__ @k@
__defined at:__ @comprehensive\/smoke.h 51:19@
__exported by:__ @comprehensive\/smoke.h@
-}
instance (ty ~ BG.Ptr Bar1_t) => BG.CompatHasField.HasField "k" Bar1_t ty where
hasField =
\x0 ->
( \y1 ->
Bar1_t { k = y1
, a = BG.getField @"a" x0
, b = BG.getField @"b" x0
, c = BG.getField @"c" x0
, d = BG.getField @"d" x0
, e = BG.getField @"e" x0
, f = BG.getField @"f" x0
, g = BG.getField @"g" x0
, h = BG.getField @"h" x0
, i = BG.getField @"i" x0
, j = BG.getField @"j" x0
}
, BG.getField @"k" x0
)
instance ( ty ~ BG.Ptr Bar1_t
) => BG.HasField "k" (BG.Ptr Bar1_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"k")
instance HasCField.HasCField Bar1_t "k" where
type CFieldType Bar1_t "k" = BG.Ptr Bar1_t
offset# = \_ -> \_ -> 72
{-| __C declaration:__ @struct bar2_t@
__defined at:__ @comprehensive\/smoke.h 54:16@
__exported by:__ @comprehensive\/smoke.h@
-}
data Bar2_t = Bar2_t
{ a :: BG.CInt
{- ^ __C declaration:__ @a@
__defined at:__ @comprehensive\/smoke.h 55:7@
__exported by:__ @comprehensive\/smoke.h@
-}
}
deriving stock (Eq, BG.Generic, Show)
instance Marshal.StaticSize Bar2_t where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw Bar2_t where
readRaw =
\ptr0 ->
pure Bar2_t
<*> HasCField.readRaw (BG.Proxy @"a") ptr0
instance Marshal.WriteRaw Bar2_t where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
Bar2_t a2 ->
HasCField.writeRaw (BG.Proxy @"a") ptr0 a2
deriving via Marshal.EquivStorable Bar2_t instance BG.Storable Bar2_t
deriving via Struct.IsStructViaReadRaw Bar2_t instance Struct.IsStruct Bar2_t
{-| __C declaration:__ @a@
__defined at:__ @comprehensive\/smoke.h 55:7@
__exported by:__ @comprehensive\/smoke.h@
-}
instance (ty ~ BG.CInt) => BG.CompatHasField.HasField "a" Bar2_t ty where
hasField =
\x0 -> (\y1 -> Bar2_t {a = y1}, BG.getField @"a" x0)
instance (ty ~ BG.CInt) => BG.HasField "a" (BG.Ptr Bar2_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"a")
instance HasCField.HasCField Bar2_t "a" where
type CFieldType Bar2_t "a" = BG.CInt
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @struct bar3_t@
__defined at:__ @comprehensive\/smoke.h 58:9@
__exported by:__ @comprehensive\/smoke.h@
-}
data Bar3_t = Bar3_t
{ a :: BG.CInt
{- ^ __C declaration:__ @a@
__defined at:__ @comprehensive\/smoke.h 59:7@
__exported by:__ @comprehensive\/smoke.h@
-}
}
deriving stock (Eq, BG.Generic, Show)
instance Marshal.StaticSize Bar3_t where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw Bar3_t where
readRaw =
\ptr0 ->
pure Bar3_t
<*> HasCField.readRaw (BG.Proxy @"a") ptr0
instance Marshal.WriteRaw Bar3_t where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
Bar3_t a2 ->
HasCField.writeRaw (BG.Proxy @"a") ptr0 a2
deriving via Marshal.EquivStorable Bar3_t instance BG.Storable Bar3_t
deriving via Struct.IsStructViaReadRaw Bar3_t instance Struct.IsStruct Bar3_t
{-| __C declaration:__ @a@
__defined at:__ @comprehensive\/smoke.h 59:7@
__exported by:__ @comprehensive\/smoke.h@
-}
instance (ty ~ BG.CInt) => BG.CompatHasField.HasField "a" Bar3_t ty where
hasField =
\x0 -> (\y1 -> Bar3_t {a = y1}, BG.getField @"a" x0)
instance (ty ~ BG.CInt) => BG.HasField "a" (BG.Ptr Bar3_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"a")
instance HasCField.HasCField Bar3_t "a" where
type CFieldType Bar3_t "a" = BG.CInt
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @BAZ1@
__defined at:__ @comprehensive\/smoke.h 62:1@
__exported by:__ @comprehensive\/smoke.h@
-}
pattern BAZ1 :: BG.CUInt
pattern BAZ1 = 1
{-| __C declaration:__ @enum baz2_t@
__defined at:__ @comprehensive\/smoke.h 66:9@
__exported by:__ @comprehensive\/smoke.h@
-}
newtype Baz2_t = Baz2_t
{ unwrap :: BG.CUInt
}
deriving stock (Eq, BG.Generic, Ord)
deriving newtype (BG.HasFFIType)
instance Marshal.StaticSize Baz2_t where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw Baz2_t where
readRaw =
\ptr0 ->
pure Baz2_t
<*> Marshal.readRawByteOff ptr0 (0 :: Int)
instance Marshal.WriteRaw Baz2_t where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
Baz2_t unwrap2 ->
Marshal.writeRawByteOff ptr0 (0 :: Int) unwrap2
deriving via Marshal.EquivStorable Baz2_t instance BG.Storable Baz2_t
deriving via BG.CUInt instance BG.Prim Baz2_t
instance CEnum.CEnum Baz2_t where
type CEnumZ Baz2_t = BG.CUInt
toCEnum = Baz2_t
fromCEnum = BG.getField @"unwrap"
declaredValues =
\_ ->
CEnum.declaredValuesFromList [(1, BG.singleton "BAZ2")]
showsUndeclared =
CEnum.showsWrappedUndeclared "Baz2_t"
readPrecUndeclared =
CEnum.readPrecWrappedUndeclared "Baz2_t"
isDeclared = CEnum.seqIsDeclared
mkDeclared = CEnum.seqMkDeclared
instance CEnum.SequentialCEnum Baz2_t where
minDeclaredValue = BAZ2
maxDeclaredValue = BAZ2
instance Show Baz2_t where
showsPrec = CEnum.shows
instance Read Baz2_t where
readPrec = CEnum.readPrec
readList = BG.readListDefault
readListPrec = BG.readListPrecDefault
instance (ty ~ BG.CUInt) => BG.CompatHasField.HasField "unwrap" Baz2_t ty where
hasField =
\x0 ->
(\y1 ->
Baz2_t {unwrap = y1}, BG.getField @"unwrap" x0)
instance ( ty ~ BG.CUInt
) => BG.HasField "unwrap" (BG.Ptr Baz2_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField Baz2_t "unwrap" where
type CFieldType Baz2_t "unwrap" = BG.CUInt
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @BAZ2@
__defined at:__ @comprehensive\/smoke.h 67:3@
__exported by:__ @comprehensive\/smoke.h@
-}
pattern BAZ2 :: Baz2_t
pattern BAZ2 = Baz2_t 1
{-| __C declaration:__ @enum baz3_t@
__defined at:__ @comprehensive\/smoke.h 70:6@
__exported by:__ @comprehensive\/smoke.h@
-}
newtype Baz3_t = Baz3_t
{ unwrap :: BG.CUInt
}
deriving stock (Eq, BG.Generic, Ord)
deriving newtype (BG.HasFFIType)
instance Marshal.StaticSize Baz3_t where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw Baz3_t where
readRaw =
\ptr0 ->
pure Baz3_t
<*> Marshal.readRawByteOff ptr0 (0 :: Int)
instance Marshal.WriteRaw Baz3_t where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
Baz3_t unwrap2 ->
Marshal.writeRawByteOff ptr0 (0 :: Int) unwrap2
deriving via Marshal.EquivStorable Baz3_t instance BG.Storable Baz3_t
deriving via BG.CUInt instance BG.Prim Baz3_t
instance CEnum.CEnum Baz3_t where
type CEnumZ Baz3_t = BG.CUInt
toCEnum = Baz3_t
fromCEnum = BG.getField @"unwrap"
declaredValues =
\_ ->
CEnum.declaredValuesFromList [(1, BG.singleton "BAZ3")]
showsUndeclared =
CEnum.showsWrappedUndeclared "Baz3_t"
readPrecUndeclared =
CEnum.readPrecWrappedUndeclared "Baz3_t"
isDeclared = CEnum.seqIsDeclared
mkDeclared = CEnum.seqMkDeclared
instance CEnum.SequentialCEnum Baz3_t where
minDeclaredValue = BAZ3
maxDeclaredValue = BAZ3
instance Show Baz3_t where
showsPrec = CEnum.shows
instance Read Baz3_t where
readPrec = CEnum.readPrec
readList = BG.readListDefault
readListPrec = BG.readListPrecDefault
instance (ty ~ BG.CUInt) => BG.CompatHasField.HasField "unwrap" Baz3_t ty where
hasField =
\x0 ->
(\y1 ->
Baz3_t {unwrap = y1}, BG.getField @"unwrap" x0)
instance ( ty ~ BG.CUInt
) => BG.HasField "unwrap" (BG.Ptr Baz3_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField Baz3_t "unwrap" where
type CFieldType Baz3_t "unwrap" = BG.CUInt
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @BAZ3@
__defined at:__ @comprehensive\/smoke.h 71:3@
__exported by:__ @comprehensive\/smoke.h@
-}
pattern BAZ3 :: Baz3_t
pattern BAZ3 = Baz3_t 1
{-| __C declaration:__ @enum baz4_t@
__defined at:__ @comprehensive\/smoke.h 74:14@
__exported by:__ @comprehensive\/smoke.h@
-}
newtype Baz4_t = Baz4_t
{ unwrap :: BG.CUInt
}
deriving stock (Eq, BG.Generic, Ord)
deriving newtype (BG.HasFFIType)
instance Marshal.StaticSize Baz4_t where
staticSizeOf = \_ -> (4 :: Int)
staticAlignment = \_ -> (4 :: Int)
instance Marshal.ReadRaw Baz4_t where
readRaw =
\ptr0 ->
pure Baz4_t
<*> Marshal.readRawByteOff ptr0 (0 :: Int)
instance Marshal.WriteRaw Baz4_t where
writeRaw =
\ptr0 ->
\s1 ->
case s1 of
Baz4_t unwrap2 ->
Marshal.writeRawByteOff ptr0 (0 :: Int) unwrap2
deriving via Marshal.EquivStorable Baz4_t instance BG.Storable Baz4_t
deriving via BG.CUInt instance BG.Prim Baz4_t
instance CEnum.CEnum Baz4_t where
type CEnumZ Baz4_t = BG.CUInt
toCEnum = Baz4_t
fromCEnum = BG.getField @"unwrap"
declaredValues =
\_ ->
CEnum.declaredValuesFromList [(1, BG.singleton "BAZ4")]
showsUndeclared =
CEnum.showsWrappedUndeclared "Baz4_t"
readPrecUndeclared =
CEnum.readPrecWrappedUndeclared "Baz4_t"
isDeclared = CEnum.seqIsDeclared
mkDeclared = CEnum.seqMkDeclared
instance CEnum.SequentialCEnum Baz4_t where
minDeclaredValue = BAZ4
maxDeclaredValue = BAZ4
instance Show Baz4_t where
showsPrec = CEnum.shows
instance Read Baz4_t where
readPrec = CEnum.readPrec
readList = BG.readListDefault
readListPrec = BG.readListPrecDefault
instance (ty ~ BG.CUInt) => BG.CompatHasField.HasField "unwrap" Baz4_t ty where
hasField =
\x0 ->
(\y1 ->
Baz4_t {unwrap = y1}, BG.getField @"unwrap" x0)
instance ( ty ~ BG.CUInt
) => BG.HasField "unwrap" (BG.Ptr Baz4_t) (BG.Ptr ty) where
getField = HasCField.fromPtr (BG.Proxy @"unwrap")
instance HasCField.HasCField Baz4_t "unwrap" where
type CFieldType Baz4_t "unwrap" = BG.CUInt
offset# = \_ -> \_ -> 0
{-| __C declaration:__ @BAZ4@
__defined at:__ @comprehensive\/smoke.h 75:3@
__exported by:__ @comprehensive\/smoke.h@
-}
pattern BAZ4 :: Baz4_t
pattern BAZ4 = Baz4_t 1