blob: 3451dc974d97aa97e386417683d6f2831b125c2c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
(in-package #:alien)
(defmacro call (fname rtype &rest types-n-values)
(let ((tlist (queue:new))
(vlist (queue:new)))
(dolist (item types-n-values)
(queue:add tlist (first item))
(queue:add vlist (second item)))
`(alien-funcall (extern-alien ,fname
(function ,rtype
,@(queue:to-list tlist)))
,@(queue:to-list vlist))))
|