_cleanup_(sd_dhcp_client_unrefp) _unused_ sd_dhcp_client *_dont_destroy_##client = sd_dhcp_client_ref(client)
#define log_dhcp_client_errno(client, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"DHCPv4 client: ", \
sd_dhcp_client_get_ifname(client), \
error, fmt, ##__VA_ARGS__)
#define log_dhcp_client(client, fmt, ...) \
- log_dhcp_client_errno(client, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "DHCPv4 client: ", \
+ sd_dhcp_client_get_ifname(client), \
+ 0, fmt, ##__VA_ARGS__)
int client_id_compare_func(const DHCPClientId *a, const DHCPClientId *b);
#define log_dhcp_server_errno(server, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"DHCPv4 server: ", \
sd_dhcp_server_get_ifname(server), \
error, fmt, ##__VA_ARGS__)
#define log_dhcp_server(server, fmt, ...) \
- log_dhcp_server_errno(server, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "DHCPv4 server: ", \
+ sd_dhcp_server_get_ifname(server), \
+ 0, fmt, ##__VA_ARGS__)
int dhcp6_message_status_from_string(const char *s) _pure_;
#define log_dhcp6_client_errno(client, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"DHCPv6 client: ", \
sd_dhcp6_client_get_ifname(client), \
error, fmt, ##__VA_ARGS__)
#define log_dhcp6_client(client, fmt, ...) \
- log_dhcp6_client_errno(client, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "DHCPv6 client: ", \
+ sd_dhcp6_client_get_ifname(client), \
+ 0, fmt, ##__VA_ARGS__)
sd_lldp_event_t lldp_event_from_string(const char *s) _pure_;
#define log_lldp_errno(lldp, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"LLDP: ", \
sd_lldp_get_ifname(lldp), \
error, fmt, ##__VA_ARGS__)
#define log_lldp(lldp, fmt, ...) \
- log_lldp_errno(lldp, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "LLDP: ", \
+ sd_lldp_get_ifname(lldp), \
+ 0, fmt, ##__VA_ARGS__)
sd_ndisc_event_t ndisc_event_from_string(const char *s) _pure_;
#define log_ndisc_errno(ndisc, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"NDISC: ", \
sd_ndisc_get_ifname(ndisc), \
error, fmt, ##__VA_ARGS__)
#define log_ndisc(ndisc, fmt, ...) \
- log_ndisc_errno(ndisc, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "NDISC: ", \
+ sd_ndisc_get_ifname(ndisc), \
+ 0, fmt, ##__VA_ARGS__)
};
#define log_radv_errno(radv, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"RADV: ", \
sd_radv_get_ifname(radv), \
error, fmt, ##__VA_ARGS__)
#define log_radv(radv, fmt, ...) \
- log_radv_errno(radv, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "RADV: ", \
+ sd_radv_get_ifname(radv), \
+ 0, fmt, ##__VA_ARGS__)
};
#define log_ipv4acd_errno(acd, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"IPv4ACD: ", \
sd_ipv4acd_get_ifname(acd), \
error, fmt, ##__VA_ARGS__)
#define log_ipv4acd(acd, fmt, ...) \
- log_ipv4acd_errno(acd, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "IPv4ACD: ", \
+ sd_ipv4acd_get_ifname(acd), \
+ 0, fmt, ##__VA_ARGS__)
static const char * const ipv4acd_state_table[_IPV4ACD_STATE_MAX] = {
[IPV4ACD_STATE_INIT] = "init",
};
#define log_ipv4ll_errno(ll, error, fmt, ...) \
- log_interface_prefix_full_errno_zerook( \
+ log_interface_prefix_full_errno( \
"IPv4LL: ", \
sd_ipv4ll_get_ifname(ll), \
error, fmt, ##__VA_ARGS__)
#define log_ipv4ll(ll, fmt, ...) \
- log_ipv4ll_errno(ll, 0, fmt, ##__VA_ARGS__)
+ log_interface_prefix_full_errno_zerook( \
+ "IPv4LL: ", \
+ sd_ipv4ll_get_ifname(ll), \
+ 0, fmt, ##__VA_ARGS__)
static void ipv4ll_on_acd(sd_ipv4acd *ll, int event, void *userdata);
-ERRNO_VALUE(_e); \
})
+#define log_interface_prefix_full_errno(prefix, ifname_expr, error, fmt, ...) \
+ ({ \
+ int _error = (error); \
+ ASSERT_NON_ZERO(_error); \
+ log_interface_prefix_full_errno_zerook(prefix, ifname_expr, _error, fmt, ##__VA_ARGS__); \
+ })
+
/*
* The following macros append INTERFACE= to the message.
* The macros require a struct named 'Link' which contains 'char *ifname':