[plt-scheme] FFI: Passing a char*** into C
2010/4/23 Grant Rettke <grettke at acm.org>:
> [...]
> I'm calling into a function[1] that expects a char*** input. From
> reading the FFI docs it looks like char*** might map to a _list of
> strings... or perhaps a _pointer to a _list of strings?
> [...]
> [1] http://www.mcs.anl.gov/research/projects/mpi/www/www3/MPI_Init.html
> [...]
Hello Grant,
judging by the documentation you mentioned, the char*** is intended as
an input/output argument containing a list of strings. You should be
able to bind the function like this:
(define mpi-init
(get-ffi-obj
"MPI_Init" libmpi
(_fun (args)
::
[argc : (_ptr io _int) = (length args)]
[argv : (_ptr io (_list io _string argc)) = args]
->
[status : _int]
->
(values status argv))))
Ciao,
Thomas
--
When C++ is your hammer, every problem looks like your thumb.