I have a foreign function which I want to access via UFFI, the signature is:
(def-foreign-type HANDLE :pointer-void)
(def-function ("midiStreamOpen" midi-stream-open)
((ptr-handle (* HANDLE))
(ptr-devid (* :unsigned-int))
(reserved :unsigned-int)
(callback :pointer-void)
(instance :pointer-void)
(flags :unsigned-int))
:returning :unsigned-int)
as you can see the first two parameters are pointers to variables (I
pass in the pointer and the foreign function dereferences them and fills
them with new values). I know how to allocate the foreign variables with:
(with-foreign-objects ((handle HANDLE)
(devid :unsigned-int))
... etc
but how can I get their addresses to pass to midi-stream-open?
make-pointer needs an address so that doesnt seem to help, I guess I
need something like get-pointer or get-address-of or something but those
dont seem to exist.
Thanks again and sorry for the newbie questions, Bunny
PS: ECL specific answers would be ok too