[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 03/11] public: xen.h: add definitions for UUID handling
Hi Jan, On 22.08.17 10:26, Jan Beulich wrote: On 21.08.17 at 22:27, <volodymyr_babchuk@xxxxxxxx> wrote:--- a/xen/include/public/xen.h +++ b/xen/include/public/xen.h @@ -930,6 +930,15 @@ __DEFINE_XEN_GUEST_HANDLE(uint16, uint16_t); __DEFINE_XEN_GUEST_HANDLE(uint32, uint32_t); __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);+typedef uint8_t xen_uuid_t[16];As expressed before, I'm opposed to this being a plain array. I've pointed you at the EFI representation as an example; at the very least I'd expect a wrapper structure around the array (which is _not_ to say that I would ack such a patch, but at least I wouldn't nak it). EFI code uses GUID, which is product of Microsoft's NIH syndrome. Let me cite some parts of RFC 4122: 4.1. Format *The UUID format is 16 octets*; some bits of the eight octet variant field specified below determine finer structure. ..... 4.1.2. Layout and 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. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | time_low | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | time_mid | time_hi_and_version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |clk_seq_hi_res | clk_seq_low | node (0-1) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | node (2-5) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ..... BTW, GUID handling is incompatible with this RFC, because in GUIDfirst three fields are stored in LE format, while other fields are stored in BE format. I can't see why you want to map UUID to a certain structure. I can create such wrapper, but it will be just dead code, because there are no users for it. Frankly, I can't imagine why someone will want to read, say, clk_seq_hi_res field of UUID. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |