Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[FFI] CLiCC ffi spec

0 views
Skip to first unread message

Bruno Haible

unread,
Aug 1, 1994, 12:57:02 PM8/1/94
to
Hi,

Since you are gathering FFI specs of different CL implementations...
Here is the one of CLiCC 0.6.4. Can you put it to
ftp://ftp.cs.rochester.edu/pub/lisp-standards/ffi/ .

Bruno Haible


;; The CLiCC foreign function interface looks like this:
;; There is a special form FFI:LOAD-FOREIGN.
;; (FFI:LOAD-FOREIGN definition-file) makes the compiler know about the
;; contents of the definition-file (file extension: ".def").
;;
;; The definition file consists only of Lisp forms of the following kind:
;;
;; (FOREIGN-PACKAGE-NAME <package-name>)
;; basically a compile-time (IN-PACKAGE package-name) for the rest of the file
;;
;; (DEF-CALL-OUT name {option}*)
;; option ::=
;; (:name <c-name>)
;; | (:arguments ({<c-type>}*))
;; | (:return-type <c-type>)
;; | (:callback <boolean>)
;;
;; (DEF-CALL-IN name {option}*)
;; option ::=
;; (:name c-name)
;; | (:arguments ({c-type}*))
;; | (:return-type c-type)
;;
;; (DEF-C-TYPE name type-description)
;; type-description ::=
;; C-STRING
;; | C-CHAR | C-SHORT | C-INT | C-LONG
;; | C-UNSIGNED-CHAR | C-UNSIGNED-SHORT | C-UNSIGNED-INT | C-UNSIGNED-LONG
;; | C-FLOAT | C-DOUBLE | C-LONG-DOUBLE
;; | C-HANDLE
;; | C-VOID
;; | C-VARARG
;; | :FIXNUM
;; | <c-type>
;; | (C-STRUCT (<ident> <c-type>)+)
;; | (C-UNION (<ident> <c-type>)+)
;; | (C-ARRAY <c-type> dimensions)
;; dimensions ::= number | ({number}*)
;; | (C-PTR <c-type>)
---
Submissions to: lisp-st...@cs.rochester.edu
Metamail (not for publication) to: lisp-standa...@cs.rochester.edu

An archive is maintained on ftp.cs.rochester.edu:/pub/lisp-standards/
also accessible via the ALU home page:
http://www.cs.rochester.edu/u/miller/alu.html
Code submissions to: ftp.cs.rochester.edu:/incoming/

Please read the README files in those directories for directions.

0 new messages