[ocaml-ctypes] Defines, and Structs with platform-specific fields

Jeremy Yallop yallop at gmail.com
Sat Oct 25 19:31:05 BST 2014

On 20 October 2014 21:46, Jeremy Yallop <yallop at gmail.com> wrote:
> This discussion is a useful reminder that ctypes really needs support
> for retrieving struct layout details from the declared API.  I'll look
> at how to add that support later this week and report back.

I've added support for retrieving struct layout from C in a pull request:


It works in a very similar fashion to cstubs: you put your struct
declaration inside a functor

  module Bindings(S : Cstubs_structs.STRUCT) =
    open S
    let cell       = structure "cell"
    let payload = field cell int "payload"
    let next      = field cell (ptr cell) "next"
    let ()          = seal cell

and then call Cstubs_structs.write_c to generate an ML module with
which to instantiate the functor.

The pull request has more details and some illustrative tests.

More information about the Ctypes mailing list