From: Philippe Schnoebelen
Subject: Interfacing Lucid and C
Date: 
Message-ID: <5296@lifia.imag.fr>
I'm having problems interfacing Lucid and C when it comes to complicated
data structures, and I would like to know if anybody has experience of
these problems.

Specifically, I'm trying to pass a Lisp stream to a C function, (or more
precisely the C 'FILE' presumably built into the Lisp stream) so that I can
consume it by getchar (say). Anybody knows how to do that ? (If that helps,
I'm using Lucid 2.1.1 on Suns).


Much thanks in advance,
--
Philippe SCHNOEBELEN,				Best:        ···@lifia.imag.fr
LIFIA - INPG,
46, Avenue Felix VIALLET			2nd:		···@lifia.UUCP
38000 Grenoble, FRANCE				last: ..!mcvax!inria!lifia!phs

"Algebraic symbols are used when you do not know what you are talking about."
From: Michael Sokolov
Subject: Re: Interfacing Lucid and C
Date: 
Message-ID: <3559@mit-amt>
Re: FILE / stream connection.

Try using the lisp function "extract-stream-handles." I believe 
that this returns the file descriptor (not FILE pointer). Then you could 
use UNIX "read" command instead of getchar. I don't think Lucid makes 
a FILE pointer. 

As far as passing general structures back and forth, there is a not-very-
pretty way to do it, which is to call the structure an array of type 
'(unsigned-byte 32) in lisp, and a structure in C. Then you can access
the elements of a C structure from Lisp if you know the correct
offsets into the structure...

-MS