Skip to content
  1. Jan 19, 2016
  2. Dec 26, 2015
  3. Feb 05, 2012
  4. Jan 23, 2012
  5. Jan 13, 2012
  6. Sep 18, 2011
  7. Sep 17, 2011
    • Liam M. Healy's avatar
      Define prepare-function · de640c1e
      Liam M. Healy authored
      Define #'prepare-function which generates a form to make the
      preparation and call into libffi.  The form looks correct but it has
      not been tested yet.
      de640c1e
    • Liam M. Healy's avatar
      Make libffi-type-pointer a slot and method, define for built-in types · 418a998e
      Liam M. Healy authored
      1. Idea: Make a slot for libffi-type-pointer and define for all
      built-in types, then define methods to make the pointer on demand for
      other type classes.
      2. Add slot [libffi-type-pointer] with generic function to defclass
      foreign-type. 
      3. New file [built-in-types.lisp] defines all built-in types, and
      libffi-type-pointer :around method for typedefs/aliases.
      4. New [libffi-type-pointer :around method] for foreign-struct-type.
      5. New lists exported from CFFI for possible other uses, and needed
      here: *other-builtin-types* *built-in-integer-types*
      *built-in-float-types*.
      418a998e
  8. Sep 12, 2011
    • Liam M. Healy's avatar
      New function cstruct-libffi-type-pointer · 186a29be
      Liam M. Healy authored
      Created a function cstruct-libffi-type-pointer that generates the
      libffi-type structure for any foreign structure type, so that this
      structure may be used as an argument or return call by value to a
      foreign function.  It replaces the automatic generation of this
      structure when defstruct is compiled or loaded (via
      *defcstruct-hook*), so that it is only made when needed and cffi-fsbv
      need not be loaded when the defcstruct is compiled.  The structure
      will only be made once; it is bound to the plist of the type symbol
      (as before), and is reused if needed again.  This function compiles
      but has not yet been tested.
      186a29be
  9. Sep 11, 2011
    • Liam M. Healy's avatar
      Define structure interface to libffi · f5469081
      Liam M. Healy authored
      Generic function translate-into-foreign-memory and funtion
      convert-into-foreign-memory definitions now loaded by cffi.  System
      cffi-fsbv defined for calling functions with foreign structures by
      value using libffi.  Current state of this system is to make
      libffi-type-pointer and associate with the structure in defcstruct.
      This works on test structure
      (macroexpand '(defcstruct (complex :class complex-type) (real :double) (imag :double)))
      but nothing further is done with the libffi-type-pointer.
      
      To do: fix lookup-type so that if there is no type defined, it returns
      nil.  Do iterate-foreign-structure in advance of macro expansion in
      cstruct-libffi-hook, if any arguments lack type translation, then
      return nil.  This means that that structure can not be passed/returned
      by value.  Then load cif after cstruct.  Secondary bug fix: defsynonym
      'unsigned to something, not sure what it's supposed to be; :uint?
      f5469081
  10. Jun 22, 2009
  11. Dec 30, 2007
  12. Jul 17, 2007
    • Luís Oliveira's avatar
      Bug fixes · e5fd4e27
      Luís Oliveira authored
      - Fix :LICENSE -> :LICENCE in cffi-grovel.asd
      - grovel.lisp fixes:
          * fix OpenMCL's INVOKE
          * have INVOKE call NATIVE-NAMESTRING
          * add IGNORABLE declaration to DEFINE-GROVEL-SYNTAX
      - CMUCL's EXT:UNIX-NAMESTRING is buggy, don't use it.
      - strings.lisp: pass missing max-octets argument to OCTET-COUNTER
        in FOREIGN-STRING-ALLOC.
      e5fd4e27
  13. Jun 17, 2007
    • Luís Oliveira's avatar
      Integrate cffi-grovel · c1f1e23e
      Luís Oliveira authored
      Added a groveller based on Dan Knap's and Matthew Backes's cffi-grovel
      and Stelian Ionescu's fork iolib-grovel.  cffi-grovel is inspired by
      SBCL's groveller.  This is a preliminary version.
      
      Includes a new wrapper generator syntax to simplify the writing of
      C glue libraries among other minor features.
      
      - Updated TODO items related to grovelling.
      - Integrated documentation into the CFFI manual.
      - src/libraries: use ".so" as the default library suffix.
      c1f1e23e
  14. Apr 13, 2007
  15. May 03, 2006
  16. Dec 23, 2005
  17. Jun 07, 2005