Next: , Previous: define-foreign-type, Up: Foreign Types


define-parse-method

Syntax

— Macro: define-parse-method name lambda-list &body body ⇒ name

Arguments and Values

type-name
A symbol naming the new foreign type.
lambda-list
A lambda list which is the argument list of the new foreign type.
body
One or more forms that provide a definition of the new foreign type.

Description

Examples

Taken from CFFI's :boolean type definition:

  (define-foreign-type :boolean (&optional (base-type :int))
    "Boolean type. Maps to an :int by default. Only accepts integer types."
    (ecase base-type
      ((:char
        :unsigned-char
        :int
        :unsigned-int
        :long
        :unsigned-long) base-type)))
   
  CFFI> (canonicalize-foreign-type :boolean)
  => :INT
  CFFI> (canonicalize-foreign-type '(:boolean :long))
  => :LONG
  CFFI> (canonicalize-foreign-type '(:boolean :float))
  ;; error--> signalled by ECASE.
  

See Also

define-foreign-type