Updated documentation
This commit is contained in:
parent
e593adb6e1
commit
47892f7cc6
36
README.md
36
README.md
|
|
@ -16,7 +16,7 @@ being portable by conforming to some specification.
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
- [Documentation](#documentation)
|
- [Documentation](#documentation)
|
||||||
- [Types](#types)
|
- [Types](#types)
|
||||||
- [Primitives](#primitives)
|
- [Primitives](#primitives-1)
|
||||||
- [c-bytevector](#c-bytevector)
|
- [c-bytevector](#c-bytevector)
|
||||||
- [Environment variables](#environment-variables)
|
- [Environment variables](#environment-variables)
|
||||||
|
|
||||||
|
|
@ -114,7 +114,7 @@ Types are given as symbols, for example 'int8 or 'pointer.
|
||||||
- callback
|
- callback
|
||||||
- Callback function
|
- Callback function
|
||||||
|
|
||||||
### Primitives
|
### Primitives 1
|
||||||
|
|
||||||
(**c-type-size** _type_)
|
(**c-type-size** _type_)
|
||||||
|
|
||||||
|
|
@ -161,11 +161,33 @@ Example:
|
||||||
implementations.
|
implementations.
|
||||||
- Do not store options in variables, that might lead to problems on some
|
- Do not store options in variables, that might lead to problems on some
|
||||||
implementations.
|
implementations.
|
||||||
- Do pass the headers using quote
|
- Pass the headers using quote
|
||||||
- As '(... and not (list...
|
- As '(...) and not (list...)
|
||||||
- Do pass the options using quote
|
- Pass the options using quote
|
||||||
- As '(... and not (list...
|
- As '(...) and not (list...)
|
||||||
define-c-procedure
|
|
||||||
|
(**define-c-procedure** scheme-name shared-object c-name return-type
|
||||||
|
argument-types)
|
||||||
|
|
||||||
|
Takes a scheme-name to bind the C procedure to, shared-object where the function
|
||||||
|
is looked from, c-name of the function as symbol, return-type and argument-types.
|
||||||
|
|
||||||
|
Defines a new foreign function to be used from Scheme code.
|
||||||
|
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
(cond-expand
|
||||||
|
(windows (define-c-library libc-stdlib '("stdlib.h") "ucrtbase" '("")))
|
||||||
|
(else (define-c-library libc-stdlib '("stdlib.h") "c" '("" "6"))))
|
||||||
|
(define-c-procedure c-puts libc-stdlib 'puts 'int '(pointer))
|
||||||
|
(c-puts "Message brought to you by FFI!")
|
||||||
|
|
||||||
|
#### Notes
|
||||||
|
|
||||||
|
- Pass the return-types using quote
|
||||||
|
- As '(...) and not (list...)
|
||||||
|
|
||||||
define-c-callback
|
define-c-callback
|
||||||
c-bytevector?
|
c-bytevector?
|
||||||
c-bytevector-u8-set!
|
c-bytevector-u8-set!
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue