summaryrefslogtreecommitdiff
path: root/src/shared/socket-netlink.h
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-07-13 07:09:55 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-07-21 03:55:34 +0900
commit408f8fbc0fc3b7b50f7aab6cc57af9bdf2202014 (patch)
tree875246099dee1387a46b21aae042cda31beec440 /src/shared/socket-netlink.h
parenta723fb85dac86fb975e52aeed68dcd62d3f2b3b4 (diff)
downloadsystemd-408f8fbc0fc3b7b50f7aab6cc57af9bdf2202014.tar.gz
util: introduce 'struct in_addr_full' and its helper functions
Diffstat (limited to 'src/shared/socket-netlink.h')
-rw-r--r--src/shared/socket-netlink.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/shared/socket-netlink.h b/src/shared/socket-netlink.h
index 01f7745be6..9517f6dd6d 100644
--- a/src/shared/socket-netlink.h
+++ b/src/shared/socket-netlink.h
@@ -33,3 +33,18 @@ static inline int in_addr_ifindex_name_from_string_auto(const char *s, int *fami
static inline int in_addr_ifindex_from_string_auto(const char *s, int *family, union in_addr_union *ret, int *ifindex) {
return in_addr_ifindex_name_from_string_auto(s, family, ret, ifindex, NULL);
}
+
+struct in_addr_full {
+ int family;
+ union in_addr_union address;
+ uint16_t port;
+ int ifindex;
+ char *server_name;
+ char *cached_server_string; /* Should not be handled directly, but through in_addr_full_to_string(). */
+};
+
+struct in_addr_full *in_addr_full_free(struct in_addr_full *a);
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct in_addr_full*, in_addr_full_free);
+int in_addr_full_new(int family, union in_addr_union *a, uint16_t port, int ifindex, const char *server_name, struct in_addr_full **ret);
+int in_addr_full_new_from_string(const char *s, struct in_addr_full **ret);
+const char *in_addr_full_to_string(struct in_addr_full *a);