On Sun, Aug 13, 2017 at 08:34:56AM -0700, Andy Lutomirski wrote: > > This specification defines a Uniform Resource Name namespace for > > UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally > > Unique IDentifier). > > No, that still matches what I thought I knew: "UUID" and "GUID" are synonyms. Well, in practice they aren't - wintel GUID are big endian, and RFC4122 clearly states it is big endian, although it uses the term "network byte order": In the absence of explicit application or presentation protocol specification to the contrary, a UUID is encoded as a 128-bit object, as follows: The fields are encoded as 16 octets, with the sizes and order of the fields defined above, and with each field encoded with the Most Significant Byte first (known as network byte order). Note that the field names, particularly for multiplexed fields, follow historical practice. So yes, it is big endian, and it is defined an a sequence of octets. > > typedef whatever uuid_t; > typedef something_different uuid_le; /* which already existed */ > > extern void uuid_le_to_uuid(uuid_t *out, uuid_le *in); > extern void uuid_to_uuid_le(...); What's the point of converting between a RFC4122 UUID and a Wintel GUID? They are used for entirely different things.