schemelib/bindings/libc.scm
2020-07-09 09:55:45 +02:00

34 lines
572 B
Scheme

(load-shared-object "libc.so.6")
(define (domain-flag->int flag)
(case flag
((AF_INET) 2)
))
(define (type-flag->int flag)
(case flag
((SOCK_DGRAM) 2)
((SOCK_DCCP) 6)
))
(define (protocol-flag->int flag)
(case flag
((IPPROTO_NONE) 0)
((IPPROTO_DCCP) 33)
))
(define (perror str)
((foreign-procedure
"perror"
(string)
void) str))
(define (socket domain type protocol)
((foreign-procedure
"socket"
(int int int)
int)
(domain-flag->int domain)
(type-flag->int type)
(protocol-flag->int protocol)))