From: Labun, Marcin Date: Thu, 10 Mar 2011 00:45:15 +0000 (+1100) Subject: Some guid manipulation utilities has been added. X-Git-Tag: mdadm-3.2.1~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a90147116b680f9d5b93c82c4b96f28a7bf5645;p=thirdparty%2Fmdadm.git Some guid manipulation utilities has been added. It will be used for reading efi variables with capabilities. Signed-off-by: Przemyslaw Czarnowski Signed-off-by: NeilBrown --- diff --git a/platform-intel.c b/platform-intel.c index 08cf4edd..f5f57b79 100644 --- a/platform-intel.c +++ b/platform-intel.c @@ -294,6 +294,15 @@ static const struct imsm_orom *find_imsm_hba_orom(enum sys_dev_type hba_id) return NULL; } +#define GUID_STR_MAX 37 /* according to GUID format: + * xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" */ + +#define EFI_GUID(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \ +((struct efi_guid) \ +{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \ + (b) & 0xff, ((b) >> 8) & 0xff, \ + (c) & 0xff, ((c) >> 8) & 0xff, \ + (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }}) /* * backward interface compatibility diff --git a/platform-intel.h b/platform-intel.h index 549ced5b..0cba6c74 100644 --- a/platform-intel.h +++ b/platform-intel.h @@ -197,6 +197,21 @@ struct sys_dev { struct sys_dev *next; }; +struct efi_guid { + __u8 b[16]; +}; + +static inline char *guid_str(char *buf, struct efi_guid guid) +{ + sprintf(buf, "%02x%02x%02x%02x-%02x%02x-%02x%02x-" + "%02x%02x-%02x%02x%02x%02x%02x%02x", + guid.b[3], guid.b[2], guid.b[1], guid.b[0], + guid.b[5], guid.b[4], guid.b[7], guid.b[6], + guid.b[8], guid.b[9], guid.b[10], guid.b[11], + guid.b[12], guid.b[13], guid.b[14], guid.b[15]); + return buf; +} + char *diskfd_to_devpath(int fd); struct sys_dev *find_driver_devices(const char *bus, const char *driver); struct sys_dev *find_intel_devices(void);