mirror of
https://github.com/systemd/systemd.git
synced 2025-02-03 17:47:28 +03:00
dhcp6-network: constify arguments
No functional change, just refactoring.
This commit is contained in:
parent
ae9fd433d6
commit
dea17a0864
@ -84,9 +84,8 @@ struct sd_dhcp6_client {
|
||||
bool send_release;
|
||||
};
|
||||
|
||||
int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *address);
|
||||
int dhcp6_network_send_udp_socket(int s, struct in6_addr *address,
|
||||
const void *packet, size_t len);
|
||||
int dhcp6_network_bind_udp_socket(int ifindex, const struct in6_addr *address);
|
||||
int dhcp6_network_send_udp_socket(int s, const struct in6_addr *address, const void *packet, size_t len);
|
||||
|
||||
int dhcp6_client_send_message(sd_dhcp6_client *client);
|
||||
int dhcp6_client_set_transaction_id(sd_dhcp6_client *client, uint32_t transaction_id);
|
||||
|
@ -17,9 +17,10 @@
|
||||
#include "fd-util.h"
|
||||
#include "socket-util.h"
|
||||
|
||||
int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *local_address) {
|
||||
int dhcp6_network_bind_udp_socket(int ifindex, const struct in6_addr *local_address) {
|
||||
union sockaddr_union src = {
|
||||
.in6.sin6_family = AF_INET6,
|
||||
.in6.sin6_addr = *ASSERT_PTR(local_address),
|
||||
.in6.sin6_port = htobe16(DHCP6_PORT_CLIENT),
|
||||
.in6.sin6_scope_id = ifindex,
|
||||
};
|
||||
@ -27,9 +28,6 @@ int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *local_address) {
|
||||
int r;
|
||||
|
||||
assert(ifindex > 0);
|
||||
assert(local_address);
|
||||
|
||||
src.in6.sin6_addr = *local_address;
|
||||
|
||||
s = socket(AF_INET6, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, IPPROTO_UDP);
|
||||
if (s < 0)
|
||||
@ -58,20 +56,14 @@ int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *local_address) {
|
||||
return TAKE_FD(s);
|
||||
}
|
||||
|
||||
int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address,
|
||||
const void *packet, size_t len) {
|
||||
int dhcp6_network_send_udp_socket(int s, const struct in6_addr *server_address, const void *packet, size_t len) {
|
||||
union sockaddr_union dest = {
|
||||
.in6.sin6_family = AF_INET6,
|
||||
.in6.sin6_addr = *ASSERT_PTR(server_address),
|
||||
.in6.sin6_port = htobe16(DHCP6_PORT_SERVER),
|
||||
};
|
||||
int r;
|
||||
|
||||
assert(server_address);
|
||||
|
||||
memcpy(&dest.in6.sin6_addr, server_address, sizeof(dest.in6.sin6_addr));
|
||||
|
||||
r = sendto(s, packet, len, 0, &dest.sa, sizeof(dest.in6));
|
||||
if (r < 0)
|
||||
if (sendto(s, packet, len, 0, &dest.sa, sizeof(dest.in6)) < 0)
|
||||
return -errno;
|
||||
|
||||
return 0;
|
||||
|
@ -12,11 +12,11 @@
|
||||
|
||||
static int test_dhcp_fd[2] = EBADF_PAIR;
|
||||
|
||||
int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address, const void *packet, size_t len) {
|
||||
int dhcp6_network_send_udp_socket(int s, const struct in6_addr *server_address, const void *packet, size_t len) {
|
||||
return len;
|
||||
}
|
||||
|
||||
int dhcp6_network_bind_udp_socket(int index, struct in6_addr *local_address) {
|
||||
int dhcp6_network_bind_udp_socket(int index, const struct in6_addr *local_address) {
|
||||
assert_se(socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_dhcp_fd) >= 0);
|
||||
return TAKE_FD(test_dhcp_fd[0]);
|
||||
}
|
||||
|
@ -1028,7 +1028,7 @@ static void test_client_callback(sd_dhcp6_client *client, int event, void *userd
|
||||
}
|
||||
}
|
||||
|
||||
int dhcp6_network_send_udp_socket(int s, struct in6_addr *a, const void *packet, size_t len) {
|
||||
int dhcp6_network_send_udp_socket(int s, const struct in6_addr *a, const void *packet, size_t len) {
|
||||
log_debug("/* %s(count=%u) */", __func__, test_client_sent_message_count);
|
||||
|
||||
assert_se(a);
|
||||
@ -1072,7 +1072,7 @@ int dhcp6_network_send_udp_socket(int s, struct in6_addr *a, const void *packet,
|
||||
return len;
|
||||
}
|
||||
|
||||
int dhcp6_network_bind_udp_socket(int ifindex, struct in6_addr *a) {
|
||||
int dhcp6_network_bind_udp_socket(int ifindex, const struct in6_addr *a) {
|
||||
assert_se(ifindex == test_ifindex);
|
||||
assert_se(a);
|
||||
assert_se(in6_addr_equal(a, &local_address));
|
||||
|
Loading…
x
Reference in New Issue
Block a user