At Sun, 20 Mar 2011 08:41:50 +0100, "keyd...@gmx.de" wrote: > I wonder how to handle > composite objects (structs) returned by a library function that have > themselves composite objects as fields, but these objects in turn are > considered to be "private", as seen by them being declared like so: > > typedef struct xy xy;
If the shape of `struct xy' isn't exposed, then, struct something_else { .... xy an_xy; .... }; isn't allowed in C. The layout of `struct' fields must be known at the declaration. So, either the shape of `struct xy' must be exposed before the declaration of `struct something_else', or (more commonly) uses of `xy' are indirect through a pointer. For example, if `something_else' is struct something_else { .... xy * an_xy; .... }; then at the FFI level, you can treat the `an_xy' as a `(_cpointer 'xy)' or just `_pointer'. _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users