mork ---- (c) Reuben Thomas 2011 <rrt@sc3d.org> https://github.com/rrthomas/mork Mork provides automatic C bindings for Lua using ctypesgen-json and alien. (Mork is a friendly alien. However, it cannot drink through its fingers. Indeed, it does not have fingers. It is a shallow analogy.) Mork is distributed under the MIT License, like Lua itself. alien is a libffi binding for Lua: http://mascarenhas.github.com/alien/ ctypesgen-json turns C headers into JSON for use with libffi: http://code.google.com/p/ctypesgen/ It might be better to use cparser: http://sourceforge.net/projects/cparser/ Usage ----- First, turn a header file into JSON using ctypesgen-json: $ ctypesgen.py --all-headers --builtin-symbols --output-language=json /usr/include/foo.h -o foo.json Then in Lua, Mork slurps up the JSON and generates alien bindings on the fly, returning a module: require "mork" require "json" module = mork.bind (json.decode (io.open ("foo.json"):read ("*a")))