25 #ifndef __MOTR_NET_TEST_SERIALIZE_H__ 26 #define __MOTR_NET_TEST_SERIALIZE_H__ 54 #define TYPE_DESCR(type_name) \ 55 static const struct m0_net_test_descr type_name ## _descr[] 57 #define USE_TYPE_DESCR(type_name) \ 58 type_name ## _descr, ARRAY_SIZE(type_name ## _descr) 60 #define FIELD_SIZE(type, field) (sizeof ((type *) 0)->field) 63 #define FIELD_DESCR(type, field) { \ 64 .ntd_offset = offsetof(type, field), \ 65 .ntd_length = FIELD_SIZE(type, field), \ 66 .ntd_plain_data = false, \ 69 #define FIELD_DESCR_PLAIN(type, field) { \ 70 .ntd_offset = offsetof(type, field), \ 71 .ntd_length = FIELD_SIZE(type, field), \ 72 .ntd_plain_data = true, \ 125 return addend == 0 ? 0 : accumulator + addend;
static m0_bcount_t net_test_len_accumulate(m0_bcount_t accumulator, m0_bcount_t addend)
m0_bcount_t m0_net_test_serialize_data(enum m0_net_test_serialize_op op, void *data, m0_bcount_t data_len, bool plain_data, struct m0_bufvec *bv, m0_bcount_t bv_offset)
m0_bcount_t m0_net_test_serialize(enum m0_net_test_serialize_op op, void *obj, const struct m0_net_test_descr descr[], size_t descr_nr, struct m0_bufvec *bv, m0_bcount_t bv_offset)