Update readme
This commit is contained in:
parent
ccc6f8b9b3
commit
529772c7cf
180
README.md
180
README.md
|
|
@ -67,12 +67,18 @@ For bugs you can use the
|
||||||
|
|
||||||
main.sld is the real main which is copied to main.scm
|
main.sld is the real main which is copied to main.scm
|
||||||
|
|
||||||
## Documentation WIP
|
## Documentation
|
||||||
|
|
||||||
Note that this documentation is work in process and very incomplete, sorry about that.
|
|
||||||
|
|
||||||
On some implementations these are procedures, on some macros.
|
On some implementations these are procedures, on some macros.
|
||||||
|
|
||||||
|
The arguments are in form
|
||||||
|
|
||||||
|
- NAME - TYPE
|
||||||
|
|
||||||
|
The return value is in form
|
||||||
|
|
||||||
|
- TYPE
|
||||||
|
|
||||||
### Types
|
### Types
|
||||||
|
|
||||||
Types are given as symbols, for example 'int8 or 'pointer.
|
Types are given as symbols, for example 'int8 or 'pointer.
|
||||||
|
|
@ -105,22 +111,23 @@ Types are given as symbols, for example 'int8 or 'pointer.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
- headers (list (string) ...)
|
- headers - (list string ...)
|
||||||
- C headers of the library
|
- C headers of the library
|
||||||
- For example (list "curl/curl.h")
|
- For example (list "curl/curl.h")
|
||||||
- object-name (symbol)
|
- object-name - symbol
|
||||||
- The name of the dynamic library file you want to load
|
- The name of the dynamic library file you want to load
|
||||||
- Without the "lib" in front of it
|
- Without the "lib" in front of it
|
||||||
- Without the ".so" or ".dll" at the end
|
- Without the ".so" or ".dll" at the end
|
||||||
- addition-versions (list (string)...)
|
- addition-versions - (list string...)
|
||||||
- For example (list ".0" ".1")
|
- For example (list ".0" ".1")
|
||||||
- addition-paths (list (string)...)
|
- addition-paths - (list string...)
|
||||||
- Any additional paths you want to search for the library
|
- Any additional paths you want to search for the library
|
||||||
- For example (list "./mylibs")
|
- For example (list "./mylibs")
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
- (object) Shared object, the type depends on the implementation
|
- object
|
||||||
|
- Shared object, the type depends on the implementation
|
||||||
|
|
||||||
#### pffi-shared-object-load
|
#### pffi-shared-object-load
|
||||||
|
|
||||||
|
|
@ -129,14 +136,17 @@ Returns:
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
- headers (list (string) ...) Headers that need to be included
|
- headers - (list string ...)
|
||||||
- Example (list "curl/curl.h")
|
- Headers that need to be included
|
||||||
- path (string) The full path to the shared object you want to load, including any "lib" infront and .so/.dll at the end
|
- Example (list "curl/curl.h")
|
||||||
- Example "libcurl.so"
|
- path - string
|
||||||
|
- The full path to the shared object you want to load, including any "lib" infront and .so/.dll at the end
|
||||||
|
- Example "libcurl.so"
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
- (object) Shared object, the type depends on the implementation
|
- object
|
||||||
|
- Shared object, the type depends on the implementation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -146,9 +156,141 @@ Defines new foreign procedure.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
||||||
- scheme-name () The name of the procedure used on scheme side
|
- scheme-name
|
||||||
- shared-object (object) The shared object
|
- The name of the procedure used on scheme side
|
||||||
- Use pffi-shared-object-auto-load or pffi-shared-object-load to get this
|
- shared-object - object
|
||||||
- c-name (symbol) The name of the C function
|
- The shared object
|
||||||
- return-type (symbol) The return type of the C function
|
- Use pffi-shared-object-auto-load or pffi-shared-object-load to get this
|
||||||
- arguments-types (list (symbol) ...) The C function argument types
|
- c-name - symbol
|
||||||
|
- The name of the C function
|
||||||
|
- return-type - symbol
|
||||||
|
- The return type of the C function
|
||||||
|
- arguments-types - (list symbol ...)
|
||||||
|
- The C function argument types
|
||||||
|
|
||||||
|
### pffi-size-of
|
||||||
|
|
||||||
|
Get the size of type.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- type - symbol
|
||||||
|
- The type you want the size of
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- number
|
||||||
|
- The size of the given type
|
||||||
|
|
||||||
|
|
||||||
|
### pffi-pointer-allocate
|
||||||
|
|
||||||
|
Allocates a pointer of given size.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- size - number
|
||||||
|
- The size of the pointer you want to allocate
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- object
|
||||||
|
- A pointer of given size
|
||||||
|
|
||||||
|
|
||||||
|
### pffi-pointer-null
|
||||||
|
|
||||||
|
Create a null pointer.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
- object
|
||||||
|
- Null pointer
|
||||||
|
|
||||||
|
### pffi-string->pointer
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- string-content - string
|
||||||
|
- The string you want to transform into pointer
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- object
|
||||||
|
- Pointer of the given string
|
||||||
|
|
||||||
|
|
||||||
|
### pffi-pointer->string
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- pointer - object
|
||||||
|
- The pointer you want to transform to string
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- string
|
||||||
|
- String from the given pointer
|
||||||
|
|
||||||
|
### pffi-pointer-free
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- pointer - object
|
||||||
|
- The pointer you want to free
|
||||||
|
|
||||||
|
### pffi-pointer?
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- object - object
|
||||||
|
- The object you want to check wether it is a pointer or not
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- boolean
|
||||||
|
- Returns true if given object is pointer, otherwise false
|
||||||
|
|
||||||
|
|
||||||
|
### pffi-pointer-set!
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- pointer - object
|
||||||
|
- The pointer you want to modify
|
||||||
|
- type - symbol
|
||||||
|
- The type of value that will be put into the pointer
|
||||||
|
- offset -number
|
||||||
|
- The location of the value inside the pointer
|
||||||
|
- For example: (+ (pffi-size-of 'int) (pffi-size-of 'pointer)) or 0
|
||||||
|
- value - object
|
||||||
|
- The value to be placed into the object
|
||||||
|
|
||||||
|
### pffi-pointer-get
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- pointer - object
|
||||||
|
- The pointer you want to get the value from
|
||||||
|
- type - symbol
|
||||||
|
- The type of value you want to get
|
||||||
|
- For example: 'int
|
||||||
|
- offset - number
|
||||||
|
- The location of the value inside the pointer
|
||||||
|
- For example: (+ (pffi-size-of 'int) (pffi-size-of 'pointer)) or 0
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- object
|
||||||
|
- The value in the poiner in the given offset as given type
|
||||||
|
|
||||||
|
### pffi-pointer-deref
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
- pointer
|
||||||
|
- The pointer to dereference
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
- object
|
||||||
|
- Whatever the pointer holds
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue