aboutsummaryrefslogtreecommitdiff
path: root/sys/include
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2024-02-14 11:19:41 -0500
committerIan Moffett <ian@osmora.org>2024-02-14 11:19:41 -0500
commit34d83987c18df3e06db1528423841376072bb627 (patch)
tree4c2f3d2a8573b9b7ebc2364aeb68b40fc8919747 /sys/include
parent04144bdc723f253116a777a22ac074dac6150c59 (diff)
kernel: Add __TRY_CALL() macro
This commit adds a macro to make testing if weak functions are implemented, then running them, less messy. This allows you to do so in one line. Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include')
-rw-r--r--sys/include/sys/cdefs.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/include/sys/cdefs.h b/sys/include/sys/cdefs.h
index 59c81d4..da78510 100644
--- a/sys/include/sys/cdefs.h
+++ b/sys/include/sys/cdefs.h
@@ -154,6 +154,13 @@
#define __MODULE_NAME(name) \
__used static const char *__THIS_MODULE = name
+/*
+ * Attempts to call a __weak function. Does nothing
+ * if routine not implemented.
+ */
+#define __TRY_CALL(routine, ...) \
+ if (routine != NULL) routine(__VA_ARGS__)
+
#else
/*