I think the value of `_list-struct` is mostly that computes offsets for you based on the current platform's conventions. If you know the offsets that you want to use, then you could make A C-type constructor from scratch using `make-ctype` --- with `malloc` and `ptr-set!` in the Racket-to-C function, and `ptr-ref` in the C-to-Racket function.
In the case of `define-cstruct`, an extension for explicit offsets makes a little more sense to me, since `define-cstruct` does a lot more than just compute offsets for you. We'd certainly consider a patch. (I don't think I understand enough the situation where you'd want it to try making the changes myself, though.) At Mon, 9 Feb 2015 23:46:36 +0100, Bartosz Przygoda wrote: > Hello, > > While checking info on certain unix structures, it occured to me that the > order of the fields is often not standardized and implementations are free > to choose in this regard. > > However, Racket FFI allows to define types that marshal data to and from > basing on the offsets generated from the list of types. It seems like it > should be doable (not that big modification) to also allow to pass custom > offsets as an argument to _list-struct and (possibly, haven't yet > understood its code fully) define-cstruct. > > Am I on the right track, or am I missing something? > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users

