sock/posix: Add helper macros to get/set fields in sock_impl_opts structure
Signed-off-by: Evgeniy Kochetov <evgeniik@mellanox.com> Change-Id: I2fe650556edf22e253976dcd4ddf07d649789d11 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3498 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
81437ff6ce
commit
59b5ba5ca9
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user