From 93962b3403ebf12bbbdee396facb7c9414f5065a Mon Sep 17 00:00:00 2001 From: retropikzel Date: Sun, 13 Oct 2024 19:04:03 +0300 Subject: [PATCH] Add pffi-pointer-address shims for some implementations --- retropikzel/r7rs-pffi/chicken.scm | 5 +++++ retropikzel/r7rs-pffi/cyclone.scm | 4 ---- retropikzel/r7rs-pffi/guile.scm | 9 +++++---- retropikzel/r7rs-pffi/kawa.scm | 9 +++++---- retropikzel/r7rs-pffi/racket.scm | 8 ++++---- retropikzel/r7rs-pffi/sagittarius.scm | 4 ---- 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/retropikzel/r7rs-pffi/chicken.scm b/retropikzel/r7rs-pffi/chicken.scm index 42f9332..0f5d57e 100644 --- a/retropikzel/r7rs-pffi/chicken.scm +++ b/retropikzel/r7rs-pffi/chicken.scm @@ -146,6 +146,11 @@ (lambda (size) (allocate size))) +(define pffi-pointer-address + (lambda (pointer) + ;; TODO + pointer)) + (define pffi-pointer-null (lambda () (address->pointer 0))) diff --git a/retropikzel/r7rs-pffi/cyclone.scm b/retropikzel/r7rs-pffi/cyclone.scm index d24b485..b3c01e1 100644 --- a/retropikzel/r7rs-pffi/cyclone.scm +++ b/retropikzel/r7rs-pffi/cyclone.scm @@ -375,7 +375,3 @@ ((equal? type 'double) (pffi-pointer-double-get pointer offset)) ((equal? type 'pointer) (pffi-pointer-pointer-get pointer offset)) ))) - -(define pffi-pointer-cast->struct - (lambda (struct-name pointer) - pointer)) diff --git a/retropikzel/r7rs-pffi/guile.scm b/retropikzel/r7rs-pffi/guile.scm index 2a7a9e2..19e39b2 100644 --- a/retropikzel/r7rs-pffi/guile.scm +++ b/retropikzel/r7rs-pffi/guile.scm @@ -52,6 +52,11 @@ (lambda (size) (bytevector->pointer (make-bytevector size 0)))) +(define pffi-pointer-address + (lambda (pointer) + ;; TODO + pointer)) + (define pffi-pointer-null (lambda () (make-pointer 0))) @@ -122,7 +127,3 @@ ((equal? type 'double) (bytevector-ieee-double-ref p offset (native-endianness))) ((equal? type 'pointer) (make-pointer (bytevector-sint-ref p offset (native-endianness) (pffi-size-of type)))) ((equal? type 'string) (pffi-pointer->string (make-pointer (bytevector-sint-ref p offset (native-endianness) (pffi-size-of type))))))))) - -(define pffi-pointer-cast->struct - (lambda (struct-name pointer) - pointer)) diff --git a/retropikzel/r7rs-pffi/kawa.scm b/retropikzel/r7rs-pffi/kawa.scm index ea81f88..9f9652f 100644 --- a/retropikzel/r7rs-pffi/kawa.scm +++ b/retropikzel/r7rs-pffi/kawa.scm @@ -133,6 +133,11 @@ (lambda (size) (invoke (invoke arena 'allocate size 1) 'reinterpret (static-field java.lang.Integer 'MAX_VALUE)))) +(define pffi-pointer-address + (lambda (pointer) + ;; TODO + pointer)) + (define pffi-pointer-null (lambda () (static-field java.lang.foreign.MemorySegment 'NULL))) @@ -191,7 +196,3 @@ (define pffi-pointer-deref (lambda (pointer) (invoke pointer 'get (invoke (static-field java.lang.foreign.ValueLayout 'ADDRESS) 'withByteAlignment 1) 0))) - -(define pffi-pointer-cast->struct - (lambda (struct-name pointer) - pointer)) diff --git a/retropikzel/r7rs-pffi/racket.scm b/retropikzel/r7rs-pffi/racket.scm index 6a868ca..e90d6a8 100644 --- a/retropikzel/r7rs-pffi/racket.scm +++ b/retropikzel/r7rs-pffi/racket.scm @@ -52,6 +52,10 @@ (lambda (size) (malloc 'raw size))) +(define pffi-pointer-address + (lambda (pointer) + pointer)) + (define pffi-pointer-null (lambda () #f )) ; #f is the null pointer on racket @@ -100,7 +104,3 @@ (if (equal? type 'char) (integer->char r) r)))) - -(define pffi-pointer-cast->struct - (lambda (struct-name pointer) - pointer)) diff --git a/retropikzel/r7rs-pffi/sagittarius.scm b/retropikzel/r7rs-pffi/sagittarius.scm index 46b1913..17e2a9a 100644 --- a/retropikzel/r7rs-pffi/sagittarius.scm +++ b/retropikzel/r7rs-pffi/sagittarius.scm @@ -155,7 +155,3 @@ ((equal? type 'double) (pointer-ref-c-double pointer offset)) ((equal? type 'void) (pointer-ref-c-pointer pointer offset)) ((equal? type 'pointer) (pointer-ref-c-pointer pointer offset))))) - -(define pffi-pointer-cast->struct - (lambda (struct-name pointer) - pointer))