can stuff added by ovenpasta on Sat Mar 7 20:55:56 2015
(define (serial-can-recv dev msg . timeout)
(let ((msg (make-can_message))
(func (foreign-lambda int "serial_can_recv" serial-device can_message))
(func2 (foreign-lambda int "serial_can_recv_timeout" serial-device can_message int)))
(if (> 0 (if (null? timeout) (func dev msg) (func2 dev msg (car timeout)))
(begin (free-can_message msg)
(raise "failed"))))
(free-can_message msg)
#t))