]> Git Repo - J-u-boot.git/blame - include/uuid.h
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
[J-u-boot.git] / include / uuid.h
CommitLineData
83d290c5 1/* SPDX-License-Identifier: GPL-2.0+ */
d718ded0
PM
2/*
3 * Copyright (C) 2014 Samsung Electronics
4 * Przemyslaw Marczak <[email protected]>
d718ded0
PM
5 */
6#ifndef __UUID_H__
7#define __UUID_H__
8
3bad256f
HS
9#include <linux/bitops.h>
10
4e4815fe
PM
11/* This is structure is in big-endian */
12struct uuid {
13 unsigned int time_low;
14 unsigned short time_mid;
15 unsigned short time_hi_and_version;
16 unsigned char clock_seq_hi_and_reserved;
17 unsigned char clock_seq_low;
18 unsigned char node[6];
19} __packed;
20
3bad256f
HS
21/* Bits of a bitmask specifying the output format for GUIDs */
22#define UUID_STR_FORMAT_STD 0
23#define UUID_STR_FORMAT_GUID BIT(0)
24#define UUID_STR_UPPER_CASE BIT(1)
d718ded0 25
f8a2d191 26/* Use UUID_STR_LEN + 1 for string space */
d718ded0 27#define UUID_STR_LEN 36
4e4815fe
PM
28#define UUID_BIN_LEN sizeof(struct uuid)
29
30#define UUID_VERSION_MASK 0xf000
31#define UUID_VERSION_SHIFT 12
32#define UUID_VERSION 0x4
33
34#define UUID_VARIANT_MASK 0xc0
35#define UUID_VARIANT_SHIFT 7
36#define UUID_VARIANT 0x1
d718ded0
PM
37
38int uuid_str_valid(const char *uuid);
2c2ca207
SG
39int uuid_str_to_bin(const char *uuid_str, unsigned char *uuid_bin,
40 int str_format);
41void uuid_bin_to_str(const unsigned char *uuid_bin, char *uuid_str,
42 int str_format);
bcb41dca 43int uuid_guid_get_bin(const char *guid_str, unsigned char *guid_bin);
31ce367c 44const char *uuid_guid_get_str(const unsigned char *guid_bin);
4e4815fe
PM
45void gen_rand_uuid(unsigned char *uuid_bin);
46void gen_rand_uuid_str(char *uuid_str, int str_format);
d718ded0 47#endif
This page took 0.552605 seconds and 4 git commands to generate.