1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#ifdef __cplusplus
extern "C" {
#endif
#include "ulib/unpack.h"
#ifdef __cplusplus
}
#endif
void uu_unpack(const uu_t in, struct_uu_t *out) {
const U8 *ptr = in;
U32 tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
tmp = (tmp << 8) | *ptr++;
tmp = (tmp << 8) | *ptr++;
out->v1.time_low = tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
out->v1.time_mid = (U16)tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
out->v1.time_high_and_version = (U16)tmp;
tmp = *ptr++;
tmp = (tmp << 8) | *ptr++;
out->v1.clock_seq_and_variant = (U16)tmp;
out->v1.node[0] = *ptr++;
out->v1.node[1] = *ptr++;
out->v1.node[2] = *ptr++;
out->v1.node[3] = *ptr++;
out->v1.node[4] = *ptr++;
out->v1.node[5] = *ptr;
}
/* ex:set ts=2 sw=2 itab=spaces: */
|