-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlibnile.k
20 lines (18 loc) · 854 Bytes
/
libnile.k
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(require "dlopen.k")
(define-constant NILE_STATUS_OK 0)
(define-constant NILE_STATUS_OUT_OF_MEMORY 1)
(define-constant NILE_STATUS_BAD_ARG 2)
(define-constant NILE_STATUS_SHUTTING_DOWN 3)
(define-function init-libnile ()
(init-dlopen)
(and (defined? '__linux__)
(dlopen "librt"))
(let ((lib "libnile"))
(define nile_startup (dlextern lib "nile_startup" "pii"))
(define nile_sync (dlextern lib "nile_sync" "p"))
(define nile_status (dlextern lib "nile_status" "p"))
(define nile_shutdown (dlextern lib "nile_shutdown" "p"))
(define nile_Process_pipe (dlextern lib "nile_Process_pipe" "p."))
(define nile_Process_pipe_v (dlextern lib "nile_Process_pipe_v" "pi"))
(define nile_Process_feed (dlextern lib "nile_Process_feed" "ppi"))
(define nile_Process_gate (dlextern lib "nile_Process_gate" "pp"))))