1 (**************************************************************************)
2 (* *)
3 (* OCaml *)
4 (* *)
5 (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6 (* Mark Shinwell and Leo White, Jane Street Europe *)
7 (* *)
8 (* Copyright 1996 Institut National de Recherche en Informatique et *)
9 (* en Automatique. *)
10 (* Copyright 2017--2018 Jane Street Group LLC *)
11 (* *)
12 (* All rights reserved. This file is distributed under the terms of *)
13 (* the GNU Lesser General Public License version 2.1, with the *)
14 (* special exception on linking described in the file LICENSE. *)
15 (* *)
16 (**************************************************************************)
17
18 (** Types shared amongst the various parts of the dynlink code. *)
19
20 [@@@ocaml.warning "+a-4-30-40-41-42"]
21
22 type implem_state =
23 | Loaded
24 | Not_initialized
25 | Check_inited of int
26
27 type filename = string
28
29 type linking_error =
30 | Undefined_global of string
31 | Unavailable_primitive of string
32 | Uninitialized_global of string
33
34 type error =
35 | Not_a_bytecode_file of string
36 | Inconsistent_import of string
37 | Unavailable_unit of string
38 | Unsafe_file
39 | Linking_error of string * linking_error
40 | Corrupted_interface of string
41 | Cannot_open_dynamic_library of exn
42 | Library's_module_initializers_failed of exn
43 | Inconsistent_implementation of string
44 | Module_already_loaded of string
45 | Private_library_cannot_implement_interface of string
46
47 exception Error of error
48
49 val error_message : error -> string
50