Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Matching when
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Olivier Andrieu <andrieu@i...>
Subject: Re: [Caml-list] Sharing Files between OCaml and C
 Michael Tucker [Monday 5 August 2002] :
 >
 > Hi,
 > 
 >   I would like to share access to a file between a C function and an
 > OCaml function in an application put together with CamlIDL. If I
 > have a C function with prototype:
 > 
 > int manip_file(FILE* f, int x);
 > 
 >   Is there any support in CamlIDL for passing a file that was opened in
 > OCaml. I checked the archives, and found a message that described
 > pulling out the integer file descriptor, and passing that to fdopen
 > on the C side, but that was it -- the same message asked about
 > better support from CamlIDL (this was winter 2000), but I couldn't
 > find a response. Has this changed over the past year and a half, or
 > is that the best method?

Yes, I think that's still the best method :
- get the descriptor with Unix.descr_of_in_channel or
  Unix.descr_of_out_channel 
- fdopen it on the C side
You might also want to call dup() on the fd so that your FILE* stream
is still working if the original caml channel is closed.

But maybe CamlIDL has improved, I don't know.

-- 
   Olivier
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners