Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / basis-library / mlton / ffi.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2003-2008 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 *
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
6 *)
7
8signature MLTON_FFI =
9 sig
10 val getBool: MLtonPointer.t * int -> bool
11 val getChar8: MLtonPointer.t * int -> Char.char
12(*
13 val getChar16: MLtonPointer.t * int -> Char16.char
14 val getChar32: MLtonPointer.t * int -> Char32.char
15*)
16 val getCPointer: MLtonPointer.t * int -> MLtonPointer.t
17 val getInt8: MLtonPointer.t * int -> Int8.int
18 val getInt16: MLtonPointer.t * int -> Int16.int
19 val getInt32: MLtonPointer.t * int -> Int32.int
20 val getInt64: MLtonPointer.t * int -> Int64.int
21 val getObjptr: MLtonPointer.t * int -> 'a
22 val getReal32: MLtonPointer.t * int -> Real32.real
23 val getReal64: MLtonPointer.t * int -> Real64.real
24 val getWord8: MLtonPointer.t * int -> Word8.word
25 val getWord16: MLtonPointer.t * int -> Word16.word
26 val getWord32: MLtonPointer.t * int -> Word32.word
27 val getWord64: MLtonPointer.t * int -> Word64.word
28 val register: int * (MLtonPointer.t -> unit) -> unit
29 val setBool: MLtonPointer.t * int * bool -> unit
30 val setChar8: MLtonPointer.t * int * Char.char -> unit
31(*
32 val setChar16: MLtonPointer.t * Char16.char -> unit
33 val setChar32: MLtonPointer.t * Char32.char -> unit
34*)
35 val setCPointer: MLtonPointer.t * int * MLtonPointer.t -> unit
36 val setInt8: MLtonPointer.t * int * Int8.int -> unit
37 val setInt16: MLtonPointer.t * int * Int16.int -> unit
38 val setInt32: MLtonPointer.t * int * Int32.int -> unit
39 val setInt64: MLtonPointer.t * int * Int64.int -> unit
40 val setObjptr: MLtonPointer.t * int * 'a -> unit
41 val setReal32: MLtonPointer.t * int * Real32.real -> unit
42 val setReal64: MLtonPointer.t * int * Real64.real -> unit
43 val setWord8: MLtonPointer.t * int * Word8.word -> unit
44 val setWord16: MLtonPointer.t * int * Word16.word -> unit
45 val setWord32: MLtonPointer.t * int * Word32.word -> unit
46 val setWord64: MLtonPointer.t * int * Word64.word -> unit
47 end