Hi, Martin Sorry, after trying (fli:size-of '(:long :long)), I found that my LispWorks already support long-long foreign type. I think I should just remove cffi-features:no-long-long feature in cffi-lispworks.lisp, at least for my personal use.
By the way, with some trivial changes, I can compile the whole iolib package (heavily depends on cffi) in amd64 lispworks now. Thank for point out this. Martin Simmons wrote: >>>>>> On Thu, 07 Jun 2007 01:48:27 +0800, Chun Tian (binghe) said: >>>>>> >> Hi, CFFI Developers >> >> I found that in AMD64 Linux, the long and long long type are both 8 >> bytes. Can I directly map CFFI's :long-long into LispWorks FLI's :long >> type to get support for long-long type? (This is need when I compile >> iolib package in amd64 LispWorks): >> >> cffi-lispworks.lisp: >> >> (defun convert-foreign-type (cffi-type) >> "Convert a CFFI type keyword to an FLI type." >> (ecase cffi-type >> (:char :byte) >> (:unsigned-char '(:unsigned :byte)) >> (:short :short) >> (:unsigned-short '(:unsigned :short)) >> (:int :int) >> (:unsigned-int '(:unsigned :int)) >> (:long :long) >> (:unsigned-long '(:unsigned :long)) >> #+amd64 >> (:long-long :long) >> #+amd64 >> (:unsigned-long-long '(:unsigned :long)) >> (:float :float) >> (:double :double) >> (:pointer :pointer) >> (:void :void))) >> > > This is not quite right -- it should use the type long-long on the right-hand > side. Also, it may be better to do this unconditionally, so it works on any > LispWorks platform that supports it. > > _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel