![](https://secure.gravatar.com/avatar/475d746a8cc0a2c1d6329a90e9ff0831.jpg?s=120&d=mm&r=g)
Attached there is a patch made against the main branch(not the newtypes one) which adds :UNSIGNED-LONG-LONG and :LONG-LONG to ECL; to be more specific: 1) it adds a new feature: CFFI:EMULATED-LONG-LONG(not sure this is a good name - see the callbacks issue below) 2) it calculates at compile time the machine endianess and pushes a new feature, either :LITTLE-ENDIAN or :BIG-ENDIAN 3) %MEM-REF and %MEM-SET are renamed to %NATIVE-MEM-REF and %NATIVE-MEM-SET while the new %MEM-REF and %MEM-SET dispatch on the effective type using CANONICALIZE-FOREIGN-TYPE(which is forward-referenced but it should be ok) 4) it adds compiler macros for %NATIVE-MEM-REF and %NATIVE-MEM-SET this patch passes the DEREF.*LONG-LONG memory tests(which I ran manually since ECL seems to have some problems in running the tests) two are the problems I've encountered: 1) callbacks don't work since actually ECL doesn't have LONG-LONG. this can be "fixed" by stating in the docs that on platforms where LONG-LONG is emulated callback simply don't work. 2) although possibly not related to CFFI, when loading IOLIB-POSIX I got this: NIL is not of type REAL. Broken at CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION. IOLIB-POSIX>> :backtrace Backtrace: CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION > eval I'll investigate further this issue. -- (sign :name "Stelian Ionescu" :aka "fe[nl]ix" :quote "Quidquid latine dictum sit, altum videtur.")