dyncall library - C foreign function interface dyncall library: home - news - download - source/repository - bindings - documentation - license - credits - showcase/users - contact University of Göttingen 3ds Max, Maya Plugin Development - Potion Studios

previous
index
next

Developers

Noteworthy files in the project root

configure pre-make configuration tool (unix-shell)
configure.bat pre-nmake configuration tool (windows batch)
configure.rc pre-mk configuration tool (Plan 9’s rc)
CMakeLists.txt top-level project information for CMake
Makefile GNU/BSD makefile (output of ./configure)
Nmakefile MS nmake makefile
mkfile Plan 9 mkfile
LICENSE license information
README quickstart doc
buildsys/ build system details and extras
doc/ platform specific readme’s and manual
dyncall/ dyncall library source code
dyncallback/ dyncallback library source code
dynload/ dynload library source code
test/ test suites

Test suites

plain
Simple, identity, mostly unary function calls for all supported return types and calling conventions. This is not an extensive test suite, but a good place to manually test certain cases.
plain_c++
Similar to plain, but for C++ thiscalls (in different forms and fashion, with aggregates, vararg methots, on x86 with GNU and MS calling convention, etc.).
suite
All combinations of parameter types and counts are tested on void function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit.
suite_floats
Based on suite. Test double/float variants with up to 10 arguments.
call_suite_aggrs
Tests passing and returning aggregates by value (struct/union and array members). Test cases can be designed in a signature-style format (and random ones generated via a Lua script).
suite_x86win32std
All combinations of parameter types and counts are tested on __stdcall void function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit. This is a x86/Windows only test.
suite_x86win32fast
All combinations of parameter types and counts are tested on __fastcall (MS or GNU, depending on the build tool) void function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit. This is a x86/Windows only test.
ellipsis
All combinations of parameter types and counts are tested on void ellipsis (vararg) function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit.
suite2
Designed mass test suite for void function calls. Tests individual void functions with a varying count of arguments and type.
suite2_win32std
Designed mass test suite for __stdcall void function calls. Tests individual void functions with a varying count of arguments and type. This is a x86/Windows only test.
suite2_win32fast
Designed mass test suite for __fastcall (MS or GNU, depending on the build tool) void function calls. Tests individual void functions with a varying count of arguments and type. This is a x86/Windows only test.
suite3
All combinations of parameter types integer, long long, float and double and counts are tested on void function calls. A script written in Python (mkcase.py) generates the tests up to an upper MAXARG limit. This is a modified version of suite.
call_suite
General purpose test suite combining aspects from all others suites (usually enough for testing non-callback calls). Test cases can be designed in a signature-style format (and random ones generated via a Lua script).
callf
Tests the formatted call/arg dyncall C API. Tries to cover all uses of that API (e.g. calling convention mode switches, aggregates, ...) but is not extensive.
malloc_wx
Tests writable and executable memory allocation used by the dyncallback C API.
thunk
Tests only the callback thunks for the dyncallback C API.
callback_plain
Simple callback function test (useful for easy debugging of new ports).
callback_suite
Mass test suite for callback function testing. Uses random function argument number and type. A Lua script the tests up to a given number of calls and type combinations.
resolv_self
Test for dynload library to resolve symbols from application image itself.


previous
index
next