[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cstruct 0.8.0; anything else before 1.0?

I've gone through the outstanding cstruct issues and fixed most of them:

0.8.0rc1 (13-Oct-2013):
* Improved ocamldoc for BE/LE modules.
* Add Travis-CI test scripts and fix `test.sh` script compilation.
* Support int32/int64 constant values in cenum like `VAL = 0xffffffffl`, useful 
for 32-bit hosts.
* Check and raise error in case of negative offsets for blits (#4).
* Correctly preserve the sequence after a constant constructor is set during a 
`cenum` definition.
* Do not repeat the `sizeof_<field>` binding for every get/set field (should be 
no externally observable change).
* Add `Cstruct.hexdump_to_buffer` to make spooling hexdump output easier.
* Generate `hexdump_foo` and `hexdump_foo_to_buffer` prettyprinting functions 
for a `cstruct foo`.

Arjun, this should fix your 32-bit host problem, but you need to ensure that 
you use the correct literals so that the OCaml lexer doesn't complain (i.e. 
0xffffffffl instead of 0xffffffff).

I've also added a handy set of hexdump functions to prettyprint cstructs, and 
improved the README to describe the functions involved.

Mort, I've been through your issues about the iter/fold, but the only real 
use-case right now is the pcap parser.  Most of the other call sites just 
handle individual packets, so I've got no strong opinion on this.  I'll leave 
those for you to drive with examples uses...

Other than that, I'd like to have the extension also emit ctypes values, so 
that it can be used in stub-generation and other interactions with C libraries. 
 That will be post 1.0 though, so I'll tag this current featureset as 1.0 if 
noone's got any showstoppers.




Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.