@@ -27,11 +27,11 @@ module Foreign.C.Types
27
27
( -- * Representations of C types
28
28
-- $ctypes
29
29
30
- -- ** Platform differences
30
+ -- ** #platform# Platform differences
31
31
-- | This module contains platform specific information about types.
32
- -- __/As such the types presented on this page reflect the platform
33
- -- on which the documentation was generated and may not coincide with
34
- -- the types on your platform./__
32
+ -- __/As such, the types presented on this page reflect the/__
33
+ -- __/platform on which the documentation was generated and may/__
34
+ -- __/not coincide with the types on your platform./__
35
35
36
36
-- ** Integral types
37
37
-- | These types are represented as @newtype@s of
@@ -105,33 +105,45 @@ import GHC.Num
105
105
#include "CTypes.h"
106
106
107
107
-- | Haskell type representing the C @char@ type.
108
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
108
109
INTEGRAL_TYPE (CChar ,HTYPE_CHAR )
109
110
-- | Haskell type representing the C @signed char@ type.
111
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
110
112
INTEGRAL_TYPE (CSChar ,HTYPE_SIGNED_CHAR )
111
113
-- | Haskell type representing the C @unsigned char@ type.
114
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
112
115
INTEGRAL_TYPE (CUChar ,HTYPE_UNSIGNED_CHAR )
113
116
114
117
-- | Haskell type representing the C @short@ type.
118
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
115
119
INTEGRAL_TYPE (CShort ,HTYPE_SHORT )
116
120
-- | Haskell type representing the C @unsigned short@ type.
121
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
117
122
INTEGRAL_TYPE (CUShort ,HTYPE_UNSIGNED_SHORT )
118
123
119
124
-- | Haskell type representing the C @int@ type.
125
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
120
126
INTEGRAL_TYPE (CInt ,HTYPE_INT )
121
127
-- | Haskell type representing the C @unsigned int@ type.
128
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
122
129
INTEGRAL_TYPE (CUInt ,HTYPE_UNSIGNED_INT )
123
130
124
131
-- | Haskell type representing the C @long@ type.
132
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
125
133
INTEGRAL_TYPE (CLong ,HTYPE_LONG )
126
134
-- | Haskell type representing the C @unsigned long@ type.
135
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
127
136
INTEGRAL_TYPE (CULong ,HTYPE_UNSIGNED_LONG )
128
137
129
138
-- | Haskell type representing the C @long long@ type.
139
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
130
140
INTEGRAL_TYPE (CLLong ,HTYPE_LONG_LONG )
131
141
-- | Haskell type representing the C @unsigned long long@ type.
142
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
132
143
INTEGRAL_TYPE (CULLong ,HTYPE_UNSIGNED_LONG_LONG )
133
144
134
145
-- | Haskell type representing the C @bool@ type.
146
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
135
147
--
136
148
-- @since 4.10.0.0
137
149
INTEGRAL_TYPE_WITH_CTYPE (CBool ,bool,HTYPE_BOOL )
@@ -164,8 +176,10 @@ INTEGRAL_TYPE_WITH_CTYPE(CBool,bool,HTYPE_BOOL)
164
176
#-}
165
177
166
178
-- | Haskell type representing the C @float@ type.
179
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
167
180
FLOATING_TYPE (CFloat ,HTYPE_FLOAT )
168
181
-- | Haskell type representing the C @double@ type.
182
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
169
183
FLOATING_TYPE (CDouble ,HTYPE_DOUBLE )
170
184
-- XXX GHC doesn't support CLDouble yet
171
185
@@ -182,12 +196,16 @@ FLOATING_TYPE(CDouble,HTYPE_DOUBLE)
182
196
-- "realToFrac/CLDouble->a" realToFrac = \(CLDouble x) -> realToFrac x
183
197
184
198
-- | Haskell type representing the C @ptrdiff_t@ type.
199
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
185
200
INTEGRAL_TYPE (CPtrdiff ,HTYPE_PTRDIFF_T )
186
201
-- | Haskell type representing the C @size_t@ type.
202
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
187
203
INTEGRAL_TYPE (CSize ,HTYPE_SIZE_T )
188
204
-- | Haskell type representing the C @wchar_t@ type.
205
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
189
206
INTEGRAL_TYPE (CWchar ,HTYPE_WCHAR_T )
190
207
-- | Haskell type representing the C @sig_atomic_t@ type.
208
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
191
209
INTEGRAL_TYPE (CSigAtomic ,HTYPE_SIG_ATOMIC_T )
192
210
193
211
{-# RULES
@@ -203,25 +221,32 @@ INTEGRAL_TYPE(CSigAtomic,HTYPE_SIG_ATOMIC_T)
203
221
#-}
204
222
205
223
-- | Haskell type representing the C @clock_t@ type.
224
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
206
225
ARITHMETIC_TYPE (CClock ,HTYPE_CLOCK_T )
207
226
-- | Haskell type representing the C @time_t@ type.
227
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
208
228
ARITHMETIC_TYPE (CTime ,HTYPE_TIME_T )
209
229
-- | Haskell type representing the C @useconds_t@ type.
230
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
210
231
--
211
232
-- @since 4.4.0.0
212
233
213
234
ARITHMETIC_TYPE (CUSeconds ,HTYPE_USECONDS_T )
214
235
-- | Haskell type representing the C @suseconds_t@ type.
236
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
215
237
--
216
238
-- @since 4.4.0.0
217
239
ARITHMETIC_TYPE (CSUSeconds ,HTYPE_SUSECONDS_T )
218
240
219
241
-- FIXME: Implement and provide instances for Eq and Storable
220
242
-- | Haskell type representing the C @FILE@ type.
243
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
221
244
data CFile = CFile
222
245
-- | Haskell type representing the C @fpos_t@ type.
246
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
223
247
data CFpos = CFpos
224
248
-- | Haskell type representing the C @jmp_buf@ type.
249
+ -- /(The concrete types of "Foreign.C.Types#platform" are platform-specific.)/
225
250
data CJmpBuf = CJmpBuf
226
251
227
252
INTEGRAL_TYPE (CIntPtr ,HTYPE_INTPTR_T )
0 commit comments