Lines Matching defs:sk_fds

35 struct sk_fds {
67 static void sk_fds_close(struct sk_fds *sk_fds)
69 close(sk_fds->srv_fd);
70 close(sk_fds->passive_fd);
71 close(sk_fds->active_fd);
74 static int sk_fds_shutdown(struct sk_fds *sk_fds)
78 shutdown(sk_fds->active_fd, SHUT_WR);
79 ret = read(sk_fds->passive_fd, &abyte, sizeof(abyte));
83 shutdown(sk_fds->passive_fd, SHUT_WR);
84 ret = read(sk_fds->active_fd, &abyte, sizeof(abyte));
91 static int sk_fds_connect(struct sk_fds *sk_fds, bool fast_open)
97 sk_fds->srv_fd = start_server(AF_INET6, SOCK_STREAM, LO_ADDR6, 0, 0);
98 if (!ASSERT_NEQ(sk_fds->srv_fd, -1, "start_server"))
102 sk_fds->active_fd = fastopen_connect(sk_fds->srv_fd, fast,
105 sk_fds->active_fd = connect_to_fd(sk_fds->srv_fd, 0);
107 if (!ASSERT_NEQ(sk_fds->active_fd, -1, "")) {
108 close(sk_fds->srv_fd);
113 if (!ASSERT_OK(getsockname(sk_fds->srv_fd, (struct sockaddr *)&addr6,
116 sk_fds->passive_lport = ntohs(addr6.sin6_port);
119 if (!ASSERT_OK(getsockname(sk_fds->active_fd, (struct sockaddr *)&addr6,
122 sk_fds->active_lport = ntohs(addr6.sin6_port);
124 sk_fds->passive_fd = accept(sk_fds->srv_fd, NULL, 0);
125 if (!ASSERT_NEQ(sk_fds->passive_fd, -1, "accept(srv_fd)"))
132 ret = read(sk_fds->passive_fd, bytes_in, sizeof(bytes_in));
134 close(sk_fds->passive_fd);
142 close(sk_fds->active_fd);
143 close(sk_fds->srv_fd);
146 memset(sk_fds, -1, sizeof(*sk_fds));
181 static int check_error_linum(const struct sk_fds *sk_fds)
187 lport = sk_fds->passive_lport;
195 lport = sk_fds->active_lport;
206 static void check_hdr_and_close_fds(struct sk_fds *sk_fds)
213 if (sk_fds_shutdown(sk_fds))
220 if (check_hdr_stg(&exp_passive_hdr_stg, sk_fds->passive_fd,
224 if (check_hdr_stg(&exp_active_hdr_stg, sk_fds->active_fd,
244 ASSERT_FALSE(check_error_linum(sk_fds), "check_error_linum");
245 sk_fds_close(sk_fds);
298 struct sk_fds sk_fds;
323 if (sk_fds_connect(&sk_fds, true)) {
328 check_hdr_and_close_fds(&sk_fds);
335 struct sk_fds sk_fds;
367 if (sk_fds_connect(&sk_fds, false)) {
372 check_hdr_and_close_fds(&sk_fds);
379 struct sk_fds sk_fds;
399 if (sk_fds_connect(&sk_fds, false)) {
404 check_hdr_and_close_fds(&sk_fds);
411 struct sk_fds sk_fds;
438 if (sk_fds_connect(&sk_fds, false)) {
443 check_hdr_and_close_fds(&sk_fds);
463 struct sk_fds sk_fds;
475 if (sk_fds_connect(&sk_fds, false)) {
482 ret = send(sk_fds.active_fd, send_msg, sizeof(send_msg),
487 ret = read(sk_fds.passive_fd, recv_msg, sizeof(recv_msg));
492 if (sk_fds_shutdown(&sk_fds))
511 ASSERT_FALSE(check_error_linum(&sk_fds), "check_error_linum");
512 sk_fds_close(&sk_fds);