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