Blame view

include/uuid.h 1.17 KB
83d290c56   Tom Rini   SPDX: Convert all...
1
  /* SPDX-License-Identifier: GPL-2.0+ */
d718ded05   Przemyslaw Marczak   lib: uuid: code r...
2
3
4
  /*
   * Copyright (C) 2014 Samsung Electronics
   * Przemyslaw Marczak <p.marczak@samsung.com>
d718ded05   Przemyslaw Marczak   lib: uuid: code r...
5
6
7
   */
  #ifndef __UUID_H__
  #define __UUID_H__
4e4815fea   Przemyslaw Marczak   lib: uuid: add fu...
8
9
10
11
12
13
14
15
16
  /* This is structure is in big-endian */
  struct uuid {
  	unsigned int time_low;
  	unsigned short time_mid;
  	unsigned short time_hi_and_version;
  	unsigned char clock_seq_hi_and_reserved;
  	unsigned char clock_seq_low;
  	unsigned char node[6];
  } __packed;
d718ded05   Przemyslaw Marczak   lib: uuid: code r...
17
18
19
20
21
22
  enum {
  	UUID_STR_FORMAT_STD,
  	UUID_STR_FORMAT_GUID
  };
  
  #define UUID_STR_LEN		36
4e4815fea   Przemyslaw Marczak   lib: uuid: add fu...
23
24
25
26
27
28
29
30
31
  #define UUID_BIN_LEN		sizeof(struct uuid)
  
  #define UUID_VERSION_MASK	0xf000
  #define UUID_VERSION_SHIFT	12
  #define UUID_VERSION		0x4
  
  #define UUID_VARIANT_MASK	0xc0
  #define UUID_VARIANT_SHIFT	7
  #define UUID_VARIANT		0x1
d718ded05   Przemyslaw Marczak   lib: uuid: code r...
32
33
34
35
  
  int uuid_str_valid(const char *uuid);
  int uuid_str_to_bin(char *uuid_str, unsigned char *uuid_bin, int str_format);
  void uuid_bin_to_str(unsigned char *uuid_bin, char *uuid_str, int str_format);
bcb41dcae   Patrick Delaunay   uuid: add selecti...
36
37
38
39
  #ifdef CONFIG_PARTITION_TYPE_GUID
  int uuid_guid_get_bin(const char *guid_str, unsigned char *guid_bin);
  int uuid_guid_get_str(unsigned char *guid_bin, char *guid_str);
  #endif
4e4815fea   Przemyslaw Marczak   lib: uuid: add fu...
40
41
  void gen_rand_uuid(unsigned char *uuid_bin);
  void gen_rand_uuid_str(char *uuid_str, int str_format);
d718ded05   Przemyslaw Marczak   lib: uuid: code r...
42
  #endif