Hi Will,
Can you include a few lines of example code? I still don't get it,
sorry. Notably, how is the user of the external set of headers
supposed to make the "void *"? You can't create a "void *" from
nothing. You need to know at least the size of what it's supposed to
point to.
Maybe it's something like that?
void *handle;
init_stuff(&handle);
more_stuff(handle);
Note the "&handle". The code above translates to using not a "void *"
but a "void **", i.e. a pointer to a "void *" which is the handle. In
the Python code below, "p" would be the equivalent of a C variable
declaration "void **p = &handle;".
p =
ffi.new("void **")
init_stuff(p)
more_stuff(p[0])
A bientôt,
Armin.