Hello, again, I've added support for :out, :in-out and :copy direction arguments except for defcfun with &rest args. The patch is attached, it includes some tests. Anyone may feel free to add more tests if it is convenient. For defcfun with &rest arguments, I still need to test so I didn't include it in my patch. I'll do that tomorrow. Changing subject, I noted that, *without* my changes, there are 4 unexpected failures with cffi in my system (and 2 expected). The tests FUNCALL.VARARGS.DOUBLE, DEFCFUN.VARARGS.FLOAT, DEFCFUN.VARARGS.DOUBLE fail because of localization issues. Here in Brazil, we write "3,14" instead of "3.14" and sprintf takes that into account. Not a big problem, though, just notifying. The test DEFCFUN.BFF.2 fails, I suspect it is because of the precision of doubles. The function returns the first, the second is expected. 7758614624042983568 7758614658402721936 The expected failures are STRING.ENCODING.UTF-16.BASIC and STRING.ENCODINGS.ALL.BASIC. SBCL 1.0.40, 32-bit Ubuntu. Now, except for those tests that were already failing, my changes didn't fail even a single one of them :) Gustavo.