]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/socket-netlink.h
e6cd7d9bf190aeac8752911d2934911a605e3e94
1 /* SPDX-License-Identifier: LGPL-2.1+ */
4 #include "sd-netlink.h"
6 #include "in-addr-util.h"
8 #include "socket-util.h"
10 int resolve_ifname(sd_netlink
**rtnl
, const char *name
);
11 int resolve_interface(sd_netlink
**rtnl
, const char *name
);
12 int resolve_interface_or_warn(sd_netlink
**rtnl
, const char *name
);
14 int make_socket_fd(int log_level
, const char* address
, int type
, int flags
);
16 int socket_address_parse(SocketAddress
*a
, const char *s
);
17 int socket_address_parse_and_warn(SocketAddress
*a
, const char *s
);
18 int socket_address_parse_netlink(SocketAddress
*a
, const char *s
);
20 bool socket_address_is(const SocketAddress
*a
, const char *s
, int type
);
21 bool socket_address_is_netlink(const SocketAddress
*a
, const char *s
);
23 int in_addr_port_ifindex_name_from_string_auto(
26 union in_addr_union
*ret_address
,
29 char **ret_server_name
);
30 static inline int in_addr_ifindex_name_from_string_auto(const char *s
, int *family
, union in_addr_union
*ret
, int *ifindex
, char **server_name
) {
31 return in_addr_port_ifindex_name_from_string_auto(s
, family
, ret
, NULL
, ifindex
, server_name
);
33 static inline int in_addr_ifindex_from_string_auto(const char *s
, int *family
, union in_addr_union
*ret
, int *ifindex
) {
34 return in_addr_ifindex_name_from_string_auto(s
, family
, ret
, ifindex
, NULL
);
39 union in_addr_union address
;
43 char *cached_server_string
; /* Should not be handled directly, but through in_addr_full_to_string(). */
46 struct in_addr_full
*in_addr_full_free(struct in_addr_full
*a
);
47 DEFINE_TRIVIAL_CLEANUP_FUNC(struct in_addr_full
*, in_addr_full_free
);
48 int in_addr_full_new(int family
, const union in_addr_union
*a
, uint16_t port
, int ifindex
, const char *server_name
, struct in_addr_full
**ret
);
49 int in_addr_full_new_from_string(const char *s
, struct in_addr_full
**ret
);
50 const char *in_addr_full_to_string(struct in_addr_full
*a
);