Re: [RFC 1/2] Unified UUID/GUID definition

From: Joe Perches
Date: Wed Oct 14 2009 - 03:02:34 EST


On Wed, 2009-10-14 at 14:30 +0800, Huang Ying wrote:
> There are many different UUID/GUID definitions in kernel, such as that
> in EFI, many file systems, some drivers, etc. Every kernel components
> need UUID/GUID has its own definition. This patch provides a unified
> definition for UUID/GUID.
>
> UUID is defined via typedef. This makes that UUID appears more like a
> preliminary type, and makes the data type explicit (comparing with
> implicit "u8 uuid[16]").
>
> The binary representation of UUID/GUID can be little-endian (used by
> EFI, etc) or big-endian (defined by RFC4122), so both is defined.
[]
> +typedef struct {
> + __u8 b[16];
> +} uuid_le;
> +
> +typedef struct {
> + __u8 b[16];
> +} uuid_be;

I thought you originally suggested something like:

typedef union {
u8 b[16];
struct {
__be32 time_low;
__be16 time_mid;
__be16 time_hi_and_version;
u8 clock_seq_hi;
u8 clock_seq_low;
u8 node[6];
} v1;
} uuid_be;

typedef union {
u8 b[16];
struct {
__le32 time_low;
__le16 time_mid;
__le16 time_hi_and_version;
u8 clock_seq_hi;
u8 clock_seq_low;
u8 node[6];
} v1;
} uuid_le;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/