xref: /spdk/test/common/lib/test_sock.c (revision 784b3b89f141b26148f1498fd4a211c5d7ae1d79)
1488570ebSJim Harris /*   SPDX-License-Identifier: BSD-3-Clause
2a6dbe372Spaul luse  *   Copyright (C) 2019 Intel Corporation.
349bff95fSBen Walker  *   All rights reserved.
449bff95fSBen Walker  */
549bff95fSBen Walker 
649bff95fSBen Walker #include "spdk/stdinc.h"
749bff95fSBen Walker 
849bff95fSBen Walker #include "spdk_internal/sock.h"
949bff95fSBen Walker #include "spdk_internal/mock.h"
1049bff95fSBen Walker 
1149bff95fSBen Walker DEFINE_STUB(spdk_sock_getaddr, int, (struct spdk_sock *sock, char *saddr, int slen, uint16_t *sport,
1249bff95fSBen Walker 				     char *caddr, int clen, uint16_t *cport), 0);
13ab58ddf1SKonrad Sztyber DEFINE_STUB(spdk_sock_connect, struct spdk_sock *, (const char *ip, int port,
14ab58ddf1SKonrad Sztyber 		const char *impl_name), NULL);
15ab58ddf1SKonrad Sztyber DEFINE_STUB(spdk_sock_listen, struct spdk_sock *, (const char *ip, int port, const char *impl_name),
160bfaaaceSZiye Yang 	    NULL);
17ab58ddf1SKonrad Sztyber DEFINE_STUB(spdk_sock_listen_ext, struct spdk_sock *, (const char *ip, int port,
18ab58ddf1SKonrad Sztyber 		const char *impl_name, struct spdk_sock_opts *opts), NULL);
1994345a0aSZiye Yang DEFINE_STUB_V(spdk_sock_get_default_opts, (struct spdk_sock_opts *opts));
2035f7f0ceSBoris Glimcher DEFINE_STUB(spdk_sock_impl_get_opts, int, (const char *impl_name, struct spdk_sock_impl_opts *opts,
2135f7f0ceSBoris Glimcher 		size_t *len), 0);
2249bff95fSBen Walker DEFINE_STUB(spdk_sock_accept, struct spdk_sock *, (struct spdk_sock *sock), NULL);
2349bff95fSBen Walker DEFINE_STUB(spdk_sock_close, int, (struct spdk_sock **sock), 0);
24621d9d3fSChengqiangMeng DEFINE_STUB(spdk_sock_recv, ssize_t, (struct spdk_sock *sock, void *buf, size_t len), 1);
2549bff95fSBen Walker DEFINE_STUB(spdk_sock_writev, ssize_t, (struct spdk_sock *sock, struct iovec *iov, int iovcnt), 0);
2649bff95fSBen Walker DEFINE_STUB(spdk_sock_readv, ssize_t, (struct spdk_sock *sock, struct iovec *iov, int iovcnt), 0);
2749bff95fSBen Walker DEFINE_STUB(spdk_sock_set_recvlowat, int, (struct spdk_sock *sock, int nbytes), 0);
2849bff95fSBen Walker DEFINE_STUB(spdk_sock_set_recvbuf, int, (struct spdk_sock *sock, int sz), 0);
2949bff95fSBen Walker DEFINE_STUB(spdk_sock_set_sendbuf, int, (struct spdk_sock *sock, int sz), 0);
30b7ad9426SBen Walker DEFINE_STUB_V(spdk_sock_writev_async, (struct spdk_sock *sock, struct spdk_sock_request *req));
31e61b0904SOr Gerlitz DEFINE_STUB(spdk_sock_flush, int, (struct spdk_sock *sock), 0);
3249bff95fSBen Walker DEFINE_STUB(spdk_sock_is_ipv6, bool, (struct spdk_sock *sock), false);
3349bff95fSBen Walker DEFINE_STUB(spdk_sock_is_ipv4, bool, (struct spdk_sock *sock), true);
34a0889eceSBen Walker DEFINE_STUB(spdk_sock_is_connected, bool, (struct spdk_sock *sock), true);
35b09bd95aSZiye Yang DEFINE_STUB(spdk_sock_group_create, struct spdk_sock_group *, (void *ctx), NULL);
3649bff95fSBen Walker DEFINE_STUB(spdk_sock_group_add_sock, int, (struct spdk_sock_group *group, struct spdk_sock *sock,
3749bff95fSBen Walker 		spdk_sock_cb cb_fn, void *cb_arg), 0);
3849bff95fSBen Walker DEFINE_STUB(spdk_sock_group_remove_sock, int, (struct spdk_sock_group *group,
3949bff95fSBen Walker 		struct spdk_sock *sock), 0);
4049bff95fSBen Walker DEFINE_STUB(spdk_sock_group_poll, int, (struct spdk_sock_group *group), 0);
4149bff95fSBen Walker DEFINE_STUB(spdk_sock_group_poll_count, int, (struct spdk_sock_group *group, int max_events), 0);
4249bff95fSBen Walker DEFINE_STUB(spdk_sock_group_close, int, (struct spdk_sock_group **group), 0);
43*784b3b89SBen Walker DEFINE_STUB(spdk_sock_group_provide_buf, int, (struct spdk_sock_group *group, void *buf, size_t len,
44*784b3b89SBen Walker 		void *ctx), 0);
45*784b3b89SBen Walker 
46*784b3b89SBen Walker static uint8_t g_buf[0x1000] = {};
47*784b3b89SBen Walker 
48*784b3b89SBen Walker DEFINE_RETURN_MOCK(spdk_sock_recv_next, int);
49*784b3b89SBen Walker int
spdk_sock_recv_next(struct spdk_sock * sock,void ** buf,void ** ctx)50*784b3b89SBen Walker spdk_sock_recv_next(struct spdk_sock *sock, void **buf, void **ctx)
51*784b3b89SBen Walker {
52*784b3b89SBen Walker 	HANDLE_RETURN_MOCK(spdk_sock_recv_next);
53*784b3b89SBen Walker 
54*784b3b89SBen Walker 	*buf = g_buf;
55*784b3b89SBen Walker 	*ctx = NULL;
56*784b3b89SBen Walker 
57*784b3b89SBen Walker 	return 0x1000;
58*784b3b89SBen Walker }
59