Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / c / pointer.sig
1 (* Copyright (C) 2010 Matthew Fluet.
2 *
3 * MLton is released under a BSD-style license.
4 * See the file MLton-LICENSE for details.
5 *)
6
7 signature C_POINTER =
8 sig
9 type t = MLton.Pointer.t
10 val add: t * C_Ptrdiff.t -> t
11 val compare: t * t -> order
12 val diff: t * t -> C_Ptrdiff.t
13 val fromWord: C_Size.t -> t
14 val getC_SChar: t * C_Ptrdiff.t -> C_SChar.t
15 val getC_UChar: t * C_Ptrdiff.t -> C_UChar.t
16 val getC_SShort: t * C_Ptrdiff.t -> C_SShort.t
17 val getC_UShort: t * C_Ptrdiff.t -> C_UShort.t
18 val getC_SInt: t * C_Ptrdiff.t -> C_SInt.t
19 val getC_UInt: t * C_Ptrdiff.t -> C_UInt.t
20 val getC_SLong: t * C_Ptrdiff.t -> C_SLong.t
21 val getC_ULong: t * C_Ptrdiff.t -> C_ULong.t
22 val getC_SLongLong: t * C_Ptrdiff.t -> C_SLongLong.t
23 val getC_ULongLong: t * C_Ptrdiff.t -> C_ULongLong.t
24 val getC_Float: t * C_Ptrdiff.t -> C_Float.t
25 val getC_Double: t * C_Ptrdiff.t -> C_Double.t
26 val getC_Size: t * C_Ptrdiff.t -> C_Size.t
27 val getC_Ptrdiff: t * C_Ptrdiff.t -> C_Ptrdiff.t
28 val getC_Intmax: t * C_Ptrdiff.t -> C_Intmax.t
29 val getC_UIntmax: t * C_Ptrdiff.t -> C_UIntmax.t
30 val getC_Intptr: t * C_Ptrdiff.t -> C_Intptr.t
31 val getC_UIntptr: t * C_Ptrdiff.t -> C_UIntptr.t
32 val getC_Pointer: t * C_Ptrdiff.t -> t
33 val getInt8: t * C_Ptrdiff.t -> Int8.int
34 val getInt16: t * C_Ptrdiff.t -> Int16.int
35 val getInt32: t * C_Ptrdiff.t -> Int32.int
36 val getInt64: t * C_Ptrdiff.t -> Int64.int
37 val getReal32: t * C_Ptrdiff.t -> Real32.real
38 val getReal64: t * C_Ptrdiff.t -> Real64.real
39 val getWord8: t * C_Ptrdiff.t -> Word8.word
40 val getWord16: t * C_Ptrdiff.t -> Word16.word
41 val getWord32: t * C_Ptrdiff.t -> Word32.word
42 val getWord64: t * C_Ptrdiff.t -> Word64.word
43 val isNull: t -> bool
44 val null: t
45 val setC_SChar: t * C_Ptrdiff.t * C_SChar.t -> unit
46 val setC_UChar: t * C_Ptrdiff.t * C_UChar.t -> unit
47 val setC_SShort: t * C_Ptrdiff.t * C_SShort.t -> unit
48 val setC_UShort: t * C_Ptrdiff.t * C_UShort.t -> unit
49 val setC_SInt: t * C_Ptrdiff.t * C_SInt.t -> unit
50 val setC_UInt: t * C_Ptrdiff.t * C_UInt.t -> unit
51 val setC_SLong: t * C_Ptrdiff.t * C_SLong.t -> unit
52 val setC_ULong: t * C_Ptrdiff.t * C_ULong.t -> unit
53 val setC_SLongLong: t * C_Ptrdiff.t * C_SLongLong.t -> unit
54 val setC_ULongLong: t * C_Ptrdiff.t * C_ULongLong.t -> unit
55 val setC_Float: t * C_Ptrdiff.t * C_Float.t -> unit
56 val setC_Double: t * C_Ptrdiff.t * C_Double.t -> unit
57 val setC_Size: t * C_Ptrdiff.t * C_Size.t -> unit
58 val setC_Ptrdiff: t * C_Ptrdiff.t * C_Ptrdiff.t -> unit
59 val setC_Intmax: t * C_Ptrdiff.t * C_Intmax.t -> unit
60 val setC_UIntmax: t * C_Ptrdiff.t * C_UIntmax.t -> unit
61 val setC_Intptr: t * C_Ptrdiff.t * C_Intptr.t -> unit
62 val setC_UIntptr: t * C_Ptrdiff.t * C_UIntptr.t -> unit
63 val setC_Pointer: t * C_Ptrdiff.t * t -> unit
64 val setInt8: t * C_Ptrdiff.t * Int8.int -> unit
65 val setInt16: t * C_Ptrdiff.t * Int16.int -> unit
66 val setInt32: t * C_Ptrdiff.t * Int32.int -> unit
67 val setInt64: t * C_Ptrdiff.t * Int64.int -> unit
68 val setReal32: t * C_Ptrdiff.t * Real32.real -> unit
69 val setReal64: t * C_Ptrdiff.t * Real64.real -> unit
70 val setWord8: t * C_Ptrdiff.t * Word8.word -> unit
71 val setWord16: t * C_Ptrdiff.t * Word16.word -> unit
72 val setWord32: t * C_Ptrdiff.t * Word32.word -> unit
73 val setWord64: t * C_Ptrdiff.t * Word64.word -> unit
74 val sizeofPointer: C_Size.t
75 val sub: t * C_Ptrdiff.t -> t
76 val toWord: t -> C_Size.t
77 end