diff --git a/foreign/c.sld b/foreign/c.sld index 7ae354d..4668b9e 100644 --- a/foreign/c.sld +++ b/foreign/c.sld @@ -145,22 +145,22 @@ cpointer-data-set! ;c-bytevector-s8-set! ;c-bytevector-s8-set! - cpointer-set-int8_t! - cpointer-ref-int8_t - cpointer-set-uint8_t! - cpointer-ref-uint8_t - cpointer-set-int16_t! - cpointer-ref-int16_t - cpointer-set-uint16_t! - cpointer-ref-uint16_t - cpointer-set-int32_t! - cpointer-ref-int32_t - cpointer-set-uint32_t! - cpointer-ref-uint32_t - cpointer-set-int64_t! - cpointer-ref-int64_t - cpointer-set-uint64_t! - cpointer-ref-uint64_t + 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! diff --git a/foreign/c/internal.scm b/foreign/c/internal.scm index 1b3b931..ff8be0b 100644 --- a/foreign/c/internal.scm +++ b/foreign/c/internal.scm @@ -36,12 +36,12 @@ ((equal? type 'uint64) (c-bytevector-u64-ref pointer offset)) ((equal? type 'char) (integer->char (c-bytevector-s8-ref pointer offset))) ((equal? type 'unsigned-char) (integer->char (c-bytevector-u8-ref pointer offset))) - ((equal? type 'short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'short))) - ((equal? type 'unsigned-short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'unsigned-short))) - ((equal? type 'int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'int))) - ((equal? type 'unsigned-int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'unsigned-int))) - ((equal? type 'long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'long))) - ((equal? type 'unsigned-long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'unsigned-long))) + ((equal? type 'short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'short))) + ((equal? type 'unsigned-short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'unsigned-short))) + ((equal? type 'int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'int))) + ((equal? type 'unsigned-int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'unsigned-int))) + ((equal? type 'long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'long))) + ((equal? type 'unsigned-long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'unsigned-long))) ((equal? type 'float) (c-bytevector-ieee-single-native-ref pointer offset)) ((equal? type 'double) (c-bytevector-ieee-double-native-ref pointer offset)) ((equal? type 'pointer) (c-bytevector-pointer-ref pointer offset)) diff --git a/foreign/c/pointer.scm b/foreign/c/pointer.scm index c2b2cf0..375a692 100644 --- a/foreign/c/pointer.scm +++ b/foreign/c/pointer.scm @@ -100,21 +100,21 @@ 0 (c-bytevector->address pointer) (native-endianness) - (c-size-of 'pointer)))) + (c-type-size 'pointer)))) #;(define c-bytevector-pointer-ref (lambda (c-bytevector k) (address->c-bytevector (c-bytevector-uint-ref c-bytevector 0 (native-endianness) - (c-size-of 'pointer))))) + (c-type-size 'pointer))))) (cond-expand ;(kawa #t) ; Defined in kawa.scm (else (define-syntax call-with-address-of (syntax-rules () ((_ input-pointer thunk) - (let ((address-pointer (make-c-bytevector (c-size-of 'pointer)))) + (let ((address-pointer (make-c-bytevector (c-type-size 'pointer)))) (c-bytevector-pointer-set! address-pointer 0 input-pointer) (let ((result (apply thunk (list address-pointer)))) (set! input-pointer (c-bytevector-pointer-ref address-pointer 0)) diff --git a/foreign/c/primitives/chibi.scm b/foreign/c/primitives/chibi.scm index 61595dd..76bfb05 100644 --- a/foreign/c/primitives/chibi.scm +++ b/foreign/c/primitives/chibi.scm @@ -184,7 +184,7 @@ (type->libffi-type-number return-type) (map type->libffi-type-number argument-types) c-function - (c-size-of return-type) + (c-type-size return-type) arguments))) (c-bytevector-get return-pointer return-type 0)))))) diff --git a/foreign/c/primitives/chibi/foreign-c.stub b/foreign/c/primitives/chibi/foreign-c.stub index 3ba5371..1579a81 100644 --- a/foreign/c/primitives/chibi/foreign-c.stub +++ b/foreign/c/primitives/chibi/foreign-c.stub @@ -5,7 +5,7 @@ (c-system-include "stdio.h") (c-system-include "ffi.h") -;; c-size-of +;; c-type-size (c-declare " int size_of_int8_t() { return sizeof(int8_t); } int size_of_uint8_t() { return sizeof(uint8_t); } diff --git a/foreign/c/primitives/kawa.scm b/foreign/c/primitives/kawa.scm index 844fd84..c4bc2db 100644 --- a/foreign/c/primitives/kawa.scm +++ b/foreign/c/primitives/kawa.scm @@ -189,7 +189,7 @@ #;(define-syntax call-with-address-of-c-bytevector (syntax-rules () ((_ input-pointer thunk) - (let ((address-pointer (make-c-bytevector (c-size-of 'pointer)))) + (let ((address-pointer (make-c-bytevector (c-type-size 'pointer)))) (pointer-set! address-pointer 'pointer 0 input-pointer) (apply thunk (list address-pointer)) (set! input-pointer (pointer-get address-pointer 'pointer 0)) diff --git a/foreign/c/primitives/larceny.scm b/foreign/c/primitives/larceny.scm index c2ca16e..a0d4c9e 100644 --- a/foreign/c/primitives/larceny.scm +++ b/foreign/c/primitives/larceny.scm @@ -43,19 +43,19 @@ (define c-bytevector-u8-set! (lambda (c-bytevector k byte) - (syscall syscall:poke-bytes c-bytevector k (c-size-of 'uint8) byte))) + (syscall syscall:poke-bytes c-bytevector k (c-type-size 'uint8) byte))) (define c-bytevector-u8-ref (lambda (c-bytevector k) - (syscall syscall:peek-bytes c-bytevector k (c-size-of 'uint8)))) + (syscall syscall:peek-bytes c-bytevector k (c-type-size 'uint8)))) (define c-bytevector-pointer-set! (lambda (c-bytevector k pointer) - (syscall syscall:poke-bytes c-bytevector k (c-size-of 'pointer) pointer))) + (syscall syscall:poke-bytes c-bytevector k (c-type-size 'pointer) pointer))) (define c-bytevector-pointer-ref (lambda (c-bytevector k) - (syscall syscall:peek-bytes c-bytevector k (c-size-of 'pointer)))) + (syscall syscall:peek-bytes c-bytevector k (c-type-size 'pointer)))) (define-syntax define-c-procedure (syntax-rules () diff --git a/foreign/c/primitives/racket.scm b/foreign/c/primitives/racket.scm index d611518..525e8c9 100644 --- a/foreign/c/primitives/racket.scm +++ b/foreign/c/primitives/racket.scm @@ -76,7 +76,7 @@ #;(define-syntax call-with-address-of-c-bytevector (syntax-rules () ((_ input-pointer thunk) - (let ((address-pointer (make-c-bytevector (c-size-of 'pointer)))) + (let ((address-pointer (make-c-bytevector (c-type-size 'pointer)))) (c-bytevector-pointer-set! address-pointer 0 input-pointer) (apply thunk (list address-pointer)) (set! input-pointer (c-bytevector-pointer-ref address-pointer 0)) diff --git a/foreign/c/primitives/stklos.scm b/foreign/c/primitives/stklos.scm index 4544245..36c899a 100644 --- a/foreign/c/primitives/stklos.scm +++ b/foreign/c/primitives/stklos.scm @@ -93,8 +93,8 @@ ((equal? type 'double) 8) ((equal? type 'pointer) 8)))) -(define c-bytevector-u8-set! cpointer-set-uint8_t!) -(define c-bytevector-u8-ref cpointer-ref-uint8_t) +(define c-bytevector-u8-set! cpointer-set-uint8!) +(define c-bytevector-u8-ref cpointer-ref-uint8) (define c-bytevector-pointer-set! cpointer-set-pointer!) (define c-bytevector-pointer-ref cpointer-ref-pointer) diff --git a/foreign/c/primitives/ypsilon.scm b/foreign/c/primitives/ypsilon.scm index b7c904c..b38043e 100644 --- a/foreign/c/primitives/ypsilon.scm +++ b/foreign/c/primitives/ypsilon.scm @@ -31,27 +31,27 @@ (define c-bytevector-u8-set! (lambda (c-bytevector k byte) (bytevector-c-int8-set! (make-bytevector-mapping (+ c-bytevector k) - (c-size-of 'uint8)) + (c-type-size 'uint8)) 0 byte))) (define c-bytevector-u8-ref (lambda (c-bytevector k) (bytevector-c-int8-ref (make-bytevector-mapping (+ c-bytevector k) - (c-size-of 'uint8)) + (c-type-size 'uint8)) 0))) (define c-bytevector-pointer-set! (lambda (c-bytevector k pointer) - (let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-size-of 'pointer)))) + (let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-type-size 'pointer)))) (bytevector-c-void*-set! bv 0 pointer)))) (define c-bytevector-pointer-ref (lambda (c-bytevector k) - (let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-size-of 'pointer)))) + (let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-type-size 'pointer)))) (bytevector-c-void*-ref bv 0)))) #;(define pointer-set! (lambda (pointer type offset value) - (let ((bv (make-bytevector-mapping (+ pointer offset) (c-size-of type)))) + (let ((bv (make-bytevector-mapping (+ pointer offset) (c-type-size type)))) (cond ((equal? type 'int8) (bytevector-c-int8-set! bv 0 value)) ((equal? type 'uint8) (bytevector-c-int8-set! bv 0 value)) ((equal? type 'int16) (bytevector-c-int16-set! bv 0 value)) @@ -74,7 +74,7 @@ #;(define pointer-get (lambda (pointer type offset) - (let ((bv (make-bytevector-mapping (+ pointer offset) (c-size-of type)))) + (let ((bv (make-bytevector-mapping (+ pointer offset) (c-type-size type)))) (cond ((equal? type 'int8) (bytevector-c-int8-ref bv 0)) ((equal? type 'uint8) (bytevector-c-uint8-ref bv 0)) ((equal? type 'int16) (bytevector-c-int16-ref bv 0)) diff --git a/tests/addressof.scm b/tests/addressof.scm index 9ff3a68..d60dacf 100644 --- a/tests/addressof.scm +++ b/tests/addressof.scm @@ -87,7 +87,7 @@ 'int '(pointer pointer)) -(define input-pointer (make-c-bytevector (c-size-of 'int))) +(define input-pointer (make-c-bytevector (c-type-size 'int))) (c-bytevector-s32-native-set! input-pointer 0 100) (assert equal? (= (c-bytevector-s32-native-ref input-pointer 0) 100) #t) (debug (c-bytevector-s32-native-ref input-pointer 0))