base-4.16.1.0: Basic libraries
Copyright(c) The FFI task force 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerffi@haskell.org
Stabilityprovisional
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell2010

Foreign.C.Types

Description

Mapping of C types to corresponding Haskell types.

Synopsis

Representations of C types

These types are needed to accurately represent C function prototypes, in order to access C library interfaces in Haskell. The Haskell system is not required to represent those types exactly as C does, but the following guarantees are provided concerning a Haskell type CT representing a C type t:

  • If a C function prototype has t as an argument or result type, the use of CT in the corresponding position in a foreign declaration permits the Haskell program to access the full range of values encoded by the C type; and conversely, any Haskell value for CT has a valid representation in C.
  • sizeOf (undefined :: CT) will yield the same value as sizeof (t) in C.
  • alignment (undefined :: CT) matches the alignment constraint enforced by the C implementation for t.
  • The members peek and poke of the Storable class map all values of CT to the corresponding value of t and vice versa.
  • When an instance of Bounded is defined for CT, the values of minBound and maxBound coincide with t_MIN and t_MAX in C.
  • When an instance of Eq or Ord is defined for CT, the predicates defined by the type class implement the same relation as the corresponding predicate in C on t.
  • When an instance of Num, Read, Integral, Fractional, Floating, RealFrac, or RealFloat is defined for CT, the arithmetic operations defined by the type class implement the same function as the corresponding arithmetic operations (if available) in C on t.
  • When an instance of Bits is defined for CT, the bitwise operation defined by the type class implement the same function as the corresponding bitwise operation in C on t.

Platform differences

This module contains platform specific information about types. As such, the types presented on this page reflect the platform on which the documentation was generated and may not coincide with the types on your platform.

Integral types

These types are represented as newtypes of types in Data.Int and Data.Word, and are instances of Eq, Ord, Num, Read, Show, Enum, Typeable, Storable, Bounded, Real, Integral and Bits.

newtype CChar Source #

Haskell type representing the C char type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CChar Int8 

Instances

Instances details
Storable CChar # 
Instance details

Defined in Foreign.C.Types

Bits CChar # 
Instance details

Defined in Foreign.C.Types

FiniteBits CChar # 
Instance details

Defined in Foreign.C.Types

Bounded CChar # 
Instance details

Defined in Foreign.C.Types

Enum CChar # 
Instance details

Defined in Foreign.C.Types

Ix CChar # 
Instance details

Defined in Foreign.C.Types

Num CChar # 
Instance details

Defined in Foreign.C.Types

Read CChar # 
Instance details

Defined in Foreign.C.Types

Integral CChar # 
Instance details

Defined in Foreign.C.Types

Real CChar # 
Instance details

Defined in Foreign.C.Types

Show CChar # 
Instance details

Defined in Foreign.C.Types

Eq CChar # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CChar -> CChar -> Bool Source #

(/=) :: CChar -> CChar -> Bool Source #

Ord CChar # 
Instance details

Defined in Foreign.C.Types

newtype CSChar Source #

Haskell type representing the C signed char type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CSChar Int8 

Instances

Instances details
Storable CSChar # 
Instance details

Defined in Foreign.C.Types

Bits CSChar # 
Instance details

Defined in Foreign.C.Types

FiniteBits CSChar # 
Instance details

Defined in Foreign.C.Types

Bounded CSChar # 
Instance details

Defined in Foreign.C.Types

Enum CSChar # 
Instance details

Defined in Foreign.C.Types

Ix CSChar # 
Instance details

Defined in Foreign.C.Types

Num CSChar # 
Instance details

Defined in Foreign.C.Types

Read CSChar # 
Instance details

Defined in Foreign.C.Types

Integral CSChar # 
Instance details

Defined in Foreign.C.Types

Real CSChar # 
Instance details

Defined in Foreign.C.Types

Show CSChar # 
Instance details

Defined in Foreign.C.Types

Eq CSChar # 
Instance details

Defined in Foreign.C.Types

Ord CSChar # 
Instance details

Defined in Foreign.C.Types

newtype CUChar Source #

Haskell type representing the C unsigned char type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CUChar Word8 

Instances

Instances details
Storable CUChar # 
Instance details

Defined in Foreign.C.Types

Bits CUChar # 
Instance details

Defined in Foreign.C.Types

FiniteBits CUChar # 
Instance details

Defined in Foreign.C.Types

Bounded CUChar # 
Instance details

Defined in Foreign.C.Types

Enum CUChar # 
Instance details

Defined in Foreign.C.Types

Ix CUChar # 
Instance details

Defined in Foreign.C.Types

Num CUChar # 
Instance details

Defined in Foreign.C.Types

Read CUChar # 
Instance details

Defined in Foreign.C.Types

Integral CUChar # 
Instance details

Defined in Foreign.C.Types

Real CUChar # 
Instance details

Defined in Foreign.C.Types

Show CUChar # 
Instance details

Defined in Foreign.C.Types

Eq CUChar # 
Instance details

Defined in Foreign.C.Types

Ord CUChar # 
Instance details

Defined in Foreign.C.Types

newtype CShort Source #

Haskell type representing the C short type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CShort Int16 

Instances

Instances details
Storable CShort # 
Instance details

Defined in Foreign.C.Types

Bits CShort # 
Instance details

Defined in Foreign.C.Types

FiniteBits CShort # 
Instance details

Defined in Foreign.C.Types

Bounded CShort # 
Instance details

Defined in Foreign.C.Types

Enum CShort # 
Instance details

Defined in Foreign.C.Types

Ix CShort # 
Instance details

Defined in Foreign.C.Types

Num CShort # 
Instance details

Defined in Foreign.C.Types

Read CShort # 
Instance details

Defined in Foreign.C.Types

Integral CShort # 
Instance details

Defined in Foreign.C.Types

Real CShort # 
Instance details

Defined in Foreign.C.Types

Show CShort # 
Instance details

Defined in Foreign.C.Types

Eq CShort # 
Instance details

Defined in Foreign.C.Types

Ord CShort # 
Instance details

Defined in Foreign.C.Types

newtype CUShort Source #

Haskell type representing the C unsigned short type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CUShort Word16 

Instances

Instances details
Storable CUShort # 
Instance details

Defined in Foreign.C.Types

Bits CUShort # 
Instance details

Defined in Foreign.C.Types

FiniteBits CUShort # 
Instance details

Defined in Foreign.C.Types

Bounded CUShort # 
Instance details

Defined in Foreign.C.Types

Enum CUShort # 
Instance details

Defined in Foreign.C.Types

Ix CUShort # 
Instance details

Defined in Foreign.C.Types

Num CUShort # 
Instance details

Defined in Foreign.C.Types

Read CUShort # 
Instance details

Defined in Foreign.C.Types

Integral CUShort # 
Instance details

Defined in Foreign.C.Types

Real CUShort # 
Instance details

Defined in Foreign.C.Types

Show CUShort # 
Instance details

Defined in Foreign.C.Types

Eq CUShort # 
Instance details

Defined in Foreign.C.Types

Ord CUShort # 
Instance details

Defined in Foreign.C.Types

newtype CInt Source #

Haskell type representing the C int type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CInt Int32 

Instances

Instances details
Storable CInt # 
Instance details

Defined in Foreign.C.Types

Bits CInt # 
Instance details

Defined in Foreign.C.Types

FiniteBits CInt # 
Instance details

Defined in Foreign.C.Types

Bounded CInt # 
Instance details

Defined in Foreign.C.Types

Enum CInt # 
Instance details

Defined in Foreign.C.Types

Ix CInt # 
Instance details

Defined in Foreign.C.Types

Num CInt # 
Instance details

Defined in Foreign.C.Types

Read CInt # 
Instance details

Defined in Foreign.C.Types

Integral CInt # 
Instance details

Defined in Foreign.C.Types

Real CInt # 
Instance details

Defined in Foreign.C.Types

Show CInt # 
Instance details

Defined in Foreign.C.Types

Eq CInt # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CInt -> CInt -> Bool Source #

(/=) :: CInt -> CInt -> Bool Source #

Ord CInt # 
Instance details

Defined in Foreign.C.Types

newtype CUInt Source #

Haskell type representing the C unsigned int type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CUInt Word32 

Instances

Instances details
Storable CUInt # 
Instance details

Defined in Foreign.C.Types

Bits CUInt # 
Instance details

Defined in Foreign.C.Types

FiniteBits CUInt # 
Instance details

Defined in Foreign.C.Types

Bounded CUInt # 
Instance details

Defined in Foreign.C.Types

Enum CUInt # 
Instance details

Defined in Foreign.C.Types

Ix CUInt # 
Instance details

Defined in Foreign.C.Types

Num CUInt # 
Instance details

Defined in Foreign.C.Types

Read CUInt # 
Instance details

Defined in Foreign.C.Types

Integral CUInt # 
Instance details

Defined in Foreign.C.Types

Real CUInt # 
Instance details

Defined in Foreign.C.Types

Show CUInt # 
Instance details

Defined in Foreign.C.Types

Eq CUInt # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CUInt -> CUInt -> Bool Source #

(/=) :: CUInt -> CUInt -> Bool Source #

Ord CUInt # 
Instance details

Defined in Foreign.C.Types

newtype CLong Source #

Haskell type representing the C long type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CLong Int64 

Instances

Instances details
Storable CLong # 
Instance details

Defined in Foreign.C.Types

Bits CLong # 
Instance details

Defined in Foreign.C.Types

FiniteBits CLong # 
Instance details

Defined in Foreign.C.Types

Bounded CLong # 
Instance details

Defined in Foreign.C.Types

Enum CLong # 
Instance details

Defined in Foreign.C.Types

Ix CLong # 
Instance details

Defined in Foreign.C.Types

Num CLong # 
Instance details

Defined in Foreign.C.Types

Read CLong # 
Instance details

Defined in Foreign.C.Types

Integral CLong # 
Instance details

Defined in Foreign.C.Types

Real CLong # 
Instance details

Defined in Foreign.C.Types

Show CLong # 
Instance details

Defined in Foreign.C.Types

Eq CLong # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CLong -> CLong -> Bool Source #

(/=) :: CLong -> CLong -> Bool Source #

Ord CLong # 
Instance details

Defined in Foreign.C.Types

newtype CULong Source #

Haskell type representing the C unsigned long type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CULong Word64 

Instances

Instances details
Storable CULong # 
Instance details

Defined in Foreign.C.Types

Bits CULong # 
Instance details

Defined in Foreign.C.Types

FiniteBits CULong # 
Instance details

Defined in Foreign.C.Types

Bounded CULong # 
Instance details

Defined in Foreign.C.Types

Enum CULong # 
Instance details

Defined in Foreign.C.Types

Ix CULong # 
Instance details

Defined in Foreign.C.Types

Num CULong # 
Instance details

Defined in Foreign.C.Types

Read CULong # 
Instance details

Defined in Foreign.C.Types

Integral CULong # 
Instance details

Defined in Foreign.C.Types

Real CULong # 
Instance details

Defined in Foreign.C.Types

Show CULong # 
Instance details

Defined in Foreign.C.Types

Eq CULong # 
Instance details

Defined in Foreign.C.Types

Ord CULong # 
Instance details

Defined in Foreign.C.Types

newtype CPtrdiff Source #

Haskell type representing the C ptrdiff_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CPtrdiff Int64 

Instances

Instances details
Storable CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Bits CPtrdiff # 
Instance details

Defined in Foreign.C.Types

FiniteBits CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Bounded CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Enum CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Ix CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Num CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Read CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Integral CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Real CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Show CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Eq CPtrdiff # 
Instance details

Defined in Foreign.C.Types

Ord CPtrdiff # 
Instance details

Defined in Foreign.C.Types

newtype CSize Source #

Haskell type representing the C size_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CSize Word64 

Instances

Instances details
Storable CSize # 
Instance details

Defined in Foreign.C.Types

Bits CSize # 
Instance details

Defined in Foreign.C.Types

FiniteBits CSize # 
Instance details

Defined in Foreign.C.Types

Bounded CSize # 
Instance details

Defined in Foreign.C.Types

Enum CSize # 
Instance details

Defined in Foreign.C.Types

Ix CSize # 
Instance details

Defined in Foreign.C.Types

Num CSize # 
Instance details

Defined in Foreign.C.Types

Read CSize # 
Instance details

Defined in Foreign.C.Types

Integral CSize # 
Instance details

Defined in Foreign.C.Types

Real CSize # 
Instance details

Defined in Foreign.C.Types

Show CSize # 
Instance details

Defined in Foreign.C.Types

Eq CSize # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CSize -> CSize -> Bool Source #

(/=) :: CSize -> CSize -> Bool Source #

Ord CSize # 
Instance details

Defined in Foreign.C.Types

newtype CWchar Source #

Haskell type representing the C wchar_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CWchar Int32 

Instances

Instances details
Storable CWchar # 
Instance details

Defined in Foreign.C.Types

Bits CWchar # 
Instance details

Defined in Foreign.C.Types

FiniteBits CWchar # 
Instance details

Defined in Foreign.C.Types

Bounded CWchar # 
Instance details

Defined in Foreign.C.Types

Enum CWchar # 
Instance details

Defined in Foreign.C.Types

Ix CWchar # 
Instance details

Defined in Foreign.C.Types

Num CWchar # 
Instance details

Defined in Foreign.C.Types

Read CWchar # 
Instance details

Defined in Foreign.C.Types

Integral CWchar # 
Instance details

Defined in Foreign.C.Types

Real CWchar # 
Instance details

Defined in Foreign.C.Types

Show CWchar # 
Instance details

Defined in Foreign.C.Types

Eq CWchar # 
Instance details

Defined in Foreign.C.Types

Ord CWchar # 
Instance details

Defined in Foreign.C.Types

newtype CSigAtomic Source #

Haskell type representing the C sig_atomic_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CSigAtomic Int32 

Instances

Instances details
Storable CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Bits CSigAtomic # 
Instance details

Defined in Foreign.C.Types

FiniteBits CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Bounded CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Enum CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Ix CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Num CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Read CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Integral CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Real CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Show CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Eq CSigAtomic # 
Instance details

Defined in Foreign.C.Types

Ord CSigAtomic # 
Instance details

Defined in Foreign.C.Types

newtype CLLong Source #

Haskell type representing the C long long type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CLLong Int64 

Instances

Instances details
Storable CLLong # 
Instance details

Defined in Foreign.C.Types

Bits CLLong # 
Instance details

Defined in Foreign.C.Types

FiniteBits CLLong # 
Instance details

Defined in Foreign.C.Types

Bounded CLLong # 
Instance details

Defined in Foreign.C.Types

Enum CLLong # 
Instance details

Defined in Foreign.C.Types

Ix CLLong # 
Instance details

Defined in Foreign.C.Types

Num CLLong # 
Instance details

Defined in Foreign.C.Types

Read CLLong # 
Instance details

Defined in Foreign.C.Types

Integral CLLong # 
Instance details

Defined in Foreign.C.Types

Real CLLong # 
Instance details

Defined in Foreign.C.Types

Show CLLong # 
Instance details

Defined in Foreign.C.Types

Eq CLLong # 
Instance details

Defined in Foreign.C.Types

Ord CLLong # 
Instance details

Defined in Foreign.C.Types

newtype CULLong Source #

Haskell type representing the C unsigned long long type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CULLong Word64 

Instances

Instances details
Storable CULLong # 
Instance details

Defined in Foreign.C.Types

Bits CULLong # 
Instance details

Defined in Foreign.C.Types

FiniteBits CULLong # 
Instance details

Defined in Foreign.C.Types

Bounded CULLong # 
Instance details

Defined in Foreign.C.Types

Enum CULLong # 
Instance details

Defined in Foreign.C.Types

Ix CULLong # 
Instance details

Defined in Foreign.C.Types

Num CULLong # 
Instance details

Defined in Foreign.C.Types

Read CULLong # 
Instance details

Defined in Foreign.C.Types

Integral CULLong # 
Instance details

Defined in Foreign.C.Types

Real CULLong # 
Instance details

Defined in Foreign.C.Types

Show CULLong # 
Instance details

Defined in Foreign.C.Types

Eq CULLong # 
Instance details

Defined in Foreign.C.Types

Ord CULLong # 
Instance details

Defined in Foreign.C.Types

newtype CBool Source #

Haskell type representing the C bool type. (The concrete types of Foreign.C.Types are platform-specific.)

Since: base-4.10.0.0

Constructors

CBool Word8 

Instances

Instances details
Storable CBool # 
Instance details

Defined in Foreign.C.Types

Bits CBool # 
Instance details

Defined in Foreign.C.Types

FiniteBits CBool # 
Instance details

Defined in Foreign.C.Types

Bounded CBool # 
Instance details

Defined in Foreign.C.Types

Enum CBool # 
Instance details

Defined in Foreign.C.Types

Ix CBool # 
Instance details

Defined in Foreign.C.Types

Num CBool # 
Instance details

Defined in Foreign.C.Types

Read CBool # 
Instance details

Defined in Foreign.C.Types

Integral CBool # 
Instance details

Defined in Foreign.C.Types

Real CBool # 
Instance details

Defined in Foreign.C.Types

Show CBool # 
Instance details

Defined in Foreign.C.Types

Eq CBool # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CBool -> CBool -> Bool Source #

(/=) :: CBool -> CBool -> Bool Source #

Ord CBool # 
Instance details

Defined in Foreign.C.Types

newtype CIntPtr Source #

Constructors

CIntPtr Int64 

Instances

Instances details
Storable CIntPtr # 
Instance details

Defined in Foreign.C.Types

Bits CIntPtr # 
Instance details

Defined in Foreign.C.Types

FiniteBits CIntPtr # 
Instance details

Defined in Foreign.C.Types

Bounded CIntPtr # 
Instance details

Defined in Foreign.C.Types

Enum CIntPtr # 
Instance details

Defined in Foreign.C.Types

Ix CIntPtr # 
Instance details

Defined in Foreign.C.Types

Num CIntPtr # 
Instance details

Defined in Foreign.C.Types

Read CIntPtr # 
Instance details

Defined in Foreign.C.Types

Integral CIntPtr # 
Instance details

Defined in Foreign.C.Types

Real CIntPtr # 
Instance details

Defined in Foreign.C.Types

Show CIntPtr # 
Instance details

Defined in Foreign.C.Types

Eq CIntPtr # 
Instance details

Defined in Foreign.C.Types

Ord CIntPtr # 
Instance details

Defined in Foreign.C.Types

newtype CUIntPtr Source #

Constructors

CUIntPtr Word64 

Instances

Instances details
Storable CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Bits CUIntPtr # 
Instance details

Defined in Foreign.C.Types

FiniteBits CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Bounded CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Enum CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Ix CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Num CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Read CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Integral CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Real CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Show CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Eq CUIntPtr # 
Instance details

Defined in Foreign.C.Types

Ord CUIntPtr # 
Instance details

Defined in Foreign.C.Types

newtype CIntMax Source #

Constructors

CIntMax Int64 

Instances

Instances details
Storable CIntMax # 
Instance details

Defined in Foreign.C.Types

Bits CIntMax # 
Instance details

Defined in Foreign.C.Types

FiniteBits CIntMax # 
Instance details

Defined in Foreign.C.Types

Bounded CIntMax # 
Instance details

Defined in Foreign.C.Types

Enum CIntMax # 
Instance details

Defined in Foreign.C.Types

Ix CIntMax # 
Instance details

Defined in Foreign.C.Types

Num CIntMax # 
Instance details

Defined in Foreign.C.Types

Read CIntMax # 
Instance details

Defined in Foreign.C.Types

Integral CIntMax # 
Instance details

Defined in Foreign.C.Types

Real CIntMax # 
Instance details

Defined in Foreign.C.Types

Show CIntMax # 
Instance details

Defined in Foreign.C.Types

Eq CIntMax # 
Instance details

Defined in Foreign.C.Types

Ord CIntMax # 
Instance details

Defined in Foreign.C.Types

newtype CUIntMax Source #

Constructors

CUIntMax Word64 

Instances

Instances details
Storable CUIntMax # 
Instance details

Defined in Foreign.C.Types

Bits CUIntMax # 
Instance details

Defined in Foreign.C.Types

FiniteBits CUIntMax # 
Instance details

Defined in Foreign.C.Types

Bounded CUIntMax # 
Instance details

Defined in Foreign.C.Types

Enum CUIntMax # 
Instance details

Defined in Foreign.C.Types

Ix CUIntMax # 
Instance details

Defined in Foreign.C.Types

Num CUIntMax # 
Instance details

Defined in Foreign.C.Types

Read CUIntMax # 
Instance details

Defined in Foreign.C.Types

Integral CUIntMax # 
Instance details

Defined in Foreign.C.Types

Real CUIntMax # 
Instance details

Defined in Foreign.C.Types

Show CUIntMax # 
Instance details

Defined in Foreign.C.Types

Eq CUIntMax # 
Instance details

Defined in Foreign.C.Types

Ord CUIntMax # 
Instance details

Defined in Foreign.C.Types

Numeric types

These types are represented as newtypes of basic foreign types, and are instances of Eq, Ord, Num, Read, Show, Enum, Typeable and Storable.

newtype CClock Source #

Haskell type representing the C clock_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CClock Int64 

Instances

Instances details
Storable CClock # 
Instance details

Defined in Foreign.C.Types

Enum CClock # 
Instance details

Defined in Foreign.C.Types

Num CClock # 
Instance details

Defined in Foreign.C.Types

Read CClock # 
Instance details

Defined in Foreign.C.Types

Real CClock # 
Instance details

Defined in Foreign.C.Types

Show CClock # 
Instance details

Defined in Foreign.C.Types

Eq CClock # 
Instance details

Defined in Foreign.C.Types

Ord CClock # 
Instance details

Defined in Foreign.C.Types

newtype CTime Source #

Haskell type representing the C time_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CTime Int64 

Instances

Instances details
Storable CTime # 
Instance details

Defined in Foreign.C.Types

Enum CTime # 
Instance details

Defined in Foreign.C.Types

Num CTime # 
Instance details

Defined in Foreign.C.Types

Read CTime # 
Instance details

Defined in Foreign.C.Types

Real CTime # 
Instance details

Defined in Foreign.C.Types

Show CTime # 
Instance details

Defined in Foreign.C.Types

Eq CTime # 
Instance details

Defined in Foreign.C.Types

Methods

(==) :: CTime -> CTime -> Bool Source #

(/=) :: CTime -> CTime -> Bool Source #

Ord CTime # 
Instance details

Defined in Foreign.C.Types

newtype CUSeconds Source #

Haskell type representing the C useconds_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Since: base-4.4.0.0

Constructors

CUSeconds Word32 

Instances

Instances details
Storable CUSeconds # 
Instance details

Defined in Foreign.C.Types

Enum CUSeconds # 
Instance details

Defined in Foreign.C.Types

Num CUSeconds # 
Instance details

Defined in Foreign.C.Types

Read CUSeconds # 
Instance details

Defined in Foreign.C.Types

Real CUSeconds # 
Instance details

Defined in Foreign.C.Types

Show CUSeconds # 
Instance details

Defined in Foreign.C.Types

Eq CUSeconds # 
Instance details

Defined in Foreign.C.Types

Ord CUSeconds # 
Instance details

Defined in Foreign.C.Types

newtype CSUSeconds Source #

Haskell type representing the C suseconds_t type. (The concrete types of Foreign.C.Types are platform-specific.)

Since: base-4.4.0.0

Constructors

CSUSeconds Int64 

Instances

Instances details
Storable CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Enum CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Num CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Read CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Real CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Show CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Eq CSUSeconds # 
Instance details

Defined in Foreign.C.Types

Ord CSUSeconds # 
Instance details

Defined in Foreign.C.Types

To convert CTime to UTCTime, use the following:

\t -> posixSecondsToUTCTime (realToFrac t :: POSIXTime)

Floating types

These types are represented as newtypes of Float and Double, and are instances of Eq, Ord, Num, Read, Show, Enum, Typeable, Storable, Real, Fractional, Floating, RealFrac and RealFloat. That does mean that CFloat's (respectively CDouble's) instances of Eq, Ord, Num and Fractional are as badly behaved as Float's (respectively Double's).

newtype CFloat Source #

Haskell type representing the C float type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CFloat Float 

Instances

Instances details
Storable CFloat # 
Instance details

Defined in Foreign.C.Types

Enum CFloat # 
Instance details

Defined in Foreign.C.Types

Floating CFloat # 
Instance details

Defined in Foreign.C.Types

RealFloat CFloat # 
Instance details

Defined in Foreign.C.Types

Num CFloat # 
Instance details

Defined in Foreign.C.Types

Read CFloat # 
Instance details

Defined in Foreign.C.Types

Fractional CFloat # 
Instance details

Defined in Foreign.C.Types

Real CFloat # 
Instance details

Defined in Foreign.C.Types

RealFrac CFloat # 
Instance details

Defined in Foreign.C.Types

Show CFloat # 
Instance details

Defined in Foreign.C.Types

Eq CFloat # 
Instance details

Defined in Foreign.C.Types

Ord CFloat # 
Instance details

Defined in Foreign.C.Types

newtype CDouble Source #

Haskell type representing the C double type. (The concrete types of Foreign.C.Types are platform-specific.)

Constructors

CDouble Double 

Instances

Instances details
Storable CDouble # 
Instance details

Defined in Foreign.C.Types

Enum CDouble # 
Instance details

Defined in Foreign.C.Types

Floating CDouble # 
Instance details

Defined in Foreign.C.Types

RealFloat CDouble # 
Instance details

Defined in Foreign.C.Types

Num CDouble # 
Instance details

Defined in Foreign.C.Types

Read CDouble # 
Instance details

Defined in Foreign.C.Types

Fractional CDouble # 
Instance details

Defined in Foreign.C.Types

Real CDouble # 
Instance details

Defined in Foreign.C.Types

RealFrac CDouble # 
Instance details

Defined in Foreign.C.Types

Show CDouble # 
Instance details

Defined in Foreign.C.Types

Eq CDouble # 
Instance details

Defined in Foreign.C.Types

Ord CDouble # 
Instance details

Defined in Foreign.C.Types

Other types

data CFile Source #

Haskell type representing the C FILE type. (The concrete types of Foreign.C.Types are platform-specific.)

data CFpos Source #

Haskell type representing the C fpos_t type. (The concrete types of Foreign.C.Types are platform-specific.)

data CJmpBuf Source #

Haskell type representing the C jmp_buf type. (The concrete types of Foreign.C.Types are platform-specific.)