diff --git a/README.md b/README.md
index bf8512a..a02a8d4 100644
--- a/README.md
+++ b/README.md
@@ -43,8 +43,7 @@ conforming to some specification.
- [pffi-init](#pffi-init)
- [pffi-size-of](#pffi-size-of)
- [pffi-align-of](#pffi-align-of)
- - [pffi-shared-object-auto-load](#pffi-shared-object-auto-load)
- - [pffi-shared-object-load](#pffi-shared-object-load)
+ - [pffi-load](#pffi-load)
- [pffi-pointer-null](#pffi-pointer-null)
- [pffi-pointer-null?](#pffi-pointer-null?)
- [pffi-pointer-allocate](#pffi-pointer-allocate)
@@ -114,31 +113,31 @@ For roadmap to 1.0.0 see [issues](https://todo.sr.ht/~retropikzel/r7rs-pffi?sear
### Beta
-| | pffi-init | pffi-size-of | pffi-shared-object-auto-load | pffi-shared-object-load | pffi-pointer-null | pffi-pointer-null? | pffi-pointer-allocate | pffi-pointer-address | pffi-pointer? | pffi-pointer-free | pffi-pointer-set! | pffi-pointer-get | pffi-string->pointer | pffi-pointer->string | pffi-struct-make | pffi-struct-pointer | pffi-struct-offset-get | pffi-struct-get | pffi-struct-set! | pffi-define | pffi-define-callback |
-|--------------|:---------:|:------------:|:----------------------------:|:-----------------------:|:-----------------:|:------------------:|:---------------------:|:--------------------:|:-------------:|:-----------------:|:-----------------:|:----------------:|:--------------------:|:--------------------:|:----------------:|:-------------------:|:----------------------:|:---------------:|:----------------:|:-----------:|:--------------------:|
-| Chibi | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
-| Chicken-5 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
-| Gauche | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
-| Guile | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
-| Kawa | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
-| Racket | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
-| Saggittarius | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+| | pffi-init | pffi-size-of | pffi-load | pffi-pointer-null | pffi-pointer-null? | pffi-pointer-allocate | pffi-pointer-address | pffi-pointer? | pffi-pointer-free | pffi-pointer-set! | pffi-pointer-get | pffi-string->pointer | pffi-pointer->string | pffi-struct-make | pffi-struct-pointer | pffi-struct-offset-get | pffi-struct-get | pffi-struct-set! | pffi-define | pffi-define-callback |
+|--------------|:---------:|:------------:|:---------:|:-----------------:|:------------------:|:---------------------:|:--------------------:|:-------------:|:-----------------:|:-----------------:|:----------------:|:--------------------:|:--------------------:|:----------------:|:-------------------:|:----------------------:|:---------------:|:----------------:|:-----------:|:--------------------:|
+| Chibi | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
+| Chicken-5 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+| Gauche | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
+| Guile | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+| Kawa | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+| Racket | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
+| Saggittarius | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
### Alpha
-| | pffi-init | pffi-size-of | pffi-shared-object-auto-load | pffi-shared-object-load | pffi-pointer-null | pffi-pointer-null? | pffi-pointer-allocate | pffi-pointer-address | pffi-pointer? | pffi-pointer-free | pffi-pointer-set! | pffi-pointer-get | pffi-string->pointer | pffi-pointer->string | pffi-struct-make | pffi-struct-pointer | pffi-struct-offset-get | pffi-struct-get | pffi-struct-set! | pffi-define | pffi-define-callback |
-|--------------|:---------:|:------------:|:----------------------------:|:-----------------------:|:-----------------:|:------------------:|:---------------------:|:--------------------:|:-------------:|:-----------------:|:-----------------:|:----------------:|:--------------------:|:--------------------:|:----------------:|:-------------------:|:----------------------:|:---------------:|:----------------:|:-----------:|:--------------------:|
-| Cyclone | X | X | X | X | X | X | X | | X | X | X | X | X | X | X | X | X | X | X | X | |
-| Gambit | X | X | | | | | | X | | | | | | | X | X | X | X | X | | |
-| Gerbil | X | | | | | | | | | | | | | | X | X | X | X | X | | |
-| Larceny | X | | | | | | | | | | | | | | X | X | X | X | X | | |
-| Mosh | X | X | X | X | X | X | X | | X | X | X | X | X | X | X | X | X | X | X | X | X |
-| Skint | X | | | | | | | | | | | | | | X | X | X | X | X | | |
-| Stklos | X | X | X | X | X | X | X | | X | X | | | | | X | X | X | X | X | | |
-| tr7 | | | | | | | | | | | | | | | X | X | X | X | X | | |
-| Ypsilon | | | | | | | | | | | | | | | X | X | X | X | X | | |
+| | pffi-init | pffi-size-of | pffi-load | pffi-pointer-null | pffi-pointer-null? | pffi-pointer-allocate | pffi-pointer-address | pffi-pointer? | pffi-pointer-free | pffi-pointer-set! | pffi-pointer-get | pffi-string->pointer | pffi-pointer->string | pffi-struct-make | pffi-struct-pointer | pffi-struct-offset-get | pffi-struct-get | pffi-struct-set! | pffi-define | pffi-define-callback |
+|--------------|:---------:|:------------:|:---------:|:-----------------:|:------------------:|:---------------------:|:--------------------:|:-------------:|:-----------------:|:-----------------:|:----------------:|:--------------------:|:--------------------:|:----------------:|:-------------------:|:----------------------:|:---------------:|:----------------:|:-----------:|:--------------------:|
+| Cyclone | X | X | X | X | X | X | | X | X | X | X | X | X | X | X | X | X | X | X | |
+| Gambit | X | X | | | | | X | | | | | | | X | X | X | X | X | | |
+| Gerbil | X | | | | | | | | | | | | | X | X | X | X | X | | |
+| Larceny | X | | | | | | | | | | | | | X | X | X | X | X | | |
+| Mosh | X | X | X | X | X | X | | X | X | X | X | X | X | X | X | X | X | X | X | X |
+| Skint | X | | | | | | | | | | | | | X | X | X | X | X | | |
+| Stklos | X | X | X | X | X | X | | X | X | | | | | X | X | X | X | X | | |
+| tr7 | | | | | | | | | | | | | | X | X | X | X | X | | |
+| Ypsilon | | | | | | | | | | | | | | X | X | X | X | X | | |
### Not started
@@ -267,9 +266,9 @@ Returns the size of the pffi-struct, pffi-enum or pffi-type.
Returns the align of the type.
-#### pffi-shared-object-auto-load
+#### pffi-load
-**pffi-shared-object-auto-load** headers shared-object-name [options] -> object
+**pffi-load** headers shared-object-name [options] -> object
Load given shared object automatically searching many predefined paths.
@@ -291,33 +290,11 @@ Example:
(define libc-stdlib
(cond-expand
- (windows (pffi-shared-object-auto-load (list "stdlib.h") "ucrtbase"))
- (else (pffi-shared-object-auto-load (list "stdlib.h")
- "c"
- '(additional-versions . ("6"))
- '(additional-search-paths . ("."))))))
-
-
-#### pffi-shared-object-load
-
-**pffi-shared-object-load** headers path [options]
-
-It is recommended to use the pffi-shared-object-auto-load instead of this
-directly.
-
-Headers is a list of strings needed to be included, for example
-
- (list "curl/curl.h")
-
-Path is the full path of the shared object without any "lib" prefix or ".so/.dll" suffix. For example:
-
- "curl"
-
-
-Options:
-
-- additional-versions
- - List of different versions of library to try, for example (list ".0" ".1")
+ (windows (pffi-load (list "stdlib.h") "ucrtbase"))
+ (else (pffi-load (list "stdlib.h")
+ "c"
+ '(additional-versions . ("6"))
+ '(additional-search-paths . ("."))))))
#### pffi-pointer-null
@@ -438,8 +415,8 @@ Defines a new foreign function to be used from Scheme code. For example:
(define libc-stdlib
(cond-expand
- (windows (pffi-shared-object-auto-load (list "stdlib.h") (list) "ucrtbase" (list "")))
- (else (pffi-shared-object-auto-load (list "stdlib.h") (list) "c" (list "" "6")))))
+ (windows (pffi-load (list "stdlib.h") (list) "ucrtbase" (list "")))
+ (else (pffi-load (list "stdlib.h") (list) "c" (list "" "6")))))
(pffi-define c-puts libc-stdlib 'puts 'int (list 'pointer))
(c-puts "Message brought to you by FFI!")
@@ -452,8 +429,8 @@ Defines a new Sceme function to be used as callback to C code. For example:
; Load the shared library
(define libc-stdlib
(cond-expand
- (windows (pffi-shared-object-auto-load (list "stdlib.h") (list) "ucrtbase" (list "")))
- (else (pffi-shared-object-auto-load (list "stdlib.h") (list) "c" (list "" "6")))))
+ (windows (pffi-load (list "stdlib.h") (list) "ucrtbase" (list "")))
+ (else (pffi-load (list "stdlib.h") (list) "c" (list "" "6")))))
; Define C function that takes a callback
(pffi-define qsort libc-stdlib 'qsort 'void (list 'pointer 'int 'int 'callback))
diff --git a/retropikzel/pffi.sld b/retropikzel/pffi.sld
index 2f8edf4..1694e08 100644
--- a/retropikzel/pffi.sld
+++ b/retropikzel/pffi.sld
@@ -13,8 +13,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -50,8 +49,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -84,8 +82,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -114,8 +111,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -144,8 +140,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
;pffi-pointer-null
;pffi-pointer-null?
;pffi-pointer-allocate
@@ -175,8 +170,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -205,8 +199,7 @@
;pffi-size-of
pffi-type?
;pffi-align-of
- ;pffi-shared-object-auto-load
- ;pffi-shared-object-load
+ ;pffi-load
;pffi-pointer-null
;pffi-pointer-null?
;pffi-pointer-allocate
@@ -237,8 +230,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -266,8 +258,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -302,8 +293,7 @@
;pffi-size-of
pffi-type?
;pffi-align-of
- ;pffi-shared-object-auto-load
- ;pffi-shared-object-load
+ ;pffi-load
;pffi-pointer-null
;pffi-pointer-null?
;pffi-pointer-allocate
@@ -332,8 +322,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -366,8 +355,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -397,8 +385,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -426,8 +413,7 @@
;pffi-size-of
pffi-type?
;pffi-align-of
- ;pffi-shared-object-auto-load
- ;pffi-shared-object-load
+ ;pffi-load
;pffi-pointer-null
;pffi-pointer-null?
;pffi-pointer-allocate
@@ -456,8 +442,7 @@
pffi-size-of
pffi-type?
pffi-align-of
- pffi-shared-object-auto-load
- pffi-shared-object-load
+ pffi-load
pffi-pointer-null
pffi-pointer-null?
pffi-pointer-allocate
@@ -486,7 +471,7 @@
;pffi-size-of
pffi-type?
;pffi-align-of
- ;pffi-shared-object-auto-load
+ ;pffi-load
;pffi-shared-object-load
;pffi-pointer-null
;pffi-pointer-null?
@@ -515,8 +500,7 @@
;pffi-size-of
pffi-type?
;pffi-align-of
- ;pffi-shared-object-auto-load
- ;pffi-shared-object-load
+ ;pffi-load
;pffi-pointer-null
;pffi-pointer-null?
;pffi-pointer-allocate
diff --git a/retropikzel/pffi/shared/main.scm b/retropikzel/pffi/shared/main.scm
index 2ecb7dd..dcdae6d 100644
--- a/retropikzel/pffi/shared/main.scm
+++ b/retropikzel/pffi/shared/main.scm
@@ -90,16 +90,16 @@
(cond-expand
(gambit
(define-macro
- (pffi-shared-object-auto-load headers object-name options)
+ (pffi-load headers object-name options)
`(pffi-shared-object-load ,(car headers))))
((or chicken cyclone)
- (define-syntax pffi-shared-object-auto-load
+ (define-syntax pffi-load
(syntax-rules ()
((_ headers object-name . options)
(pffi-shared-object-load headers)))))
(else
- (define pffi-shared-object-auto-load
+ (define pffi-load
(lambda (headers object-name . options)
(let* ((additional-paths (if (assoc 'additional-paths options)
(cdr (assoc 'additional-paths options))
diff --git a/tests/compliance.scm b/tests/compliance.scm
index c28bbed..f27328c 100755
--- a/tests/compliance.scm
+++ b/tests/compliance.scm
@@ -386,27 +386,27 @@
(assert equal? (number? align-pointer) #t)
(assert = align-pointer 8)))
-;; pffi-shared-object-auto-load
+;; pffi-load
(print-header 'pffi-shared-object-auto-load)
(define libc-stdlib
(cond-expand
- (windows (pffi-shared-object-auto-load (list "stdlib.h") "ucrtbase"))
- (else (pffi-shared-object-auto-load (list "stdlib.h")
- "c"
- '(additional-versions . ("0" "6"))))))
+ (windows (pffi-load (list "stdlib.h") "ucrtbase"))
+ (else (pffi-load (list "stdlib.h")
+ "c"
+ '(additional-versions . ("0" "6"))))))
(debug libc-stdlib)
(define c-testlib
(cond-expand
- (windows (pffi-shared-object-auto-load (list "libtest.h")
- "test"
- '(additional-paths . ("."))))
- (else (pffi-shared-object-auto-load (list "libtest.h")
- "test"
- '(additional-paths . ("."))))))
+ (windows (pffi-load (list "libtest.h")
+ "test"
+ '(additional-paths . ("."))))
+ (else (pffi-load (list "libtest.h")
+ "test"
+ '(additional-paths . ("."))))))
(debug c-testlib)
@@ -661,10 +661,10 @@
(define libc-stdio
(cond-expand
; FIXME Check that windows so file is correct
- (windows (pffi-shared-object-auto-load (list "stdio.h") "ucrtbase"))
- (else (pffi-shared-object-auto-load (list "stdio.h")
- "c"
- '(additional-versions . ("0" "6"))))))
+ (windows (pffi-load (list "stdio.h") "ucrtbase"))
+ (else (pffi-load (list "stdio.h")
+ "c"
+ '(additional-versions . ("0" "6"))))))
(pffi-define c-fopen libc-stdio 'fopen 'pointer (list 'pointer 'pointer))
(define output-file (c-fopen (pffi-string->pointer "testfile.test")