$Revision: 5.0.2.3 $
To use the compatibility mode, (require :ffcompat) and use the old (Allegro CL 4.3) functionality. Most of the Allegro CL 4.3 interface is identical, including all of the deprecations between Allegro CL 4.2 and 4.3.
The following exceptions apply:
The use of :fixnum or :integer to accept a short return value is not supported by defforeign. Therefore, use of this model to return shorts, without subsequent post-processing, is in fact a bug in user code. However, it usually did seem to work on Unix systems in 4.3. But again, it does not work in Windows and may not work in subsequent Unix versions.
To fix unsigned short returns, continue to accept the value with the :return-type of :fixnum or :integer, but wrap each call in a
(logand res #xffff)to get the correct bits.
To fix signed short values, you can specify :signed-short as the :return-type in the defforeign definition, even though it is not documented as part of the 4.3 defforeign interface.
:char :byte :unsigned-char :unsigned-byte :int :long :unsigned-int :unsigned-long :short :unsigned-short :float :double :bit *** :union :struct :array :lisp
Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.