From a17272283c803e13258e5dc6b19533c672ceee18 Mon Sep 17 00:00:00 2001 From: hattenberger Date: Wed, 27 Mar 2013 13:17:19 +0000 Subject: some fixes in ivy-ocaml tag 1.2 --- trunk/ivyLoop.ml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 trunk/ivyLoop.ml (limited to 'trunk/ivyLoop.ml') diff --git a/trunk/ivyLoop.ml b/trunk/ivyLoop.ml new file mode 100644 index 0000000..5808de4 --- /dev/null +++ b/trunk/ivyLoop.ml @@ -0,0 +1,22 @@ +type channel +type delete_channel_cb = unit -> unit +type timer +type timer_cb = timer -> unit + +external ext_timer : int -> int -> string -> timer = "ivy_timerRepeatafter" + +let timer = fun n t cb -> + let closure_name = Ivy.cb_register cb in + ext_timer n t closure_name + +external remove_timer : timer -> unit = "ivy_timerRemove" + +external main : unit -> unit = "ivy_mainLoop" + +external ext_channelSetUp : Unix.file_descr -> string -> channel = "ivy_channelSetUp" +external close_channel : channel -> unit = "ivy_channelClose" + + +type read_channel_cb = channel -> unit +let set_up_channel fd delete read = + ext_channelSetUp fd (Ivy.cb_register read) -- cgit v1.1