Update to new STklos ffi

This commit is contained in:
retropikzel 2025-06-01 10:54:20 +03:00
parent f8cae9fef4
commit 35a41d0ecd
5 changed files with 19 additions and 49 deletions

5
.gitignore vendored
View File

@ -2,6 +2,8 @@
!include/pffi-gauche.h !include/pffi-gauche.h
!include/libtest.h !include/libtest.h
*.c *.c
!tests/c-src/*.c
!tests/c-include/*.h
!src/libtest.c !src/libtest.c
!src/gauche/pffi.c !src/gauche/pffi.c
*.swp *.swp
@ -39,10 +41,7 @@ dockerfiles/build
.scheme_testrunner .scheme_testrunner
core core
testfile.test testfile.test
tests/compliance
tests/retropikzel
*.rkt *.rkt
testfile.test testfile.test
tests/testfile.test
snow snow
foreign/c/lib foreign/c/lib

View File

@ -1,2 +0,0 @@
FROM schemers/chibi
RUN apt-get update && apt-get install -y build-essential

View File

@ -1,2 +0,0 @@
FROM debian:trixie
RUN apt update && apt install -y docker.io make bash curl zip unzip openjdk-22-jdk build-essential

View File

@ -143,44 +143,8 @@
cpointer-null? cpointer-null?
cpointer-data cpointer-data
cpointer-data-set! cpointer-data-set!
;c-bytevector-s8-set! cpointer-set!
;c-bytevector-s8-set! cpointer-ref
cpointer-set-int8!
cpointer-ref-int8
cpointer-set-uint8!
cpointer-ref-uint8
cpointer-set-int16!
cpointer-ref-int16
cpointer-set-uint16!
cpointer-ref-uint16
cpointer-set-int32!
cpointer-ref-int32
cpointer-set-uint32!
cpointer-ref-uint32
cpointer-set-int64!
cpointer-ref-int64
cpointer-set-uint64!
cpointer-ref-uint64
cpointer-set-char!
cpointer-ref-char
cpointer-set-short!
cpointer-ref-short
cpointer-set-unsigned-short!
cpointer-ref-unsigned-short
cpointer-set-int!
cpointer-ref-int
cpointer-set-unsigned-int!
cpointer-ref-unsigned-int
cpointer-set-long!
cpointer-ref-long
cpointer-set-unsigned-long!
cpointer-ref-unsigned-long
cpointer-set-float!
cpointer-ref-float
cpointer-set-double!
cpointer-ref-double
cpointer-set-pointer!
cpointer-ref-pointer
void?)) void?))
(export ; calculate-struct-size-and-offsets (export ; calculate-struct-size-and-offsets
;struct-make ;struct-make

View File

@ -93,10 +93,21 @@
((equal? type 'double) 8) ((equal? type 'double) 8)
((equal? type 'pointer) 8)))) ((equal? type 'pointer) 8))))
(define c-bytevector-u8-set! cpointer-set-uint8!) (define c-bytevector-u8-set!
(define c-bytevector-u8-ref cpointer-ref-uint8) (lambda (pointer offset value)
(define c-bytevector-pointer-set! cpointer-set-pointer!) (cpointer-set! pointer :uint8 value offset)))
(define c-bytevector-pointer-ref cpointer-ref-pointer)
(define c-bytevector-u8-ref
(lambda (pointer offset)
(cpointer-ref pointer :uint8 offset)))
(define c-bytevector-pointer-set!
(lambda (pointer offset value)
(cpointer-set! pointer :pointer value offset)))
(define c-bytevector-pointer-ref
(lambda (pointer offset)
(cpointer-ref pointer :pointer offset)))
#;(define pffi-pointer-set! #;(define pffi-pointer-set!
(lambda (pointer type offset value) (lambda (pointer type offset value)