34 lines
572 B
Scheme
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)))
|