Binary-types

Binary-types is a Library for accessing binary files with fixed bit-length code-words. Binary-types provides macros that are used to declare the mapping between lisp objects and some binary (i.e. octet-based) representation.

Supported kinds of binary types include:

Typically, a complete binary record format/type can be specified in a single (nested) declaration statement. Such compound records may then be read and written with READ-BINARY and WRITE-BINARY.

Binary-types is *not* helpful in reading files with variable bit-length code-words, such as most compressed file formats. It will basically only work with file-formats based on 8-bit bytes (octets). Also, at this time no floating-point types are supported out of the box. The ieee-floats library might be useful.

Binary-types was developed by Frode Vatvedt Fjeld. Source code is available at http://www.cs.uit.no/~frodef/sw/binary-types/. See the Debian page for information on how to get a debian-package of binary-types using common-lisp-controller.

There are some extensions to binary-types in binary-types-extra.lisp at http://slitch.cvs.sourceforge.net/slitch/slitch/src/. It adds support for structs with "bitfields" and for vectors. There is also a binary-rw-gen.lisp that compiles a binary-type into specialized reader- and writer- functions that are somewhat faster.

There is also a Debian package.


This page is linked from: Changes in June 2000   Changes in March 2001   cl-pdb   Debian   Less Recent Changes   packer   Wish List  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively