diff options
author | aqua <aqua@iserlohn-fortress.net> | 2024-05-21 06:31:33 +0300 |
---|---|---|
committer | aqua <aqua@iserlohn-fortress.net> | 2024-06-20 09:30:02 +0300 |
commit | c746ed1eb3a5c14c272c7e47df943ad6302d968e (patch) | |
tree | a52ffec23c48aa1489740789695423084cd3a4e6 /tools/interface_generator/templates | |
parent | Removed tools/kconfig (diff) | |
download | kernel-c746ed1eb3a5c14c272c7e47df943ad6302d968e.tar.xz |
Added interface_generator
Diffstat (limited to 'tools/interface_generator/templates')
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 |