Lines Matching refs:srv
40 static int set_service(struct service_fixture *const srv, in set_service() argument
44 memset(srv, 0, sizeof(*srv)); in set_service()
50 srv->protocol = prot; in set_service()
55 srv->port = sock_port_start << (2 * index); in set_service()
60 srv->ipv4_addr.sin_family = prot.domain; in set_service()
61 srv->ipv4_addr.sin_port = htons(srv->port); in set_service()
62 srv->ipv4_addr.sin_addr.s_addr = inet_addr(loopback_ipv4); in set_service()
66 srv->ipv6_addr.sin6_family = prot.domain; in set_service()
67 srv->ipv6_addr.sin6_port = htons(srv->port); in set_service()
68 inet_pton(AF_INET6, loopback_ipv6, &srv->ipv6_addr.sin6_addr); in set_service()
72 set_unix_address(srv, index); in set_service()
104 static int socket_variant(const struct service_fixture *const srv) in socket_variant() argument
108 ret = socket(srv->protocol.domain, srv->protocol.type | SOCK_CLOEXEC, in socket_variant()
109 srv->protocol.protocol); in socket_variant()
119 static socklen_t get_addrlen(const struct service_fixture *const srv, in get_addrlen() argument
122 switch (srv->protocol.domain) { in get_addrlen()
125 return sizeof(srv->ipv4_addr); in get_addrlen()
130 return sizeof(srv->ipv6_addr); in get_addrlen()
134 return sizeof(srv->unix_addr) - in get_addrlen()
135 sizeof(srv->unix_addr.sun_path); in get_addrlen()
136 return srv->unix_addr_len; in get_addrlen()
143 static void set_port(struct service_fixture *const srv, uint16_t port) in set_port() argument
145 switch (srv->protocol.domain) { in set_port()
148 srv->ipv4_addr.sin_port = htons(port); in set_port()
152 srv->ipv6_addr.sin6_port = htons(port); in set_port()
186 const struct service_fixture *const srv, in bind_variant_addrlen() argument
191 switch (srv->protocol.domain) { in bind_variant_addrlen()
194 ret = bind(sock_fd, &srv->ipv4_addr, addrlen); in bind_variant_addrlen()
198 ret = bind(sock_fd, &srv->ipv6_addr, addrlen); in bind_variant_addrlen()
202 ret = bind(sock_fd, &srv->unix_addr, addrlen); in bind_variant_addrlen()
216 const struct service_fixture *const srv) in bind_variant() argument
218 return bind_variant_addrlen(sock_fd, srv, get_addrlen(srv, false)); in bind_variant()
222 const struct service_fixture *const srv, in connect_variant_addrlen() argument
227 switch (srv->protocol.domain) { in connect_variant_addrlen()
230 ret = connect(sock_fd, &srv->ipv4_addr, addrlen); in connect_variant_addrlen()
234 ret = connect(sock_fd, &srv->ipv6_addr, addrlen); in connect_variant_addrlen()
238 ret = connect(sock_fd, &srv->unix_addr, addrlen); in connect_variant_addrlen()
252 const struct service_fixture *const srv) in connect_variant() argument
254 return connect_variant_addrlen(sock_fd, srv, get_addrlen(srv, false)); in connect_variant()
510 const struct service_fixture *const srv, in test_bind_and_connect() argument
518 inval_fd = socket_variant(srv); in test_bind_and_connect()
525 EXPECT_EQ(-EINVAL, bind_variant_addrlen(inval_fd, srv, 0)); in test_bind_and_connect()
528 EXPECT_EQ(-EINVAL, bind_variant_addrlen(inval_fd, srv, in test_bind_and_connect()
529 get_addrlen(srv, true) - 1)); in test_bind_and_connect()
532 ret = bind_variant_addrlen(inval_fd, srv, get_addrlen(srv, true)); in test_bind_and_connect()
544 inval_fd = socket_variant(srv); in test_bind_and_connect()
548 EXPECT_EQ(-EINVAL, connect_variant_addrlen(inval_fd, srv, 0)); in test_bind_and_connect()
551 EXPECT_EQ(-EINVAL, connect_variant_addrlen(inval_fd, srv, in test_bind_and_connect()
552 get_addrlen(srv, true) - 1)); in test_bind_and_connect()
555 ret = connect_variant_addrlen(inval_fd, srv, get_addrlen(srv, true)); in test_bind_and_connect()
556 if (srv->protocol.domain == AF_UNIX) { in test_bind_and_connect()
560 } else if (srv->protocol.type == SOCK_STREAM) { in test_bind_and_connect()
573 bind_fd = socket_variant(srv); in test_bind_and_connect()
576 ret = bind_variant(bind_fd, srv); in test_bind_and_connect()
583 if (srv->protocol.type == SOCK_STREAM) in test_bind_and_connect()
596 connect_fd = socket_variant(srv); in test_bind_and_connect()
598 ret = connect_variant(connect_fd, srv); in test_bind_and_connect()
617 if (srv->protocol.type == SOCK_STREAM) { in test_bind_and_connect()