| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
HsBindgen.Runtime.LibC
Description
Types used by the C standard library external binding specification
Intended for qualified import.
import HsBindgen.Runtime.LibC qualified as LibC
Synopsis
- newtype CChar = CChar Int8
- newtype CUChar = CUChar Word8
- newtype CShort = CShort Int16
- newtype CUShort = CUShort Word16
- newtype CInt = CInt Int32
- newtype CUInt = CUInt Word32
- newtype CLong = CLong Int64
- newtype CULong = CULong Word64
- newtype CLLong = CLLong Int64
- newtype CULLong = CULLong Word64
- newtype CFloat = CFloat Float
- newtype CDouble = CDouble Double
- type CString = Ptr CChar
- data Int8
- data Int16
- data Int32
- data Int64
- data Word8
- data Word16
- data Word32
- data Word64
- newtype CIntMax = CIntMax Int64
- newtype CUIntMax = CUIntMax Word64
- newtype CIntPtr = CIntPtr Int64
- newtype CUIntPtr = CUIntPtr Word64
- data CFenvT
- data CFexceptT
- newtype CSize = CSize Word64
- newtype CPtrdiff = CPtrdiff Int64
- data CJmpBuf
- newtype CWchar = CWchar Int32
- newtype CWintT = CWintT CUInt
- data CMbstateT
- newtype CWctransT = CWctransT (Ptr CInt)
- newtype CWctypeT = CWctypeT CULong
- newtype CChar16T = CChar16T Word16
- newtype CChar32T = CChar32T Word32
- data CTime
- data CClock
- data CTm = CTm {}
- data CFile
- data CFpos
- newtype CSigAtomic = CSigAtomic Int32
Primitive types
The following types are available in all C standards. The corresponding
Haskell types are defined in base with platform-specific implementations.
Integral types:
charcorresponds to Haskell typeCChar.unsigned charcorresponds to Haskell typeCUChar.shortcorresponds to Haskell typeCShort.unsigned shortcorresponds to Haskell typeCUShort.intcorresponds to Haskell typeCInt.unsigned intcorresponds to Haskell typeCUInt.longcorresponds to Haskell typeCLong.unsigned longcorresponds to Haskell typeCULong.long longcorresponds to Haskell typeCLLong.unsigned long longcorresponds to Haskell typeCULLong.
Floating types:
floatcorresponds to Haskell typeCFloat.doublecorresponds to Haskell typeCDouble.long doubleis not yet supported.
Other types:
char*corresponds to Haskell typeCString.
Haskell type representing the C char type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C unsigned char type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C short type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C unsigned short type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C int type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C unsigned int type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C long type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C unsigned long type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C long long type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C unsigned long long type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C float type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C double type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Integral types
The following C types are available since C99 and are provided by the
stdint.h and inttypes.h header files.
int8_tis a signed integral type with exactly 8 bits.Int8is the corresponding Haskell type.int16_tis a signed integral type with exactly 16 bits.Int16is the corresponding Haskell type.int32_tis a signed integral type with exactly 32 bits.Int32is the corresponding Haskell type.int64_tis a signed integral type with exactly 64 bits.Int64is the corresponding Haskell type.uint8_tis an unsigned integral type with exactly 8 bits.Word8is the corresponding Haskell type.uint16_tis an unsigned integral type with exactly 16 bits.Word16is the corresponding Haskell type.uint32_tis an unsigned integral type with exactly 32 bits.Word32is the corresponding Haskell type.uint64_tis an unsigned integral type with exactly 64 bits.Word64is the corresponding Haskell type.int_least8_tis a signed integral type with at least 8 bits, such that no other signed integral type exists with a smaller size and at least 8 bits.Int8is the corresponding Haskell type.int_least16_tis a signed integral type with at least 16 bits, such that no other signed integral type exists with a smaller size and at least 16 bits.Int16is the corresponding Haskell type.int_least32_tis a signed integral type with at least 32 bits, such that no other signed integral type exists with a smaller size and at least 32 bits.Int32is the corresponding Haskell type.int_least64_tis a signed integral type with at least 64 bits, such that no other signed integral type exists with a smaller size and at least 64 bits.Int64is the corresponding Haskell type.uint_least8_tis an unsigned integral type with at least 8 bits, such that no other unsigned integral type exists with a smaller size and at least 8 bits.Word8is the corresponding Haskell type.uint_least16_tis an unsigned integral type with at least 16 bits, such that no other unsigned integral type exists with a smaller size and at least 16 bits.Word16is the corresponding Haskell type.uint_least32_tis an unsigned integral type with at least 32 bits, such that no other unsigned integral type exists with a smaller size and at least 32 bits.Word32is the corresponding Haskell type.uint_least64_tis an unsigned integral type with at least 64 bits, such that no other unsigned integral type exists with a smaller size and at least 64 bits.Word64is the corresponding Haskell type.int_fast8_tis a signed integral type with at least 8 bits, such that it is at least as fast as any other signed integral type that has at least 8 bits.Int8is the corresponding Haskell type.int_fast16_tis a signed integral type with at least 16 bits, such that it is at least as fast as any other signed integral type that has at least 16 bits.Int16is the corresponding Haskell type.int_fast32_tis a signed integral type with at least 32 bits, such that it is at least as fast as any other signed integral type that has at least 32 bits.Int32is the corresponding Haskell type.int_fast64_tis a signed integral type with at least 64 bits, such that it is at least as fast as any other signed integral type that has at least 64 bits.Int64is the corresponding Haskell type.uint_fast8_tis an unsigned integral type with at least 8 bits, such that it is at least as fast as any other unsigned integral type that has at least 8 bits.Word8is the corresponding Haskell type.uint_fast16_tis an unsigned integral type with at least 16 bits, such that it is at least as fast as any other unsigned integral type that has at least 16 bits.Word16is the corresponding Haskell type.uint_fast32_tis an unsigned integral type with at least 32 bits, such that it is at least as fast as any other unsigned integral type that has at least 32 bits.Word32is the corresponding Haskell type.uint_fast64_tis an unsigned integral type with at least 64 bits, such that it is at least as fast as any other unsigned integral type that has at least 64 bits.Word64is the corresponding Haskell type.intmax_tis the signed integral type with the maximum width supported.CIntMax, defined inbasewith a platform-specific implementation, is the corresponding Haskell type.uintmax_tis the unsigned integral type with the maximum width supported.CUIntMax, defined inbasewith a platform-specific implementation, is the corresponding Haskell type.intptr_tis a signed integral type capable of holding a value converted from a void pointer and then be converted back to that type with a value that compares equal to the original pointer.CIntPtr, defined inbasewith a platform-specific implementation, is the corresponding Haskell type.uintptr_tis an unsigned integral type capable of holding a value converted from a void pointer and then be converted back to that type with a value that compares equal to the original pointer.CUIntPtr, defined inbasewith a platform-specific implementation, is the corresponding Haskell type.
8-bit signed integer type
Instances
| Data Int8 | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int8 -> c Int8 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int8 # dataTypeOf :: Int8 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int8) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int8) # gmapT :: (forall b. Data b => b -> b) -> Int8 -> Int8 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int8 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int8 -> r # gmapQ :: (forall d. Data d => d -> u) -> Int8 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Int8 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int8 -> m Int8 # | |
| Storable Int8 | Since: base-2.1 |
Defined in Foreign.Storable | |
| Bits Int8 | Since: base-2.1 |
Defined in GHC.Int Methods (.&.) :: Int8 -> Int8 -> Int8 # (.|.) :: Int8 -> Int8 -> Int8 # complement :: Int8 -> Int8 # shift :: Int8 -> Int -> Int8 # rotate :: Int8 -> Int -> Int8 # setBit :: Int8 -> Int -> Int8 # clearBit :: Int8 -> Int -> Int8 # complementBit :: Int8 -> Int -> Int8 # testBit :: Int8 -> Int -> Bool # bitSizeMaybe :: Int8 -> Maybe Int # shiftL :: Int8 -> Int -> Int8 # unsafeShiftL :: Int8 -> Int -> Int8 # shiftR :: Int8 -> Int -> Int8 # unsafeShiftR :: Int8 -> Int -> Int8 # rotateL :: Int8 -> Int -> Int8 # | |
| FiniteBits Int8 | Since: base-4.6.0.0 |
Defined in GHC.Int Methods finiteBitSize :: Int8 -> Int # countLeadingZeros :: Int8 -> Int # countTrailingZeros :: Int8 -> Int # | |
| Bounded Int8 | Since: base-2.1 |
| Enum Int8 | Since: base-2.1 |
| Ix Int8 | Since: base-2.1 |
| Num Int8 | Since: base-2.1 |
| Read Int8 | Since: base-2.1 |
| Integral Int8 | Since: base-2.1 |
| Real Int8 | Since: base-2.1 |
Defined in GHC.Int Methods toRational :: Int8 -> Rational # | |
| Show Int8 | Since: base-2.1 |
| NFData Int8 | |
Defined in Control.DeepSeq | |
| Eq Int8 | Since: base-2.1 |
| Ord Int8 | Since: base-2.1 |
| ReadRaw Int8 Source # | |
| StaticSize Int8 Source # | |
Defined in HsBindgen.Runtime.Marshal | |
| WriteRaw Int8 Source # | |
| Prim Int8 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int8 -> Int# # alignmentOfType# :: Proxy Int8 -> Int# # alignment# :: Int8 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int8 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int8 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int8 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int8 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int8 #) # writeOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int8 -> State# s -> State# s # | |
| Lift Int8 | |
16-bit signed integer type
Instances
| Data Int16 | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int16 -> c Int16 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int16 # dataTypeOf :: Int16 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int16) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int16) # gmapT :: (forall b. Data b => b -> b) -> Int16 -> Int16 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int16 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int16 -> r # gmapQ :: (forall d. Data d => d -> u) -> Int16 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Int16 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int16 -> m Int16 # | |
| Storable Int16 | Since: base-2.1 |
| Bits Int16 | Since: base-2.1 |
Defined in GHC.Int Methods (.&.) :: Int16 -> Int16 -> Int16 # (.|.) :: Int16 -> Int16 -> Int16 # xor :: Int16 -> Int16 -> Int16 # complement :: Int16 -> Int16 # shift :: Int16 -> Int -> Int16 # rotate :: Int16 -> Int -> Int16 # setBit :: Int16 -> Int -> Int16 # clearBit :: Int16 -> Int -> Int16 # complementBit :: Int16 -> Int -> Int16 # testBit :: Int16 -> Int -> Bool # bitSizeMaybe :: Int16 -> Maybe Int # shiftL :: Int16 -> Int -> Int16 # unsafeShiftL :: Int16 -> Int -> Int16 # shiftR :: Int16 -> Int -> Int16 # unsafeShiftR :: Int16 -> Int -> Int16 # rotateL :: Int16 -> Int -> Int16 # | |
| FiniteBits Int16 | Since: base-4.6.0.0 |
Defined in GHC.Int Methods finiteBitSize :: Int16 -> Int # countLeadingZeros :: Int16 -> Int # countTrailingZeros :: Int16 -> Int # | |
| Bounded Int16 | Since: base-2.1 |
| Enum Int16 | Since: base-2.1 |
| Ix Int16 | Since: base-2.1 |
| Num Int16 | Since: base-2.1 |
| Read Int16 | Since: base-2.1 |
| Integral Int16 | Since: base-2.1 |
| Real Int16 | Since: base-2.1 |
Defined in GHC.Int Methods toRational :: Int16 -> Rational # | |
| Show Int16 | Since: base-2.1 |
| NFData Int16 | |
Defined in Control.DeepSeq | |
| Eq Int16 | Since: base-2.1 |
| Ord Int16 | Since: base-2.1 |
| ReadRaw Int16 Source # | |
| StaticSize Int16 Source # | |
Defined in HsBindgen.Runtime.Marshal | |
| WriteRaw Int16 Source # | |
| Prim Int16 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int16 -> Int# # alignmentOfType# :: Proxy Int16 -> Int# # alignment# :: Int16 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int16 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int16 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int16 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int16 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int16 #) # writeOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int16 -> State# s -> State# s # | |
| Lift Int16 | |
32-bit signed integer type
Instances
| Data Int32 | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int32 -> c Int32 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int32 # dataTypeOf :: Int32 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int32) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int32) # gmapT :: (forall b. Data b => b -> b) -> Int32 -> Int32 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int32 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int32 -> r # gmapQ :: (forall d. Data d => d -> u) -> Int32 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Int32 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int32 -> m Int32 # | |
| Storable Int32 | Since: base-2.1 |
| Bits Int32 | Since: base-2.1 |
Defined in GHC.Int Methods (.&.) :: Int32 -> Int32 -> Int32 # (.|.) :: Int32 -> Int32 -> Int32 # xor :: Int32 -> Int32 -> Int32 # complement :: Int32 -> Int32 # shift :: Int32 -> Int -> Int32 # rotate :: Int32 -> Int -> Int32 # setBit :: Int32 -> Int -> Int32 # clearBit :: Int32 -> Int -> Int32 # complementBit :: Int32 -> Int -> Int32 # testBit :: Int32 -> Int -> Bool # bitSizeMaybe :: Int32 -> Maybe Int # shiftL :: Int32 -> Int -> Int32 # unsafeShiftL :: Int32 -> Int -> Int32 # shiftR :: Int32 -> Int -> Int32 # unsafeShiftR :: Int32 -> Int -> Int32 # rotateL :: Int32 -> Int -> Int32 # | |
| FiniteBits Int32 | Since: base-4.6.0.0 |
Defined in GHC.Int Methods finiteBitSize :: Int32 -> Int # countLeadingZeros :: Int32 -> Int # countTrailingZeros :: Int32 -> Int # | |
| Bounded Int32 | Since: base-2.1 |
| Enum Int32 | Since: base-2.1 |
| Ix Int32 | Since: base-2.1 |
| Num Int32 | Since: base-2.1 |
| Read Int32 | Since: base-2.1 |
| Integral Int32 | Since: base-2.1 |
| Real Int32 | Since: base-2.1 |
Defined in GHC.Int Methods toRational :: Int32 -> Rational # | |
| Show Int32 | Since: base-2.1 |
| NFData Int32 | |
Defined in Control.DeepSeq | |
| Eq Int32 | Since: base-2.1 |
| Ord Int32 | Since: base-2.1 |
| ReadRaw Int32 Source # | |
| StaticSize Int32 Source # | |
Defined in HsBindgen.Runtime.Marshal | |
| WriteRaw Int32 Source # | |
| Prim Int32 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int32 -> Int# # alignmentOfType# :: Proxy Int32 -> Int# # alignment# :: Int32 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int32 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int32 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int32 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int32 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int32 #) # writeOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int32 -> State# s -> State# s # | |
| Lift Int32 | |
64-bit signed integer type
Instances
| Data Int64 | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int64 -> c Int64 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int64 # dataTypeOf :: Int64 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int64) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int64) # gmapT :: (forall b. Data b => b -> b) -> Int64 -> Int64 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int64 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int64 -> r # gmapQ :: (forall d. Data d => d -> u) -> Int64 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Int64 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int64 -> m Int64 # | |
| Storable Int64 | Since: base-2.1 |
| Bits Int64 | Since: base-2.1 |
Defined in GHC.Int Methods (.&.) :: Int64 -> Int64 -> Int64 # (.|.) :: Int64 -> Int64 -> Int64 # xor :: Int64 -> Int64 -> Int64 # complement :: Int64 -> Int64 # shift :: Int64 -> Int -> Int64 # rotate :: Int64 -> Int -> Int64 # setBit :: Int64 -> Int -> Int64 # clearBit :: Int64 -> Int -> Int64 # complementBit :: Int64 -> Int -> Int64 # testBit :: Int64 -> Int -> Bool # bitSizeMaybe :: Int64 -> Maybe Int # shiftL :: Int64 -> Int -> Int64 # unsafeShiftL :: Int64 -> Int -> Int64 # shiftR :: Int64 -> Int -> Int64 # unsafeShiftR :: Int64 -> Int -> Int64 # rotateL :: Int64 -> Int -> Int64 # | |
| FiniteBits Int64 | Since: base-4.6.0.0 |
Defined in GHC.Int Methods finiteBitSize :: Int64 -> Int # countLeadingZeros :: Int64 -> Int # countTrailingZeros :: Int64 -> Int # | |
| Bounded Int64 | Since: base-2.1 |
| Enum Int64 | Since: base-2.1 |
| Ix Int64 | Since: base-2.1 |
| Num Int64 | Since: base-2.1 |
| Read Int64 | Since: base-2.1 |
| Integral Int64 | Since: base-2.1 |
| Real Int64 | Since: base-2.1 |
Defined in GHC.Int Methods toRational :: Int64 -> Rational # | |
| Show Int64 | Since: base-2.1 |
| NFData Int64 | |
Defined in Control.DeepSeq | |
| Eq Int64 | Since: base-2.1 |
| Ord Int64 | Since: base-2.1 |
| ReadRaw Int64 Source # | |
| StaticSize Int64 Source # | |
Defined in HsBindgen.Runtime.Marshal | |
| WriteRaw Int64 Source # | |
| Prim Int64 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Int64 -> Int# # alignmentOfType# :: Proxy Int64 -> Int# # alignment# :: Int64 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Int64 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int64 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int64 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Int64 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int64 #) # writeOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Int64 -> State# s -> State# s # | |
| Lift Int64 | |
8-bit unsigned integer type
Instances
| Data Word8 | Since: base-4.0.0.0 |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word8 -> c Word8 # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word8 # dataTypeOf :: Word8 -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word8) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word8) # gmapT :: (forall b. Data b => b -> b) -> Word8 -> Word8 # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r # gmapQ :: (forall d. Data d => d -> u) -> Word8 -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Word8 -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8 # | |
| Storable Word8 | Since: base-2.1 |
| Bits Word8 | Since: base-2.1 |
Defined in GHC.Word Methods (.&.) :: Word8 -> Word8 -> Word8 # (.|.) :: Word8 -> Word8 -> Word8 # xor :: Word8 -> Word8 -> Word8 # complement :: Word8 -> Word8 # shift :: Word8 -> Int -> Word8 # rotate :: Word8 -> Int -> Word8 # setBit :: Word8 -> Int -> Word8 # clearBit :: Word8 -> Int -> Word8 # complementBit :: Word8 -> Int -> Word8 # testBit :: Word8 -> Int -> Bool # bitSizeMaybe :: Word8 -> Maybe Int # shiftL :: Word8 -> Int -> Word8 # unsafeShiftL :: Word8 -> Int -> Word8 # shiftR :: Word8 -> Int -> Word8 # unsafeShiftR :: Word8 -> Int -> Word8 # rotateL :: Word8 -> Int -> Word8 # | |
| FiniteBits Word8 | Since: base-4.6.0.0 |
Defined in GHC.Word Methods finiteBitSize :: Word8 -> Int # countLeadingZeros :: Word8 -> Int # countTrailingZeros :: Word8 -> Int # | |
| Bounded Word8 | Since: base-2.1 |
| Enum Word8 | Since: base-2.1 |
| Ix Word8 | Since: base-2.1 |
| Num Word8 | Since: base-2.1 |
| Read Word8 | Since: base-2.1 |
| Integral Word8 | Since: base-2.1 |
| Real Word8 | Since: base-2.1 |
Defined in GHC.Word Methods toRational :: Word8 -> Rational # | |
| Show Word8 | Since: base-2.1 |
| NFData Word8 | |
Defined in Control.DeepSeq | |
| Eq Word8 | Since: base-2.1 |
| Ord Word8 | Since: base-2.1 |
| ReadRaw Word8 Source # | |
| StaticSize Word8 Source # | |
Defined in HsBindgen.Runtime.Marshal | |
| WriteRaw Word8 Source # | |
| Prim Word8 | |
Defined in Data.Primitive.Types Methods sizeOfType# :: Proxy Word8 -> Int# # alignmentOfType# :: Proxy Word8 -> Int# # alignment# :: Word8 -> Int# # indexByteArray# :: ByteArray# -> Int# -> Word8 # readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word8 #) # writeByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> State# s # setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word8 -> State# s -> State# s # indexOffAddr# :: Addr# -> Int# -> Word8 # readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word8 #) # writeOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> State# s # setOffAddr# :: Addr# -> Int# -> Int# -> Word8 -> State# s -> State# s # | |
| Lift Word8 | |
16-bit unsigned integer type
Instances
32-bit unsigned integer type
Instances
64-bit unsigned integer type
Instances
Instances
Instances
Instances
Instances
Floating types
float_t, defined in the math.h header file, is not supported yet because
it uses long double.
double_t, defined in the math.h header file, is not supported yet because
it uses long double.
C fenv_t type
fenv_t represents the entire floating-point environment. It is
implementation-specific, so this representation is opaque and may only be
used with a Ptr. It is available since C99. It is defined in the fenv.h
header file.
C fexcept_t type
fexcept_t represents the floating-point status flags collectively,
including any status the implementation associates with the flags. It is
implementation-specific, so this representation is opaque and may only be
used with a Ptr. It is available since C99. It is defined in the fenv.h
header file.
Standard definitions
size_t is an unsigned integral type used to represent the size of objects
in memory and dereference elements of an array. It is defined in the
stddef.h header file, and it is made available in many other header files
that use it. CSize, defined in base with a platform-specific
implementation, is the corresponding Haskell type.
ptrdiff_t is a type that represents the result of pointer subtraction. It
is defined in the stddef.h header file. CPtrdiff, defined in
base with a platform-specific implementation, is the corresponding Haskell
type.
max_align_t, defined in the stddef.h header from C11, is not supported
yet because it uses long double.
Haskell type representing the C size_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C ptrdiff_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Non-local jump types
jmp_buf holds information to restore the calling environment. It is
defined in the setjmp.h header file. CJmpBuf, defined in
base as an opaque type, may only be used with a Ptr.
Haskell type representing the C jmp_buf type.
(The concrete types of Foreign.C.Types are platform-specific.)
Wide character types
wchar_t represents wide characters. It is available since C95. It is
defined in the stddef.h and wchar.h header files, and it is made
available in other header files that use it. CWchar, defined in
base with a platform-specific implementation, is the corresponding Haskell
type.
Haskell type representing the C wchar_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
C wint_t type
wint_t represents wide integers. It is available since C95. It is defined
in the wchar.h and wctype.h header files.
Instances
C mbstate_t type
mbstate_t is a complete object type other than an array type that can hold
the conversion state information necessary to convert between sequences of
multibyte characters and wide characters. It is implementation-specific, so
this representation is opaque and may only be used with a Ptr. It is
available since C95. It is defined in the wchar.h and uchar.h header
files.
C wctrans_t type
wctrans_t is a scalar type that can hold values which represent
locale-specific character transformations. It is available since C95. It is
defined in the wctype.h header file.
Instances
C wctype_t type
wctype_t is a scalar type that can hold values which represent
locale-specific character classification categories. It is available since
C95. It is defined in the wctype.h and wchar.h header files.
Instances
C char16_t type
char16_t represents a 16-bit Unicode character. It is available since C11.
It is defined in the uchar.h header file.
Instances
C char32_t type
char32_t represents a 32-bit Unicode character. It is available since C11.
It is defined in the uchar.h header file.
Instances
Localization types
struct lconv, defined in the locale.h header file, is not supported yet
because fields differ across C standards.
Time types
time_t represents a point in time. It is not portable, as libraries may
use different time representations. It is defined in the time.h header
file, and it is made available in other header files that use it.
CTime, defined in base with a platform-specific implementation,
is the corresponding Haskell type.
clock_t represents clock tick counts, in units of time of a constant but
system-specific duration. It is defined in the time.h header file, and it
is made available in other header files that use it. CClock,
defined in base with a platform-specific implementation, is the
corresponding Haskell type.
Haskell type representing the C time_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
Haskell type representing the C clock_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
Instances
C struct tm type
struct tm holds the components of a calendar time, called the
broken-down time. Note that only the fields defined in the standard are
represented here. It is defined in the time.h header file, and it is made
available in other header files that use it.
Constructors
| CTm | |
Fields
| |
Instances
File types
FILE identifies and contains information that controls a stream. It is
defined in the stdio.h header file, and it is made available in other
header files that use it. CFile, defined in base as an opaque
type, may only be used with a Ptr.
fpos_t contains information that specifies a position within a file. It is
defined in the stdio.h header file. CFpos, defined in base
as an opaque type, may only be used with a Ptr.
Haskell type representing the C FILE type.
(The concrete types of Foreign.C.Types are platform-specific.)
Haskell type representing the C fpos_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
Signal types
sig_atomic_t is an integral type that represents an object that can be
accessed as an atomic entity even in the presence of asynchronous signals.
It is defined in the signal.h header file. CSigAtomic, defined
in base with a platform-specific implementation.
newtype CSigAtomic #
Haskell type representing the C sig_atomic_t type.
(The concrete types of Foreign.C.Types are platform-specific.)
See Note [Lack of signals on wasm32-wasi].
Constructors
| CSigAtomic Int32 |