*PACKAGE* *PACKAGE* is set to the CCL package; the
CCL:*WARN-IF-REDEFINE* and
CCL:*WARN-IF-REDEFINE-KERNEL* variables are both set
to NIL. The good news is that this environment makes it more
convenient to muck around inside the implementation; that's also
the bad news.
The primary way of calling a foreign function (imported from some shared ibrary) is via the CCL::EXTERNAL-CALL macro:
(CCL::EXTERNAL-CALLentry-name {arg-spec arg-val}* result-spec)
entry-namearg-specarg-valarg-spec result-specarg-spec or :VOID or NIL to
indicate that the EXTERNAL-CALL should return NIL.
Note that under Darwin, the entry-name of any symbol visible
to C has an underscore prepended; the C function read
would therefore be referenced as "_read".