summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2023-11-05 18:16:54 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2023-11-05 18:19:09 +0100
commit19cbc3157983ec0a1a15ec1be90a4a1a3de9969b (patch)
tree31268972dbfe40422b8991c4998aaa848597b495
parent4bdba57861d1325b42b5b81c118bf76b51f172e5 (diff)
lib: rename `prefixtype` to `uniontype`
About to use this for sockunion, which is not a prefix. `uniontype` makes more sense, the macros are for defining transparent unions after all. (clang-format off thrown in as it otherwise wrecks formatting.) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r--lib/compiler.h4
-rw-r--r--lib/prefix.h26
-rw-r--r--pimd/pim_addr.h16
3 files changed, 24 insertions, 22 deletions
diff --git a/lib/compiler.h b/lib/compiler.h
index 0a54c02d20..617b0c265b 100644
--- a/lib/compiler.h
+++ b/lib/compiler.h
@@ -424,10 +424,10 @@ _Static_assert(sizeof(_uint64_t) == 8 && sizeof(_int64_t) == 8,
* type.)
*/
#ifndef __cplusplus
-#define prefixtype(uname, typename, fieldname) typename *fieldname;
+#define uniontype(uname, typename, fieldname) typename *fieldname;
#define TRANSPARENT_UNION __attribute__((transparent_union))
#else
-#define prefixtype(uname, typename, fieldname) \
+#define uniontype(uname, typename, fieldname) \
typename *fieldname; \
uname(typename *x) \
{ \
diff --git a/lib/prefix.h b/lib/prefix.h
index fc6e32dd54..14f2695933 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -286,23 +286,25 @@ struct prefix_sg {
struct in_addr grp;
};
+/* clang-format off */
union prefixptr {
- prefixtype(prefixptr, struct prefix, p)
- prefixtype(prefixptr, struct prefix_ipv4, p4)
- prefixtype(prefixptr, struct prefix_ipv6, p6)
- prefixtype(prefixptr, struct prefix_evpn, evp)
- prefixtype(prefixptr, struct prefix_fs, fs)
- prefixtype(prefixptr, struct prefix_rd, rd)
+ uniontype(prefixptr, struct prefix, p)
+ uniontype(prefixptr, struct prefix_ipv4, p4)
+ uniontype(prefixptr, struct prefix_ipv6, p6)
+ uniontype(prefixptr, struct prefix_evpn, evp)
+ uniontype(prefixptr, struct prefix_fs, fs)
+ uniontype(prefixptr, struct prefix_rd, rd)
} TRANSPARENT_UNION;
union prefixconstptr {
- prefixtype(prefixconstptr, const struct prefix, p)
- prefixtype(prefixconstptr, const struct prefix_ipv4, p4)
- prefixtype(prefixconstptr, const struct prefix_ipv6, p6)
- prefixtype(prefixconstptr, const struct prefix_evpn, evp)
- prefixtype(prefixconstptr, const struct prefix_fs, fs)
- prefixtype(prefixconstptr, const struct prefix_rd, rd)
+ uniontype(prefixconstptr, const struct prefix, p)
+ uniontype(prefixconstptr, const struct prefix_ipv4, p4)
+ uniontype(prefixconstptr, const struct prefix_ipv6, p6)
+ uniontype(prefixconstptr, const struct prefix_evpn, evp)
+ uniontype(prefixconstptr, const struct prefix_fs, fs)
+ uniontype(prefixconstptr, const struct prefix_rd, rd)
} TRANSPARENT_UNION;
+/* clang-format on */
#ifndef INET_ADDRSTRLEN
#define INET_ADDRSTRLEN 16
diff --git a/pimd/pim_addr.h b/pimd/pim_addr.h
index 94c63bbccc..ecba739a5a 100644
--- a/pimd/pim_addr.h
+++ b/pimd/pim_addr.h
@@ -33,13 +33,13 @@ typedef struct in_addr pim_addr;
#define PIM_ADDR_FUNCNAME(name) ipv4_##name
union pimprefixptr {
- prefixtype(pimprefixptr, struct prefix, p)
- prefixtype(pimprefixptr, struct prefix_ipv4, p4)
+ uniontype(pimprefixptr, struct prefix, p)
+ uniontype(pimprefixptr, struct prefix_ipv4, p4)
} TRANSPARENT_UNION;
union pimprefixconstptr {
- prefixtype(pimprefixconstptr, const struct prefix, p)
- prefixtype(pimprefixconstptr, const struct prefix_ipv4, p4)
+ uniontype(pimprefixconstptr, const struct prefix, p)
+ uniontype(pimprefixconstptr, const struct prefix_ipv4, p4)
} TRANSPARENT_UNION;
#else
@@ -63,13 +63,13 @@ typedef struct in6_addr pim_addr;
#define PIM_ADDR_FUNCNAME(name) ipv6_##name
union pimprefixptr {
- prefixtype(pimprefixptr, struct prefix, p)
- prefixtype(pimprefixptr, struct prefix_ipv6, p6)
+ uniontype(pimprefixptr, struct prefix, p)
+ uniontype(pimprefixptr, struct prefix_ipv6, p6)
} TRANSPARENT_UNION;
union pimprefixconstptr {
- prefixtype(pimprefixconstptr, const struct prefix, p)
- prefixtype(pimprefixconstptr, const struct prefix_ipv6, p6)
+ uniontype(pimprefixconstptr, const struct prefix, p)
+ uniontype(pimprefixconstptr, const struct prefix_ipv6, p6)
} TRANSPARENT_UNION;
#endif