![](https://secure.gravatar.com/avatar/a548de75fdd4ee3cba7a92370d1905ec.jpg?s=120&d=mm&r=g)
I've been poking at this for over an hour, but I'm just not sure how to get this to work. I have a foreign object, points to a vector of (C) double-floats: (defstruct (fnv-double (:constructor make-fnv-double-internal)) (foreign-pointer nil :read-only t) (size 0 :type fixnum :read-only t)) I can create and manipulate it. I need to know how to define (with defcfun) an interface to a C function which expects a vector of double-floats. My attempts have been along the lines of: (defmethod translate-to-foreign (val (f fnv-double)) (fnv-foreign-pointer f)) and then declaring something like (defcfun ("foo" :%foo) :double (x fnv-double)) but neither this nor any of the variants I've tried seems to work at all. I think I need to either defctype or define-foreign-type first, but I haven't gotten that to work either. Can anyone suggest how to do this? Cheers, rif