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)
(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
))

View File

@ -1,10 +1,5 @@
(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-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 ()

View File

@ -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