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