#include <sml/funcsig.h>#include <sml/arg.h>#include <sml/parm.h>

Go to the source code of this file.
Classes | |
| class | SML::FUNC |
| Structure for defining an SML function. More... | |
| class | SML::FUNCDEF |
| Structure for defining SML functions. More... | |
Namespaces | |
| namespace | SML |
Defines | |
| #define | RVCSYSLIBCLASSEXPORT MI_DLLCLASSIMPORT |
| #define | RVCSYSLIBEXPORT MI_DLLIMPORT |
| #define | SML_RETIRE_IN_68 "RetireIn6.8" |
| #define | SML_RETIRE_IN_69 "RetireIn6.9" |
| #define | SMLCLASSFUNCDEF2(func) { #func, func##_FuncType, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0 } |
| #define | SMLCLASSFUNCDEF3(func) { func##_RealName, func##_FuncType, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0 } |
| #define | SMLCLASSFUNCDEF_NOWIN32_NATIVE(func) {#func, func##_FuncType, NULL, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0} |
| #define | SMLFUNC_Deprecated 0x00000040 |
| #define | SMLFUNC_HasProtoParms 0x00000010 |
| #define | SMLFUNC_IsMemberFunc 0x00000004 |
| #define | SMLFUNC_NotInWin32 0x00000001 |
| #define | SMLFUNC_NotInX 0x00000002 |
| #define | SMLFUNC_Prototype 0x00000020 |
| #define | SMLFUNC_Required 0x00000080 |
| #define | SMLFUNC_UseSignature 0x00000008 |
| #define | SMLFUNCDEF2(func) { #func, func##_FuncType, (VOIDFUNC)func, func##_Parms, NULL, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0 } |
| #define | SMLFUNCDEF3(func) {func##_RealName, func##_FuncType, (VOIDFUNC)func, func##_Parms, NULL, func##_CreateDate, func##_ModDate,0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0} |
| #define | SMLFUNCDEF_NOWIN32_NATIVE(func) {#func, func##_FuncType, NULL, func##_Parms, NULL, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0} |
Typedefs | |
| typedef void(SOMECLASS::* | METHODPTR )() |
| typedef SML::FUNC | SMLFUNC |
| typedef SML::FUNCDEF | SMLFUNCDEF |
| typedef void(* | VOIDFUNC )(int, SMLARG *, UINT8 *, SML::CONTEXT *) |
| #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSIMPORT |
| #define RVCSYSLIBEXPORT MI_DLLIMPORT |
| #define SML_RETIRE_IN_68 "RetireIn6.8" |
Use this for the desciption field of any member or function that you want the documentation to show as being Deprecated.
The last two digits are the version in which the feature will no longer be guarenteed to be available.
| #define SML_RETIRE_IN_69 "RetireIn6.9" |
| #define SMLCLASSFUNCDEF2 | ( | func | ) | { #func, func##_FuncType, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0 } |
Despite the name, these macros are older than SML::FUNCDEF, which is the new-and-improved way of defining these things.
| #define SMLCLASSFUNCDEF3 | ( | func | ) | { func##_RealName, func##_FuncType, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0 } |
| #define SMLCLASSFUNCDEF_NOWIN32_NATIVE | ( | func | ) | {#func, func##_FuncType, NULL, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0} |
| #define SMLFUNC_Deprecated 0x00000040 |
| #define SMLFUNC_HasProtoParms 0x00000010 |
| #define SMLFUNC_IsMemberFunc 0x00000004 |
| #define SMLFUNC_NotInWin32 0x00000001 |
Possible flags for SMLFUNC.flags.
| #define SMLFUNC_NotInX 0x00000002 |
| #define SMLFUNC_Prototype 0x00000020 |
| #define SMLFUNC_Required 0x00000080 |
| #define SMLFUNC_UseSignature 0x00000008 |
| #define SMLFUNCDEF2 | ( | func | ) | { #func, func##_FuncType, (VOIDFUNC)func, func##_Parms, NULL, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0 } |
| #define SMLFUNCDEF3 | ( | func | ) | {func##_RealName, func##_FuncType, (VOIDFUNC)func, func##_Parms, NULL, func##_CreateDate, func##_ModDate,0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), 0, SIG_OldStyle, 0, 0} |
Special version for when we want to define an SML function with the same name as a C function, or with a name that is illegal for a C function (such as left$) We just name it whatever we want to and add the following.
#define sml_printf_RealName "printf"
| #define SMLFUNCDEF_NOWIN32_NATIVE | ( | func | ) | {#func, func##_FuncType, NULL, func##_Parms, NULL, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SML::FUNC), sizeof(SML::PARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0} |
| typedef void(SOMECLASS::* METHODPTR)() |
| typedef SML::FUNCDEF SMLFUNCDEF |
| typedef void(* VOIDFUNC)(int, SMLARG *, UINT8 *, SML::CONTEXT *) |
Use this to typecast your function pointer in the SMLFUNC strucure.
The actual function should return either void, double or (SMLSTRING *), depending on the value of type. If you don't typecast it, the compiler will hate you.
1.6.1