#include "mwload.h" #include #include struct Test { uint8_t a; uint16_t b; uint32_t c; uint64_t d; uint32_t e; uint16_t f; uint8_t g; }; struct Test t; struct MWLoadEntry struct_desc[] = { { .element_size = 0, .align_pad = 1, .elements = 0 }, { .element_size = 1, .align_pad = 2, .elements = 0 }, { .element_size = 2, .align_pad = 3, .elements = 0 }, { .element_size = 3, .align_pad = 2, .elements = 0 }, { .element_size = 2, .align_pad = 1, .elements = 0 }, { .element_size = 1, .align_pad = 0, .elements = 0 }, { .element_size = 0, .align_pad = 0, .elements = 0, .end_of_list = 1 } }; int main(int argc, char **argv) { FILE *fp; //rintf(stderr, "distance: fp = fopen(argv[1], "r"); { uint8_t buff[mwload_packed_size(struct_desc)]; fread(buff, mwload_packed_size(struct_desc), 1, fp); fclose(fp); mwload_load_be(buff, &t, struct_desc); printf("%X %X %X %llX %X %X %X\n", t.a, t.b, t.c, t.d, t.e, t.f, t.g); } return 0; }