Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/branches/rt-transition/idl-specs/smlnj-runtime.idl
ViewVC logotype

Annotation of /sml/branches/rt-transition/idl-specs/smlnj-runtime.idl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2848 - (view) (download)
Original Path: sml/branches/rt-transition/system/Basis/Implementation/RuntimeIDL/smlnj-runtime.idl

1 : jhr 2848 /* smlnj-runtime.idl
2 :     *
3 :     * COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies.
4 :     *
5 :     * This file is a ML-IDL specification of the SML/NJ run-time
6 :     * interfaces that are callable by SML.
7 :     */
8 :    
9 :     sml_structure ("SMLNJRuntime");
10 :     sml_signature ("SMLNJ_RUNTIME");
11 :     clib_name ("SMLNJRuntime");
12 :    
13 :     /******************** Useful IDL types ********************/
14 :    
15 :     typedef [string] char* idl_string;
16 :    
17 :     /******************** Common SML types ********************/
18 :    
19 :     typedef [sml_type ("Word8Vector.vector")] sml_value ML_word8vec_t;
20 :     typedef [sml_type ("Word8Vector.vector option")] sml_value ML_word8vec_opt_t;
21 :     typedef [sml_type ("Word8Array.array")] sml_value ML_word8arr_t;
22 :     typedef [sml_type ("CharVector.vector")] sml_value ML_charvec_t;
23 :     typedef [sml_type ("CharVector.vector option")] sml_value ML_charvec_opt_t;
24 :     typedef [sml_type ("CharArray.array")] sml_value ML_chararr_t;
25 :     typedef [sml_type ("unit")] sml_value ML_unit_t;
26 :     typedef [sml_type ("bool")] sml_value ML_bool_t;
27 :     typedef [sml_type ("int")] sml_value ML_int_t;
28 :     typedef [sml_type ("Int32.int")] sml_value ML_int32_t;
29 :     typedef [sml_type ("string")] sml_value ML_string_t;
30 :     typedef [sml_type ("string option")] sml_value ML_string_opt_t;
31 :     typedef [sml_type ("string list")] sml_value ML_string_list_t;
32 :     typedef [sml_type ("int option")] sml_value ML_int_opt_t;
33 :     typedef [sml_type ("word array option")] sml_value ML_word_arr_opt_t;
34 :     typedef [sml_type ("int array option")] sml_value ML_int_arr_opt_t;
35 :     typedef [sml_type ("(Int32.int * int) option")] sml_value ML_int_pair_opt_t;
36 :     typedef [sml_type ("(string * int ref) list")] sml_value ML_string_intref_list_t;
37 :     typedef [sml_type ("CInterface.system_const")] sml_value ML_sysconst_t;
38 :     typedef [sml_type ("CInterface.system_const list")] sml_value ML_sysconst_list_t;
39 :     typedef [sml_type ("CInterface.system_const list option")] sml_value ML_sysconst_list_opt_t;
40 :     typedef [sml_type ("Unsafe.Object.object")] sml_value ML_object_t;
41 :     typedef [sml_type ("Unsafe.Object.object Vector.vector")] sml_value ML_objectvec_t;
42 :     typedef [sml_type ("Unsafe.Object.object -> Unsafe.Object.object")] sml_value ML_object_object_fn_t;
43 :    
44 :     /******************** Code objects ********************/
45 :     //getCodeName
46 :     [sml_context] ML_word8arr_t allocCode([in] sml_int nbytes);
47 :     //flushCache
48 :     [sml_context] ML_object_object_fn_t mkExec([in] ML_word8arr_t code, [in] sml_int entrypoint);
49 :     [sml_context] ML_objectvec_t mkLiterals([in] ML_word8vec_t arg);
50 :    
51 :     /******************** Profiling ********************/
52 :     [sml_context] void setTimer([in] ML_bool_t sts);
53 :     sml_int getQuantum();
54 :     [sml_context] void setTimeArray([in] ML_int_arr_opt_t prof_cnt_array);
55 :    
56 :     /******************** Interval timers ********************/
57 :     [sml_context] void intervalTick([out, ref] ML_int32_t *a, [out, ref] sml_int *b);
58 :     [sml_context] void setIntTimer([in] ML_int_pair_opt_t itv);
59 :    
60 :     /******************** Heap export ********************/
61 :     // [sml_context] void exportFn
62 :     [sml_context] ML_bool_t exportHeap([in] string fname);
63 :    
64 :     /******************** Signals ********************/
65 :     [sml_context] ML_sysconst_list_t listSignals();
66 :     [sml_context] sml_int getSigState([in] ML_sysconst_t sc);
67 :     [sml_context] void setSigState([in] ML_sysconst_t sc, [in] sml_int i);
68 :     [sml_context] ML_sysconst_list_opt_t getSigMask();
69 :     [sml_context] void setSigMask([in] ML_sysconst_list_opt_t m);
70 :     [sml_context] void pauseUntilSig();
71 :    
72 :     /******************** Misc. ********************/
73 :     [sml_context] ML_string_list_t rawArgv ();
74 :     void shiftArgv();
75 :     [sml_context] ML_string_opt_t sysInfo([in] string name);
76 :     [sml_context] void gcControl([in] ML_string_intref_list_t cmds);
77 :     [sml_context] void debug([in] string s);
78 :    
79 :     void dummy([in] string s);
80 :    
81 :     [sml_context] ML_object_t recordConcat([in] ML_object_t rec1, [in] ML_object_t rec2);
82 :     [sml_context] ML_object_t record1([in] ML_object_t obj);
83 :     [sml_context] ML_object_t blastIn([in] string s);
84 :     [sml_context] ML_word8vec_t blastOut([in] ML_object_t obj);

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0