aboutsummaryrefslogtreecommitdiff
path: root/tools/interface_generator/templates
diff options
context:
space:
mode:
Diffstat (limited to 'tools/interface_generator/templates')
-rw-r--r--tools/interface_generator/templates/c_functions.mako4
-rw-r--r--tools/interface_generator/templates/c_header.mako13
-rw-r--r--tools/interface_generator/templates/c_system_include.mako4
-rw-r--r--tools/interface_generator/templates/c_types.mako6
4 files changed, 27 insertions, 0 deletions
diff --git a/tools/interface_generator/templates/c_functions.mako b/tools/interface_generator/templates/c_functions.mako
new file mode 100644
index 0000000..a7f88be
--- /dev/null
+++ b/tools/interface_generator/templates/c_functions.mako
@@ -0,0 +1,4 @@
+/* Functions */
+% for fn in functions:
+${fn['return']} ${fn['name']}(${ ", ".join(fn['arguments']) });
+% endfor
diff --git a/tools/interface_generator/templates/c_header.mako b/tools/interface_generator/templates/c_header.mako
new file mode 100644
index 0000000..069b449
--- /dev/null
+++ b/tools/interface_generator/templates/c_header.mako
@@ -0,0 +1,13 @@
+/* This file is generated by ${PROG['name']} v${PROG['version']} */
+
+/******************************************************************************
+<%include file="${license}" />
+ ******************************************************************************/
+
+#ifndef ${ name.upper() }_H
+#define ${ name.upper() }_H
+
+<%include file="c_system_include.mako" />
+<%include file="c_types.mako" />
+<%include file="c_functions.mako" />
+#endif /* ${ name.upper() }_H */
diff --git a/tools/interface_generator/templates/c_system_include.mako b/tools/interface_generator/templates/c_system_include.mako
new file mode 100644
index 0000000..d6a9d09
--- /dev/null
+++ b/tools/interface_generator/templates/c_system_include.mako
@@ -0,0 +1,4 @@
+/* System includes */
+% for path in system_includes:
+#include <${path}>
+% endfor
diff --git a/tools/interface_generator/templates/c_types.mako b/tools/interface_generator/templates/c_types.mako
new file mode 100644
index 0000000..ac32469
--- /dev/null
+++ b/tools/interface_generator/templates/c_types.mako
@@ -0,0 +1,6 @@
+/* Types */
+% for type in types:
+typedef struct ${type['name']} {
+${ "\n".join([ " {};".format(member) for member in type['members'] ]) }
+} ${type['name']};
+% endfor