Simple Virtual Machine
A simple but flexible virtual machine
|
This module contains API functions to handle SVM functions. More...
Functions | |
SVM_FUNCTION SVM_Variable | svm_function_call (const void *svm, const SVM_Value_PluginEntryPoint name, const SVM_Size argc, SVM_Parameter argv[]) |
This function calls a plugin defined function. More... | |
SVM_FUNCTION SVM_String | svm_function_get_prototype (const void *svm, const SVM_Value_PluginEntryPoint name) |
This function returns a string representing the prototype of a plugin defined function. More... | |
This module contains API functions to handle SVM functions.
Functions are a generic mechanism to allow plugin cooperation:
SVM_FUNCTION SVM_Variable svm_function_call | ( | const void * | svm, |
const SVM_Value_PluginEntryPoint | name, | ||
const SVM_Size | argc, | ||
SVM_Parameter | argv[] | ||
) |
This function calls a plugin defined function.
[in] | svm | The SVM pointer passed as first argument of the callback function. |
[in] | name | The plugin function name to call. |
[in] | argc | The number of parameters. |
[in] | argv | The function parameters. These parameters can be:
|
Usage example:
FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.) |
FAILURE | interruption when the function does not exist. |
FAILURE | interruption when the parameters function are not compatible with the function definition. |
FAILURE | interruption when the return value of the function is not compatible with the function definition. |
SVM_FUNCTION SVM_String svm_function_get_prototype | ( | const void * | svm, |
const SVM_Value_PluginEntryPoint | name | ||
) |
This function returns a string representing the prototype of a plugin defined function.
[in] | svm | The SVM pointer passed as first argument of the callback function. |
[in] | name | The plugin function name. |
FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.) |
FAILURE | interruption when the function does not exist. |