From 22c1e6dbe7cf74936e5ca29eadeff81312ccc506 Mon Sep 17 00:00:00 2001 From: buisson Date: Fri, 29 Apr 2005 09:35:43 +0000 Subject: Initial revision --- ivyLoop.ml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 ivyLoop.ml (limited to 'ivyLoop.ml') diff --git a/ivyLoop.ml b/ivyLoop.ml new file mode 100644 index 0000000..5808de4 --- /dev/null +++ b/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