diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-03-14 15:42:02 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-03-14 15:42:02 -0400 |
commit | cbc975b048a91735466becef4e7804f35be9ca52 (patch) | |
tree | 223559dfa410a830f421f8f9c9c0425a9f092bff /include | |
parent | 5f50ddc00a48bb14122164a6c3b514ba8b09a321 (diff) | |
download | stasis-cbc975b048a91735466becef4e7804f35be9ca52.tar.gz |
Add template functions to store/load function pointers.
* Incomplete and unused for now
Diffstat (limited to 'include')
-rw-r--r-- | include/template.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/template.h b/include/template.h index 116960f..a242a08 100644 --- a/include/template.h +++ b/include/template.h @@ -40,4 +40,28 @@ char *tpl_render(char *str); */ int tpl_render_to_file(char *str, const char *filename); +struct tplfunc_frame *tpl_getfunc(char *key); +struct tplfunc_frame; +typedef int tplfunc(struct tplfunc_frame *frame); +struct tplfunc_frame { + char *key; + tplfunc *func; + int argc; + union { + char **t_char_refptr; + char *t_char_ptr; + void *t_void_ptr; + int *t_int_ptr; + unsigned *t_uint_ptr; + float *t_float_ptr; + double *t_double_ptr; + char t_char; + int t_int; + unsigned t_uint; + float t_float; + double t_double; + } argv[10]; // accept up to 10 arguments +}; +void tpl_register_func(char *key, struct tplfunc_frame *frame); + #endif //OMC_TEMPLATE_H |