Commit 59b5ba5c authored by Evgeniy Kochetov's avatar Evgeniy Kochetov Committed by Jim Harris
Browse files

sock/posix: Add helper macros to get/set fields in sock_impl_opts structure



Signed-off-by: default avatarEvgeniy Kochetov <evgeniik@mellanox.com>
Change-Id: I2fe650556edf22e253976dcd4ddf07d649789d11
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3498


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 81437ff6
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -1325,13 +1325,15 @@ posix_sock_impl_get_opts(struct spdk_sock_impl_opts *opts, size_t *len)
#define FIELD_OK(field) \
	offsetof(struct spdk_sock_impl_opts, field) + sizeof(opts->field) <= *len

	if (FIELD_OK(recv_buf_size)) {
		opts->recv_buf_size = g_spdk_posix_sock_impl_opts.recv_buf_size;
	}
	if (FIELD_OK(send_buf_size)) {
		opts->send_buf_size = g_spdk_posix_sock_impl_opts.send_buf_size;
#define GET_FIELD(field) \
	if (FIELD_OK(field)) { \
		opts->field = g_spdk_posix_sock_impl_opts.field; \
	}

	GET_FIELD(recv_buf_size);
	GET_FIELD(send_buf_size);

#undef GET_FIELD
#undef FIELD_OK

	*len = spdk_min(*len, sizeof(g_spdk_posix_sock_impl_opts));
@@ -1349,13 +1351,15 @@ posix_sock_impl_set_opts(const struct spdk_sock_impl_opts *opts, size_t len)
#define FIELD_OK(field) \
	offsetof(struct spdk_sock_impl_opts, field) + sizeof(opts->field) <= len

	if (FIELD_OK(recv_buf_size)) {
		g_spdk_posix_sock_impl_opts.recv_buf_size = opts->recv_buf_size;
	}
	if (FIELD_OK(send_buf_size)) {
		g_spdk_posix_sock_impl_opts.send_buf_size = opts->send_buf_size;
#define SET_FIELD(field) \
	if (FIELD_OK(field)) { \
		g_spdk_posix_sock_impl_opts.field = opts->field; \
	}

	SET_FIELD(recv_buf_size);
	SET_FIELD(send_buf_size);

#undef SET_FIELD
#undef FIELD_OK

	return 0;