560af5c5 |
1 | (in-package "ALIEN") |
2 | (export '(load-shared-library)) |
3 | (in-package "SYSTEM") |
4 | (import 'alien:load-shared-library) |
5 | |
6 | (defun load-shared-library (file &key init prototype initargs) |
7 | (format t ";;; Loading shared library ~A~%" file) |
8 | (load-object-file file) |
9 | (when init |
10 | (apply |
11 | #'alien:alien-funcall |
12 | (alien::%heap-alien |
13 | (alien::make-heap-alien-info |
14 | :type (alien::parse-alien-type (or prototype `(function c-call:void))) |
15 | :sap-form (system:foreign-symbol-address init))) |
16 | initargs))) |
17 | |