#:export (bool->integer
integer->bool
define-foreign
- define-foreign-record-type))
+ define-foreign-record-type
+ foreign-record->pointer))
(define (bool->integer var)
(if var 1 0))
(iota (length field-specs))))
(syntax-case x ()
- ((_ name (make-name make-arg ...) predicate? unwrap-record field-spec ...)
+ ((_ name (make-name make-arg ...) predicate? field-spec ...)
(with-syntax (((type-id ...) (field-types #'(field-spec ...)))
((field-name ...) (field-names #'(field-spec ...)))
(((getter getter-id) ...) (field-getters #'(field-spec ...)))
(else #f))))
(if procedure
(apply procedure bv 0 value '()))))
+
+(define (foreign-record->pointer record)
+ (struct-ref record 0))