blob: b0b7d6075b9373b3eb1d0698b4002f41dfe569ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#include <stdio.h>
#include <slang.h>
SLANG_MODULE(<MODULE-NAME>);
#define MODULE_MAJOR_VERSION 0
#define MODULE_MINOR_VERSION 0
#define MODULE_PATCH_LEVEL 0
static char *Module_Version_String = "0.0.0";
#define MODULE_VERSION_NUMBER \
(MODULE_MAJOR_VERSION*10000+MODULE_MINOR_VERSION*100+MODULE_PATCH_LEVEL)
/* Define intrinsics here */
static SLang_Intrin_Fun_Type Module_Intrinsics [] =
{
SLANG_END_INTRIN_FUN_TABLE
};
static SLang_Intrin_Var_Type Module_Variables [] =
{
MAKE_VARIABLE("_<MODULE-NAME>_module_version_string", &Module_Version_String, SLANG_STRING_TYPE, 1),
SLANG_END_INTRIN_VAR_TABLE
};
static SLang_IConstant_Type Module_Constants [] =
{
MAKE_ICONSTANT("_<MODULE-NAME>_module_version", MODULE_VERSION_NUMBER),
SLANG_END_ICONST_TABLE
};
int init_<MODULE-NAME>_module_ns (char *ns_name)
{
SLang_NameSpace_Type *ns = SLns_create_namespace (ns_name);
if (ns == NULL)
return -1;
if ((-1 == SLns_add_intrin_fun_table (ns, Module_Intrinsics, NULL))
|| (-1 == SLns_add_intrin_var_table (ns, Module_Variables, NULL))
|| (-1 == SLns_add_iconstant_table (ns, Module_Constants, NULL)))
return -1;
return 0;
}
/* This function is optional */
void deinit_<MODULE-NAME>_module (void)
{
}
|