xref: /spdk/test/common/lib/test_sock.c (revision 45a053c5777494f4e8ce4bc1191c9de3920377f7)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (C) 2019 Intel Corporation.
3  *   All rights reserved.
4  */
5 
6 #include "spdk/stdinc.h"
7 
8 #include "spdk_internal/sock.h"
9 #include "spdk_internal/mock.h"
10 
11 DEFINE_STUB(spdk_sock_getaddr, int, (struct spdk_sock *sock, char *saddr, int slen, uint16_t *sport,
12 				     char *caddr, int clen, uint16_t *cport), 0);
13 DEFINE_STUB(spdk_sock_connect, struct spdk_sock *, (const char *ip, int port,
14 		const char *impl_name), NULL);
15 DEFINE_STUB(spdk_sock_listen, struct spdk_sock *, (const char *ip, int port, const char *impl_name),
16 	    NULL);
17 DEFINE_STUB(spdk_sock_listen_ext, struct spdk_sock *, (const char *ip, int port,
18 		const char *impl_name, struct spdk_sock_opts *opts), NULL);
19 DEFINE_STUB_V(spdk_sock_get_default_opts, (struct spdk_sock_opts *opts));
20 DEFINE_STUB(spdk_sock_impl_get_opts, int, (const char *impl_name, struct spdk_sock_impl_opts *opts,
21 		size_t *len), 0);
22 DEFINE_STUB(spdk_sock_accept, struct spdk_sock *, (struct spdk_sock *sock), NULL);
23 DEFINE_STUB(spdk_sock_close, int, (struct spdk_sock **sock), 0);
24 DEFINE_STUB(spdk_sock_recv, ssize_t, (struct spdk_sock *sock, void *buf, size_t len), 1);
25 DEFINE_STUB(spdk_sock_writev, ssize_t, (struct spdk_sock *sock, struct iovec *iov, int iovcnt), 0);
26 DEFINE_STUB(spdk_sock_readv, ssize_t, (struct spdk_sock *sock, struct iovec *iov, int iovcnt), 0);
27 DEFINE_STUB(spdk_sock_set_recvlowat, int, (struct spdk_sock *sock, int nbytes), 0);
28 DEFINE_STUB(spdk_sock_set_recvbuf, int, (struct spdk_sock *sock, int sz), 0);
29 DEFINE_STUB(spdk_sock_set_sendbuf, int, (struct spdk_sock *sock, int sz), 0);
30 DEFINE_STUB_V(spdk_sock_writev_async, (struct spdk_sock *sock, struct spdk_sock_request *req));
31 DEFINE_STUB(spdk_sock_flush, int, (struct spdk_sock *sock), 0);
32 DEFINE_STUB(spdk_sock_is_ipv6, bool, (struct spdk_sock *sock), false);
33 DEFINE_STUB(spdk_sock_is_ipv4, bool, (struct spdk_sock *sock), true);
34 DEFINE_STUB(spdk_sock_is_connected, bool, (struct spdk_sock *sock), true);
35 DEFINE_STUB(spdk_sock_group_create, struct spdk_sock_group *, (void *ctx), NULL);
36 DEFINE_STUB(spdk_sock_group_add_sock, int, (struct spdk_sock_group *group, struct spdk_sock *sock,
37 		spdk_sock_cb cb_fn, void *cb_arg), 0);
38 DEFINE_STUB(spdk_sock_group_remove_sock, int, (struct spdk_sock_group *group,
39 		struct spdk_sock *sock), 0);
40 DEFINE_STUB(spdk_sock_group_poll, int, (struct spdk_sock_group *group), 0);
41 DEFINE_STUB(spdk_sock_group_poll_count, int, (struct spdk_sock_group *group, int max_events), 0);
42 DEFINE_STUB(spdk_sock_group_close, int, (struct spdk_sock_group **group), 0);
43 DEFINE_STUB(spdk_sock_group_provide_buf, int, (struct spdk_sock_group *group, void *buf, size_t len,
44 		void *ctx), 0);
45 
46 static uint8_t g_buf[0x1000] = {};
47 
48 DEFINE_RETURN_MOCK(spdk_sock_recv_next, int);
49 int
50 spdk_sock_recv_next(struct spdk_sock *sock, void **buf, void **ctx)
51 {
52 	HANDLE_RETURN_MOCK(spdk_sock_recv_next);
53 
54 	*buf = g_buf;
55 	*ctx = NULL;
56 
57 	return 0x1000;
58 }
59