blob: 476b7a170eaeed72d81042ddacd89cd3c8918d66 [file] [log] [blame]
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00001/*
2 * Internal routine for packing UUID's
3 */
4
5#include "uuidP.h"
6
7void uuid_pack(struct uuid *uu, uuid_t ptr)
8{
9 __u32 tmp;
10 unsigned char *out = ptr;
11
12 tmp = uu->time_low;
13 out[3] = (unsigned char) tmp;
14 tmp >>= 8;
15 out[2] = (unsigned char) tmp;
16 tmp >>= 8;
17 out[1] = (unsigned char) tmp;
18 tmp >>= 8;
19 out[0] = (unsigned char) tmp;
20
21 tmp = uu->time_mid;
22 out[5] = (unsigned char) tmp;
23 tmp >>= 8;
24 out[4] = (unsigned char) tmp;
25
26 tmp = uu->time_hi_and_version;
27 out[7] = (unsigned char) tmp;
28 tmp >>= 8;
29 out[6] = (unsigned char) tmp;
30
31 tmp = uu->clock_seq;
32 out[9] = (unsigned char) tmp;
33 tmp >>= 8;
34 out[8] = (unsigned char) tmp;
35
36 memcpy(out+10, uu->node, 6);
37}
38