Small fixes. Implementing some pointer address and deref procedures

This commit is contained in:
retropikzel 2024-10-17 19:41:34 +03:00
parent 539adeb2d5
commit 6d15fb2c2b
5 changed files with 24 additions and 6 deletions

View File

@ -76,6 +76,7 @@
pffi-size-of
pffi-pointer-allocate
pffi-pointer-address
pffi-pointer-dereference
pffi-pointer-null
pffi-string->pointer
pffi-pointer->string

View File

@ -148,8 +148,11 @@
(define pffi-pointer-address
(lambda (pointer)
;; TODO
pointer))
(pointer->address pointer)))
(define pffi-pointer-dereference
(lambda (pointer)
(pointer->address pointer)))
(define pffi-pointer-null
(lambda ()

View File

@ -54,8 +54,11 @@
(define pffi-pointer-address
(lambda (pointer)
;; TODO
pointer))
(pointer-address pointer)))
(define pffi-pointer-dereference
(lambda (pointer)
(dereference-pointer pointer)))
(define pffi-pointer-null
(lambda ()

View File

@ -135,8 +135,11 @@
(define pffi-pointer-address
(lambda (pointer)
;; TODO
pointer))
(invoke pointer 'get (invoke (static-field java.lang.foreign.ValueLayout 'ADDRESS) 'withByteAlignment 1) 0)))
(define pffi-pointer-dereference
(lambda (pointer)
(invoke pointer 'get (invoke (static-field java.lang.foreign.ValueLayout 'ADDRESS) 'withByteAlignment 1) 0)))
(define pffi-pointer-null
(lambda ()

View File

@ -77,6 +77,10 @@
(lambda (pointer)
(address pointer)))
(define pffi-pointer-dereference
(lambda (pointer)
(deref pointer 0)))
(define pffi-pointer-null
(lambda ()
(empty-pointer)))
@ -95,6 +99,10 @@
(looper 0)
pointer)))
(define pffi-string->pointer
(lambda (string-content)
string-content))
(define pffi-pointer->string
(lambda (pointer)
(pointer->string pointer)))