linux/include/linux/uuid.h
<<
>>
Prefs
   1/*
   2 * UUID/GUID definition
   3 *
   4 * Copyright (C) 2010, 2016 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#ifndef _LINUX_UUID_H_
  17#define _LINUX_UUID_H_
  18
  19#include <uapi/linux/uuid.h>
  20
  21/*
  22 * The length of a UUID string ("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
  23 * not including trailing NUL.
  24 */
  25#define UUID_STRING_LEN         36
  26
  27static inline int uuid_le_cmp(const uuid_le u1, const uuid_le u2)
  28{
  29        return memcmp(&u1, &u2, sizeof(uuid_le));
  30}
  31
  32static inline int uuid_be_cmp(const uuid_be u1, const uuid_be u2)
  33{
  34        return memcmp(&u1, &u2, sizeof(uuid_be));
  35}
  36
  37void generate_random_uuid(unsigned char uuid[16]);
  38
  39extern void uuid_le_gen(uuid_le *u);
  40extern void uuid_be_gen(uuid_be *u);
  41
  42bool __must_check uuid_is_valid(const char *uuid);
  43
  44extern const u8 uuid_le_index[16];
  45extern const u8 uuid_be_index[16];
  46
  47int uuid_le_to_bin(const char *uuid, uuid_le *u);
  48int uuid_be_to_bin(const char *uuid, uuid_be *u);
  49
  50#endif
  51