<div dir="ltr">Daniel,<div><br></div><div>Your suggestion makes sense. If I were to do that -- any suggestions of how to deal with freeing that memory? Ideally, without adding a lifecycle "free" call to the user library. My thoughts would be to store the cstruct reference (malloced by C) in a ref in OCaml, then attach a finalizer to the OCaml ref that would call the corresponding C free. I suggest the ref because my understanding is that his would be guaranteed to be finalized once (as opposed to a normal value which might get copied multiple times). Thoughts on this?</div><div><br></div><div>Aside: I wonder if ctypes could be extended to deal with this cross platform issue fully in ctypes-land? Have others thought about this?</div><div><br></div><div>Also: are the maintainers open to documentation contributions? I noticed that a lot of these questions on the FAQ are currently unanswered. I would be happy to throw a couple commits with documentation suggestions for the problems that I am running into.</div><div><br></div><div>Trevor</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Oct 18, 2014 at 5:34 AM, Daniel Bünzli <span dir="ltr"><<a href="mailto:daniel.buenzli@erratique.ch" target="_blank">daniel.buenzli@erratique.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
Le vendredi, 17 octobre 2014 à 19:53, Trevor Smith a écrit :<br>
<span class=""><br>
> Thank you for your reply Daniel.<br>
><br>
> About the structs: perhaps I have a fundamental misconception about how ctypes works. Libuv functions expect that the caller allocate the memory for the struct. My understanding was that adding fields to the struct in ctypes would affect the memory that struct takes up.<br>
</span>That's correct if you allocate it with ctypes, but you don't need to. Just make a C function that allocates the struct and bind to that function.<br>
<span class="HOEnZb"><font color="#888888"><br>
Daniel<br>
<br>
<br>
</font></span></blockquote></div><br></div>