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/ctkivy.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 trunk/ctkivy.c (limited to 'trunk/ctkivy.c') diff --git a/trunk/ctkivy.c b/trunk/ctkivy.c new file mode 100644 index 0000000..87b7eb6 --- /dev/null +++ b/trunk/ctkivy.c @@ -0,0 +1,36 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "ivytcl.h" + +extern void cb_delete_channel(void *delete_read); +extern void cb_read_channel(Channel ch, IVY_HANDLE fd, void *closure); + +value ivy_TclmainLoop(value unit) +{ + Tk_MainLoop(); + return Val_unit; +} + + +value ivy_TclchannelSetUp(value fd, value closure_name) +{ + Channel c; + value * closure = caml_named_value(String_val(closure_name)); + + c = IvyTclChannelSetUp((IVY_HANDLE)Int_val(fd), (void*)closure, cb_delete_channel, cb_read_channel); + return Val_int(c); +} + +value ivy_TclchannelClose(value ch) +{ + IvyTclChannelClose((Channel)Int_val(ch)); + return Val_unit; +} -- cgit v1.1