summaryrefslogtreecommitdiff
path: root/src/basic/macro.h
diff options
context:
space:
mode:
authorTobias Jungel <tobias.jungel@bisdn.de>2016-06-01 15:18:21 +0200
committerTobias Jungel <tobias.jungel@bisdn.de>2016-06-10 09:10:41 +0200
commit13b498f967c5117a88d72304bed1f8c0b9c1bb87 (patch)
treed2a48a8958bb4ca2fff71a9a50c29eb620f00f05 /src/basic/macro.h
parent6cad256dbe6343de4329934ea7c08707a365d340 (diff)
networkd: add support to configure VLAN on bridge ports
Diffstat (limited to 'src/basic/macro.h')
-rw-r--r--src/basic/macro.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/basic/macro.h b/src/basic/macro.h
index e41aa4260f..6b2aeb933f 100644
--- a/src/basic/macro.h
+++ b/src/basic/macro.h
@@ -89,6 +89,15 @@
#define UNIQ_T(x, uniq) CONCATENATE(__unique_prefix_, CONCATENATE(x, uniq))
#define UNIQ __COUNTER__
+/* builtins */
+#if __SIZEOF_INT__ == 4
+#define BUILTIN_FFS_U32(x) __builtin_ffs(x);
+#elif __SIZEOF_LONG__ == 4
+#define BUILTIN_FFS_U32(x) __builtin_ffsl(x);
+#else
+#error "neither int nor long are four bytes long?!?"
+#endif
+
/* Rounds up */
#define ALIGN4(l) (((l) + 3) & ~3)