+
+(defmacro define-simple-call (name return-type &rest arguments)
+ (multiple-value-bind (lisp-name c-name)
+ (values name (substitute #\_ #\- (string-downcase name)))
+ `(progn
+ (export ',lisp-name :sb-posix)
+ (defun ,lisp-name ,(mapcar #'first arguments)
+ (alien-funcall (extern-alien ,c-name (function ,return-type
+ ,@(mapcar #'second arguments)))
+ ,@(mapcar #'first arguments))))))
\ No newline at end of file