summaryrefslogtreecommitdiff
path: root/src/modules/sparkler/params_def.def
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/sparkler/params_def.def')
-rw-r--r--src/modules/sparkler/params_def.def21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/modules/sparkler/params_def.def b/src/modules/sparkler/params_def.def
new file mode 100644
index 0000000..cd27423
--- /dev/null
+++ b/src/modules/sparkler/params_def.def
@@ -0,0 +1,21 @@
+#ifdef PARAMS_DECLARE_ENUM
+#define param(_member, _default, _sym, _ctxt_type, _va_type) \
+ _sym,
+#endif
+
+#ifdef PARAMS_DECLARE_STRUCT
+#define param(_member, _default, _sym, _ctxt_type, _va_type) \
+ _ctxt_type _member;
+#endif
+
+#ifdef PARAMS_IMPLEMENT_SWITCH
+#define param(_member, _default, _sym, _ctxt_type, _va_type) \
+ case _sym: \
+ ctxt->_member = va_arg(params, _va_type); \
+ break;
+#endif
+
+#ifdef PARAMS_ASSIGN_DEFAULTS
+#define param(_member, _default, _sym, _ctxt_type, _va_type) \
+ ctxt->_member = _default;
+#endif
© All Rights Reserved