From fedc4cb57130c4b261d0812dec41d8fbfed05dc6 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Sat, 3 May 2025 08:47:42 +0300 Subject: [PATCH] Updated documentation --- README.md | 8 +- documentation/foreign-c.html | 223 ++++++++++++++++++++++++++--------- documentation/foreign-c.pdf | Bin 52777 -> 58509 bytes 3 files changed, 174 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 94d41fd..ca5564d 100644 --- a/README.md +++ b/README.md @@ -126,12 +126,12 @@ to being portable by conforming to some specification. | Stklos | X | X | | | Ypsilon | X | X | | -### Installation +## Installation Either download the latest release from -[https://git.sr.ht/~retropikzel/foreign-c/refs](https://git.sr.ht/~retropikzel/foreign-c/refs) or git clone -, preferably with a tag, and copy the _foreign_ directory to your library -directory. +[https://git.sr.ht/~retropikzel/foreign-c/refs](https://git.sr.ht/~retropikzel/foreign-c/refs) +or git clone, preferably with a tag, and copy the _foreign_ directory to your +library directory. Example assuming libraries in directory _snow_: diff --git a/documentation/foreign-c.html b/documentation/foreign-c.html index be7e230..6341993 100644 --- a/documentation/foreign-c.html +++ b/documentation/foreign-c.html @@ -337,7 +337,7 @@ Schemes - 0.10.0 -

Installation

+

Installation

Either download the latest release from https://git.sr.ht/~retropikzel/foreign-c/refs or git clone , preferably with a tag, and copy the @@ -540,7 +540,10 @@ make -C snow/foreign/c SCHEME_IMPLEMENTATION_NAME pointer, otherwise returns #f.

(c-free c-bytevector)

Frees c-bytevector from memory.

-

(call-with-address-of)

+

(call-with-address-of c-bytevector + thunk)

+

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.

@@ -558,6 +561,13 @@ func(&i);

The passed c-bytevector, in example named cbv, should only be used after call to call-with-addres-of ends.

+

(bytevector->c-bytevector + bytevector)

+

Returns a newly allocated c-bytevector of the bytes of + bytevector.

+

(c-bytevector->bytevector)

+

Returns a newly allocated bytevector of the bytes of + c-bytevector.

(native-endianness)

Returns the endianness symbol associated implementation’s preferred endianness (usually that of the underlying machine @@ -583,66 +593,173 @@ func(&i);

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-sint-set! bytevector +

(c-bytevector-uint-ref c-bytevector k endianness size)
- (c-bytevector-sint-ref bytevector + (c-bytevector-sint-ref c-bytevector k endianness size)
- (c-bytevector-uint-set! bytevector - k endianness size)
- (c-bytevector-uint-ref bytevector - k endianness size)

-

Size must be a positive exact integer object. If K , . . . , - k + size − 1 is not valid indices of bytevector the behavior is - unspecified.

+ (c-bytevector-uint-set! c-bytevector + k n endianness size)
+ (c-bytevector-sint-set! c-bytevector + k n endianness size)

+

Size must be a positive exact integer object. If + k,…,k + size − 1 is not valid indices + of c-bytevector the behavior is unspecified.

The c-bytevector-uint-ref procedure retrieves the exact integer object corresponding to the unsigned representation of size size and specified by endianness at indices k,…,k + size − 1.

The c-bytevector-sint-ref procedure retrieves the exact integer object corresponding to the two’s-complement - representation of size size and specified by endianness at - indices k , . . . , k + size − 1. For c-bytevector-uint-set!, n - must be an exact integer object in the interval {0, . . . , - 256size − 1}.

+ representation of size size and specified by + endianness at indices k,…,k + + size − 1. For c-bytevector-uint-set!, n must + be an exact integer object in the interval + {0,…,256^size − 1}.

The c-bytevector-uint-set! procedure stores the unsigned - representation of size size and specified by endianness into - bytevector at indices k , . . . , k + size − 1.

-

(c-bytevector-s16-set!) - (c-bytevector-s16-ref) - (c-bytevector-s16-native-set!) - (c-bytevector-s16-native-ref) - (c-bytevector-u16-set!) - (c-bytevector-u16-ref) - (c-bytevector-u16-native-set!) - (c-bytevector-u16-native-ref) - (c-bytevector-s32-set!) - (c-bytevector-s32-ref) - (c-bytevector-s32-native-set!) - (c-bytevector-s32-native-ref) - (c-bytevector-u32-set!) - (c-bytevector-u32-ref) - (c-bytevector-u32-native-set!) - (c-bytevector-u32-native-ref) - (c-bytevector-s64-set!) - (c-bytevector-s64-ref) - (c-bytevector-s64-native-set!) - (c-bytevector-s64-native-ref) - (c-bytevector-u64-set!) - (c-bytevector-u64-ref) - (c-bytevector-u64-native-set!) - (c-bytevector-u64-native-ref) - (c-bytevector-ieee-single-set!) - (c-bytevector-ieee-single-native-set!) - (c-bytevector-ieee-single-ref) - (c-bytevector-ieee-single-native-ref) - (c-bytevector-ieee-double-set!) - (c-bytevector-ieee-double-native-set!) - (c-bytevector-ieee-double-ref) - (c-bytevector-ieee-double-native-ref) - (bytevector->c-bytevector) - (c-bytevector->bytevector) - (string->c-utf8) - (c-utf8->string)

+ representation of size size and specified by + endianness into c-bytevector at indices + k,…,k + size − 1.

+

The . . . -set! procedures return unspecified values.

+

Examples:

+
(define cbv (make-c-bytevector (c-type-size 'int)))
+(c-bytevector-sint-set! cbv 0 100 (native-endianness) (c-type-size 'int))
+(c-bytevector-sint-ref cbv 0 (native-endianness) (c-type-size 'int))
+> 100
+

(c-bytevector-u16-ref c-bytevector + k endianness)
+ (c-bytevector-s16-ref c-bytevector + k endianness)
+ (c-bytevector-u16-native-ref + c-bytevector k)
+ (c-bytevector-s16-native-ref + c-bytevector k)
+ (c-bytevector-u16-set! c-bytevector + k n endianness)
+ (c-bytevector-s16-set! c-bytevector + k n endianness)
+ (c-bytevector-u16-native-set! + c-bytevector k n)
+ (c-bytevector-s16-native-set! + c-bytevector k n)

+

K must be a valid index of c-bytevector ; + so must k + 1. For c-bytevector-u16-set! and + c-bytevector-u16-native-set!, n must be an exact + integer object in the interval {0,…,216 − 1}. For + c-bytevector-s16-set! and c-bytevector-s16-native-set!, + n must be an exact integer object in the interval + {−215,…,215 − 1}.

+

These retrieve and set two-byte representations of numbers at + indices k and k + 1, according to the + endianness specified by endianness. The procedures with + u16 in their names deal with the unsigned representation; those + with s16 in their names deal with the two’s-complement + representation.

+

The procedures with native in their names employ the native + endianness, and work only at aligned indices: k must be + a multiple of 2.

+

The …-set! procedures return unspecified values.

+

(c-bytevector-u32-ref c-bytevector + k endianness)
+ (c-bytevector-s32-ref c-bytevector + k endianness)
+ (c-bytevector-u32-native-ref + c-bytevector k)
+ (c-bytevector-s32-native-ref + c-bytevector k)
+ (c-bytevector-u32-set! c-bytevector + k n endianness)
+ (c-bytevector-s32-set! c-bytevector + k n endianness)
+ (c-bytevector-u32-native-set! + c-bytevector k n)
+ (c-bytevector-s32-native-set! + c-bytevector k n)

+

K,…,k + 3 must be valid indices of + bytevector. For c-bytevector-u32-set! and + bytevector-u32-native-set!, n must be an exact integer + object in the interval {0,…,232 − 1}. For bytevector-s32-set! + and bytevector-s32-native-set!, n must be an exact + integer object in the interval {−231,…,232 − 1}.

+

These retrieve and set four-byte representations of numbers + at indices k,…,k + 3, according to the + endianness specified by endianness. The procedures with + u32 in their names deal with the unsigned representation; those + with s32 with the two’s-complement representation.

+

The procedures with native in their names employ the native + endianness, and work only at aligned indices: k must be + a multiple of 4.

+

The …-set! procedures return unspecified values.

+

(c-bytevector-u64-ref c-bytevector + k endianness)
+ (c-bytevector-s64-ref c-bytevector + k endianness)
+ (c-bytevector-u64-native-ref + c-bytevector k)
+ (c-bytevector-s64-native-ref + c-bytevector k)
+ (c-bytevector-u64-set! c-bytevector + k n endianness)
+ (c-bytevector-s64-set! c-bytevector + k n endianness)
+ (c-bytevector-u64-native-set! + c-bytevector k n)
+ (c-bytevector-s64-native-set! + c-bytevector k n)

+

K,…,k + 7 must be valid indices of + c-bytevector. For c-bytevector-u64-set! and + c-bytevector-u64-native-set!, n must be an exact + integer object in the interval {0,…,264 − 1}. For + c-bytevector-s64-set! and c-bytevector-s64-native-set!, + n must be an exact integer object in the interval + {−263,…,264 − 1}.

+

These retrieve and set eight-byte representations of numbers + at indices k,…,k + 7, according to the + endianness specified by endianness. The procedures with + u64 in their names deal with the unsigned representation; those + with s64 with the two’s-complement representation.

+

The procedures with native in their names employ the native + endianness, and work only at aligned indices: k must be + a multiple of 8.

+

The …-set! procedures return unspecified values.

+

(c-bytevector-ieee-single-native-ref)
+ (c-bytevector-ieee-single-ref)

+

K,…,k + 3 must be valid indices of + c-bytevector. For c-bytevector-ieee-single-native-ref, + k must be a multiple of 4.

+

These procedures return the inexact real number object that + best represents the IEEE-754 single-precision number represented + by the four bytes beginning at index k.

+

(c-bytevector-ieee-double-native-ref)
+ (c-bytevector-ieee-double-ref)

+

K,…,k + 7 must be valid indices of + c-bytevector. For c-bytevector-ieee-double-native-ref, + k must be a multiple of 8.

+

These procedures return the inexact real number object that + best represents the IEEE-754 double-precision number represented + by the eight bytes beginning at index k.

+

(c-bytevector-ieee-single-native-set!)
+ (c-bytevector-ieee-single-set!)

+

K,…,k + 3 must be valid indices of + c-bytevector. For c-bytevector-ieee-single-native-set!, + k must be a multiple of 4.

+

These procedures store an IEEE-754 single-precision + representation of x into elements k through k + + 3 of bytevector, and return unspecified values.

+

(c-bytevector-ieee-double-native-set!)
+ (c-bytevector-ieee-double-set!)

+

K,…,k + 7 must be valid indices of + bytevector. For c-bytevector-ieee-double-native-set!, k + must be a multiple of 8.

+

These procedures store an IEEE-754 double-precision + representation of x into elements k through k + + 7 of bytevector, andreturn unspecified values.

+

(string->c-utf8 string)

+

Returns a newly allocated (unless empty) c-bytevector that + contains the UTF-8 encoding of the given string.

+

(c-utf8->string + c-bytevector)

+

Returns a newly allocated (unless empty) string whose + character sequence is encoded by the given c-bytevector.

Environment variables

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

diff --git a/documentation/foreign-c.pdf b/documentation/foreign-c.pdf index 73dfb0d1d5fe0d6de7943a79c191e11d20d00bce..c86f2ed82f38a6c62741510b4ca2be97ad3817ee 100644 GIT binary patch delta 33576 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 JF?n&M{|7YLwo?EA delta 28190 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 X6!5PoopnZZZg?uu=;