From b776994b362a1793148008d58e75a3ca7c678499 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Sun, 8 Jun 2025 08:50:47 +0300 Subject: [PATCH] Add jenkins link to readme --- README.md | 23 ++++++++------- documentation/foreign-c.html | 54 ++++++++++++++++++----------------- documentation/foreign-c.pdf | Bin 58509 -> 58772 bytes 3 files changed, 41 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index c483507..a62e6d9 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ to being portable by conforming to some specification. [Maling lists](https://sr.ht/~retropikzel/foreign-c/lists) +[Jenkins](https://jenkins.scheme.org/job/foreign_c/job/foreign-c/) + - [Installation](#installation) - [Documentation](#documentation) - [Types](#types) @@ -295,21 +297,21 @@ Example: (define-c-procedure qsort libc-stdlib 'qsort 'void '(pointer int int callback)) ; Define our callback - (pffi-define-callback compare + (define-c-callback compare 'int '(pointer pointer) (lambda (pointer-a pointer-b) - (let ((a (pffi-pointer-get pointer-a 'int 0)) - (b (pffi-pointer-get pointer-b 'int 0))) + (let ((a (c-bytevector-sint-get pointer-a (native-endianness) 0)) + (b (c-bytevector-sint-get pointer-b (native-endianness) 0))) (cond ((> a b) 1) ((= a b) 0) ((< a b) -1))))) ; Create new array of ints to be sorted (define array (make-c-bytevector (* (c-type-size 'int) 3))) - (pffi-pointer-set! array 'int (* (c-type-size 'int) 0) 3) - (pffi-pointer-set! array 'int (* (c-type-size 'int) 1) 2) - (pffi-pointer-set! array 'int (* (c-type-size 'int) 2) 1) + (c-bytevector-s32-native-set! array (* (c-type-size 'int) 0) 3) + (c-bytevector-s32-native-set! array (* (c-type-size 'int) 1) 2) + (c-bytevector-s32-native-set! array (* (c-type-size 'int) 2) 1) (display array) (newline) @@ -564,10 +566,11 @@ encoded by the given c-bytevector. Setting environment variables like this on Windows works for this library: - set "PFFI_LOAD_PATH=C:\Program Files (x86)/foo/bar" + set "FOREIGN_C_LOAD_PATH=C:\Program Files (x86)/foo/bar" -#### PFFI\_LOAD\_PATH +#### FOREIGN_C_\_LOAD\_PATH -To add more paths to where pffi looks for libraries set PFFI\_LOAD\_PATH to -paths separated by ; on windows, and : on other operating systems. +To add more paths to where foreign c looks for libraries set +FOREIGN_C\_LOAD\_PATH to paths separated by ; on windows, and : on other +operating systems. diff --git a/documentation/foreign-c.html b/documentation/foreign-c.html index 6341993..8cf73ac 100644 --- a/documentation/foreign-c.html +++ b/documentation/foreign-c.html @@ -112,7 +112,7 @@ Schemes - 0.10.0 - c-size-of + c-type-size c-bytevector-u8-set! c-bytevector-u8-ref define-c-library @@ -338,9 +338,9 @@ Schemes - 0.10.0

Installation

-

Either download the latest release from Eithe download the latest release from https://git.sr.ht/~retropikzel/foreign-c/refs - or git clone , preferably with a tag, and copy the + or git clone, preferably with a tag, and copy the foreign directory to your library directory.

Example assuming libraries in directory snow:

git clone https://git.sr.ht/~retropikzel/foreign-c --branch LATEST_VERSION
@@ -503,36 +503,36 @@ make -C snow/foreign/c SCHEME_IMPLEMENTATION_NAME
(define-c-procedure qsort libc-stdlib 'qsort 'void '(pointer int int callback)) ; Define our callback -(pffi-define-callback compare +(define-c-callback compare 'int '(pointer pointer) (lambda (pointer-a pointer-b) - (let ((a (pffi-pointer-get pointer-a 'int 0)) - (b (pffi-pointer-get pointer-b 'int 0))) + (let ((a (c-bytevector-sint-get pointer-a (native-endianness) 0)) + (b (c-bytevector-sint-get pointer-b (native-endianness) 0))) (cond ((> a b) 1) ((= a b) 0) ((< a b) -1))))) ; Create new array of ints to be sorted -(define array (make-c-bytevector (* (c-size-of 'int) 3))) -(pffi-pointer-set! array 'int (* (c-size-of 'int) 0) 3) -(pffi-pointer-set! array 'int (* (c-size-of 'int) 1) 2) -(pffi-pointer-set! array 'int (* (c-size-of 'int) 2) 1) +(define array (make-c-bytevector (* (c-type-size 'int) 3))) +(c-bytevector-s32-native-set! array (* (c-type-size 'int) 0) 3) +(c-bytevector-s32-native-set! array (* (c-type-size 'int) 1) 2) +(c-bytevector-s32-native-set! array (* (c-type-size 'int) 2) 1) (display array) (newline) ;> (3 2 1) ; Sort the array -(qsort array 3 (c-size-of 'int) compare) +(qsort array 3 (c-type-size 'int) compare) (display array) (newline) ;> (1 2 3)

c-bytevector

Foreign-c c-bytevector interface is copied from R6RS - bytevectors, with some added functionality for C null - pointers.

+ bytevectors, with some added functionality for C null pointers + and manual memory management.

(make-c-null)

Returns a null C pointer.

(c-null? obj)

@@ -545,8 +545,8 @@ make -C snow/foreign/c SCHEME_IMPLEMENTATION_NAME

Calls thunk with address pointer of c-bytevector.

Since the support for calling C functions taking pointer - address arguments, the ones you would prefix with &, varies, - some additional ceremony is needed on the Scheme side.

+ address arguments, ones prefixrd with & in C, varies, some + additional ceremony is needed on the Scheme side.

Example:

Calling from C:

//void func(int** i);
@@ -585,14 +585,16 @@ func(&i);
the bytes of the c-bytevector

(c-bytevector-s8-set! c-bytevector k byte)

-

If K is not a valid index of c-bytevector the behaviour is - undefined.

-

Stores the byte in element k of c-bytevector.

+

If k is not a valid index of c-bytevector the + behaviour is undefined.

+

Stores the byte in element k of + c-bytevector.

(c-bytevector-s8-ref c-bytevector - k byte)

-

If K is not a valid index of c-bytevector the behaviour is - undefined.

-

Returns the byte at index k of c-bytevector.

+ k)

+

If k is not a valid index of c-bytevector the + behaviour is undefined.

+

Returns the byte at index k of + c-bytevector.

(c-bytevector-uint-ref c-bytevector k endianness size)
(c-bytevector-sint-ref c-bytevector @@ -763,10 +765,10 @@ func(&i);

Environment variables

Setting environment variables like this on Windows works for this library:

-
set "PFFI_LOAD_PATH=C:\Program Files (x86)/foo/bar"
-

PFFI_LOAD_PATH

-

To add more paths to where pffi looks for libraries set - PFFI_LOAD_PATH to paths separated by ; on windows, and : on +

set "FOREIGN_C_LOAD_PATH=C:\Program Files (x86)/foo/bar"
+

FOREIGN_C__LOAD_PATH

+

To add more paths to where foreign c looks for libraries set + FOREIGN_C_LOAD_PATH to paths separated by ; on windows, and : on other operating systems.

diff --git a/documentation/foreign-c.pdf b/documentation/foreign-c.pdf index c86f2ed82f38a6c62741510b4ca2be97ad3817ee..1e613d6b73cbbce1726a500a891d73fa960f0221 100644 GIT binary patch delta 29829 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 Q|G1V7iJDqmK?3Q20Pq^34FCWD delta 29563 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