(:unsigned-short . c-call:unsigned-short)
(:int . alien:integer) (:unsigned-int . c-call:unsigned-int)
(:long . c-call:long) (:unsigned-long . c-call:unsigned-long)
+ #+#.(cl:if (cl:and (cl:find-package (cl:string '#:c-call))
+ (cl:find-symbol (cl:string '#:long-long)
+ (cl:string '#:c-call)))
+ '(and) '(or))
(:long-long . c-call:long-long)
+ #+#.(cl:if (cl:and (cl:find-package (cl:string '#:c-call))
+ (cl:find-symbol (cl:string '#:unsigned-long-long)
+ (cl:string '#:c-call)))
+ '(and) '(or))
(:unsigned-long-long . c-call:unsigned-long-long)
(:float . c-call:float) (:double . c-call:double)
(:array . alien:array)))
(:unsigned-char . :unsigned-char)
(:int . :int) (:unsigned-int . :unsigned-int)
(:long . :long) (:unsigned-long . :unsigned-long)
+#+64bit (:unsigned-long-long . :unsigned-long)
+#+64bit (:long-long . :unsigned-long)
(:float . :float) (:double . :double)
(:array . :array)))
-#+(or allegro cormanlisp)
+#+(and allegro (not 64bit))
+(push 'uffi:no-long-long cl:*features*)
+
+#+cormanlisp
(push 'uffi:no-long-long cl:*features*)
#+lispworks