| Allegro CL version 6.2 Unrevised from 6.1 |
Arguments: foreign-callable &optional index-or-reuse convert-to-c-types
The name argument must be a symbol defined with defun-foreign-callable.
The index-or-reuse argument can be a fixnum to
select a specific table entry to replace, or the symbol
:reuse
to specify that if a function with the same name
is already registered, the function will be replaced at the same
index.
If convert-to-c-types is specified, then an
attempt will be made to convert the return value to a foreign value,
otherwise the return value is returned unchanged. It is important to
note that though the default is nil
, most
often the desired effect is obtained by setting this option to t
. The default of nil
is
retained for compatibility reasons. This is described in a little more
detail in the description of defun-foreign-callable.
This function returns 5 values:
Note that in versions using the :os-threads model of multiprocessing, the callback from foreign code to the foreign-callable function name may be made from a thread started outside Lisp. In that case, some extra work has to be done to create a lisp process to represent that thread within the Lisp world. That extra work is performed by a "customs agent" process that is started by a call to start-customs. It is not done by register-foreign-callable. Note further that callback from a thread started outside Lisp in a version using the non :os-threads model of multiprocessing is not supported and likely to cause Lisp to fail. See Foreign functions and multiprocessing in foreign-functions.htm.
See ftype.htm for information on foreign types in Allegro CL and foreign-functions.htm for general information on foreign functions in Allegro CL.
Copyright (c) 1998-2002, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 6.2. This page was not revised from the 6.1 page.
Created 2002.2.26.
| Allegro CL version 6.2 Unrevised from 6.1 |