This commit is contained in:
retropikzel 2025-03-13 18:57:05 +02:00
parent 97cd901ef0
commit 1b08e57be2
3 changed files with 18 additions and 19 deletions

View File

@ -141,25 +141,26 @@
(scheme process-context) (scheme process-context)
(only (gambit) c-declare c-lambda c-define)) (only (gambit) c-declare c-lambda c-define))
(export pffi-init (export pffi-init
pffi-size-of ;pffi-size-of
pffi-type? ;pffi-type?
pffi-align-of ;pffi-align-of
pffi-shared-object-auto-load ;pffi-shared-object-auto-load
pffi-shared-object-load ;pffi-shared-object-load
;pffi-pointer-null ;pffi-pointer-null
;pffi-pointer-null? ;pffi-pointer-null?
;pffi-pointer-allocate ;pffi-pointer-allocate
;pffi-pointer-address
;pffi-pointer? ;pffi-pointer?
;pffi-pointer-free ;pffi-pointer-free
;pffi-pointer-set! ;pffi-pointer-set!
;pffi-pointer-get ;pffi-pointer-get
;pffi-string->pointer ;pffi-string->pointer
;pffi-pointer->string ;pffi-pointer->string
pffi-struct-make ;pffi-struct-make
pffi-struct-pointer ;pffi-struct-pointer
pffi-struct-offset-get ;pffi-struct-offset-get
pffi-struct-get ;pffi-struct-get
pffi-struct-set! ;pffi-struct-set!
;pffi-define ;pffi-define
;pffi-define-callback ;pffi-define-callback
)) ))

View File

@ -1,10 +1,5 @@
(c-declare "#include <stdint.h>") (c-declare "#include <stdint.h>")
;(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-int8_t (c-lambda () int "___return(sizeof(int8_t));"))
(define size-of-uint8_t (c-lambda () int "___return(sizeof(uint8_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));")) (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-void* (c-lambda () int "___return(sizeof(void*));"))
(define size-of-type #;(define size-of-type
(lambda (type) (lambda (type)
(cond ((eq? type 'int8) (size-of-int8_t)) (cond ((eq? type 'int8) (size-of-int8_t))
((eq? type 'uint8) (size-of-uint8_t)) ((eq? type 'uint8) (size-of-uint8_t))
@ -49,8 +44,11 @@
((eq? type 'pointer) (size-of-void*)) ((eq? type 'pointer) (size-of-void*))
(else (error "Can not get size of unknown type" type))))) (else (error "Can not get size of unknown type" type)))))
(define-macro (pffi-shared-object-load header) #;(define-macro (pffi-shared-object-load headers)
`(c-declare ,(string-append "#include <" header ">"))) `@,(map (lambda (header)
'(c-declare ,(string-append "#include <" header ">")))
headers))
#;(define-syntax pffi-shared-object-load #;(define-syntax pffi-shared-object-load
(syntax-rules () (syntax-rules ()

View File

@ -66,7 +66,7 @@
(gambit (gambit
(define-macro (define-macro
(pffi-shared-object-auto-load headers object-name options) (pffi-shared-object-auto-load headers object-name options)
`(pffi-shared-object-load ,(car headers)))) `(pffi-shared-object-load headers)))
((or chicken cyclone) ((or chicken cyclone)
(define-syntax pffi-shared-object-auto-load (define-syntax pffi-shared-object-auto-load