diff --git a/retropikzel/pffi.sld b/retropikzel/pffi.sld index d64a8f6..25a30e0 100644 --- a/retropikzel/pffi.sld +++ b/retropikzel/pffi.sld @@ -141,25 +141,26 @@ (scheme process-context) (only (gambit) c-declare c-lambda c-define)) (export pffi-init - pffi-size-of - pffi-type? - pffi-align-of - pffi-shared-object-auto-load - pffi-shared-object-load + ;pffi-size-of + ;pffi-type? + ;pffi-align-of + ;pffi-shared-object-auto-load + ;pffi-shared-object-load ;pffi-pointer-null ;pffi-pointer-null? ;pffi-pointer-allocate + ;pffi-pointer-address ;pffi-pointer? ;pffi-pointer-free ;pffi-pointer-set! ;pffi-pointer-get ;pffi-string->pointer ;pffi-pointer->string - pffi-struct-make - pffi-struct-pointer - pffi-struct-offset-get - pffi-struct-get - pffi-struct-set! + ;pffi-struct-make + ;pffi-struct-pointer + ;pffi-struct-offset-get + ;pffi-struct-get + ;pffi-struct-set! ;pffi-define ;pffi-define-callback )) diff --git a/retropikzel/pffi/gambit.scm b/retropikzel/pffi/gambit.scm index bd16fbd..bc5b647 100644 --- a/retropikzel/pffi/gambit.scm +++ b/retropikzel/pffi/gambit.scm @@ -1,10 +1,5 @@ (c-declare "#include ") -;(c-declare "int size_of_int8() { return sizeof(int8_t);}") -;(define size-of-int8 (c-lambda () int "__return(sizeof(int8_t));")) -;(define int8-size ((c-lambda () int "__return(sizeof(int8_t));"))) -;(define int8-size (c-lambda () int "__return(1);")) - (define size-of-int8_t (c-lambda () int "___return(sizeof(int8_t));")) (define size-of-uint8_t (c-lambda () int "___return(sizeof(uint8_t));")) (define size-of-int16_t (c-lambda () int "___return(sizeof(int16_t));")) @@ -26,7 +21,7 @@ (define size-of-void* (c-lambda () int "___return(sizeof(void*));")) -(define size-of-type +#;(define size-of-type (lambda (type) (cond ((eq? type 'int8) (size-of-int8_t)) ((eq? type 'uint8) (size-of-uint8_t)) @@ -49,8 +44,11 @@ ((eq? type 'pointer) (size-of-void*)) (else (error "Can not get size of unknown type" type))))) -(define-macro (pffi-shared-object-load header) - `(c-declare ,(string-append "#include <" header ">"))) +#;(define-macro (pffi-shared-object-load headers) + `@,(map (lambda (header) + '(c-declare ,(string-append "#include <" header ">"))) + headers)) + #;(define-syntax pffi-shared-object-load (syntax-rules () diff --git a/retropikzel/pffi/shared/main.scm b/retropikzel/pffi/shared/main.scm index 3f9263f..d71e945 100644 --- a/retropikzel/pffi/shared/main.scm +++ b/retropikzel/pffi/shared/main.scm @@ -66,7 +66,7 @@ (gambit (define-macro (pffi-shared-object-auto-load headers object-name options) - `(pffi-shared-object-load ,(car headers)))) + `(pffi-shared-object-load headers))) ((or chicken cyclone) (define-syntax pffi-shared-object-auto-load