1 /**************************************************************************/
2 /*                                                                        */
3 /*                                 OCaml                                  */
4 /*                                                                        */
5 /*             Xavier Leroy, projet Cristal, INRIA Rocquencourt           */
6 /*                                                                        */
7 /*   Copyright 1996 Institut National de Recherche en Informatique et     */
8 /*     en Automatique.                                                    */
9 /*                                                                        */
10 /*   All rights reserved.  This file is distributed under the terms of    */
11 /*   the GNU Lesser General Public License version 2.1, with the          */
12 /*   special exception on linking described in the file LICENSE.          */
13 /*                                                                        */
14 /**************************************************************************/
15 
16 /* Interface with C primitives. */
17 
18 #ifndef CAML_PRIMS_H
19 #define CAML_PRIMS_H
20 
21 #ifdef CAML_INTERNALS
22 
23 typedef value (*c_primitive)();
24 
25 extern c_primitive caml_builtin_cprim[];
26 extern char * caml_names_of_builtin_cprim[];
27 
28 extern struct ext_table caml_prim_table;
29 #ifdef DEBUG
30 extern struct ext_table caml_prim_name_table;
31 #endif
32 
33 #define Primitive(n) ((c_primitive)(caml_prim_table.contents[n]))
34 
35 extern char * caml_section_table;
36 extern asize_t caml_section_table_size;
37 
38 #endif /* CAML_INTERNALS */
39 
40 #endif /* CAML_PRIMS_H */
41