Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * UUID/GUID definition
  3.  *
  4.  * Copyright (C) 2010, Intel Corp.
  5.  *      Huang Ying <ying.huang@intel.com>
  6.  *
  7.  * This program is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU General Public License version
  9.  * 2 as published by the Free Software Foundation;
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  */
  20.  
  21. #ifndef _UAPI_LINUX_UUID_H_
  22. #define _UAPI_LINUX_UUID_H_
  23.  
  24. #include <linux/types.h>
  25. #include <linux/string.h>
  26.  
  27. typedef struct {
  28.         __u8 b[16];
  29. } uuid_le;
  30.  
  31. typedef struct {
  32.         __u8 b[16];
  33. } uuid_be;
  34.  
  35. #define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)                \
  36. ((uuid_le)                                                              \
  37. {{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
  38.    (b) & 0xff, ((b) >> 8) & 0xff,                                       \
  39.    (c) & 0xff, ((c) >> 8) & 0xff,                                       \
  40.    (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
  41.  
  42. #define UUID_BE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)                \
  43. ((uuid_be)                                                              \
  44. {{ ((a) >> 24) & 0xff, ((a) >> 16) & 0xff, ((a) >> 8) & 0xff, (a) & 0xff, \
  45.    ((b) >> 8) & 0xff, (b) & 0xff,                                       \
  46.    ((c) >> 8) & 0xff, (c) & 0xff,                                       \
  47.    (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
  48.  
  49. #define NULL_UUID_LE                                                    \
  50.         UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00,     \
  51.                 0x00, 0x00, 0x00, 0x00)
  52.  
  53. #define NULL_UUID_BE                                                    \
  54.         UUID_BE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00,     \
  55.                 0x00, 0x00, 0x00, 0x00)
  56.  
  57.  
  58. #endif /* _UAPI_LINUX_UUID_H_ */
  59.