summaryrefslogtreecommitdiff
path: root/src/network/networkd-address.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/networkd-address.h')
-rw-r--r--src/network/networkd-address.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/network/networkd-address.h b/src/network/networkd-address.h
index ff3d46abdd..1569b588a0 100644
--- a/src/network/networkd-address.h
+++ b/src/network/networkd-address.h
@@ -50,6 +50,13 @@ typedef struct Address {
address_ready_callback_t callback;
} Address;
+char *format_lifetime(char *buf, size_t l, uint32_t lifetime) _warn_unused_result_;
+/* Note: the lifetime of the compound literal is the immediately surrounding block,
+ * see C11 ยง6.5.2.5, and
+ * https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks */
+#define FORMAT_LIFETIME(lifetime) \
+ format_lifetime((char[FORMAT_TIMESPAN_MAX+STRLEN("for ")]){}, FORMAT_TIMESPAN_MAX+STRLEN("for "), lifetime)
+
int address_new(Address **ret);
Address *address_free(Address *address);
int address_get(Link *link, const Address *in, Address **ret);