41bb26f8db
This essentially is a partial revert of commit ff548773
("afs: Move UUID struct to linux/uuid.h") and moves struct uuid_v1 back into
fs/afs as struct afs_uuid. It however keeps it as big endian structure
so that we can use the normal uuid generation helpers when casting to/from
struct afs_uuid.
The V1 uuid intrepretation in struct form isn't really useful to the
rest of the kernel, and not really compatible to it either, so move it
back to AFS instead of polluting the global uuid.h.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: David Howells <dhowells@redhat.com>
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
/*
|
|
* UUID/GUID definition
|
|
*
|
|
* Copyright (C) 2010, 2016 Intel Corp.
|
|
* Huang Ying <ying.huang@intel.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License version
|
|
* 2 as published by the Free Software Foundation;
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
#ifndef _LINUX_UUID_H_
|
|
#define _LINUX_UUID_H_
|
|
|
|
#include <uapi/linux/uuid.h>
|
|
|
|
/*
|
|
* The length of a UUID string ("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
|
|
* not including trailing NUL.
|
|
*/
|
|
#define UUID_STRING_LEN 36
|
|
|
|
static inline int uuid_le_cmp(const uuid_le u1, const uuid_le u2)
|
|
{
|
|
return memcmp(&u1, &u2, sizeof(uuid_le));
|
|
}
|
|
|
|
static inline int uuid_be_cmp(const uuid_be u1, const uuid_be u2)
|
|
{
|
|
return memcmp(&u1, &u2, sizeof(uuid_be));
|
|
}
|
|
|
|
void generate_random_uuid(unsigned char uuid[16]);
|
|
|
|
extern void uuid_le_gen(uuid_le *u);
|
|
extern void uuid_be_gen(uuid_be *u);
|
|
|
|
bool __must_check uuid_is_valid(const char *uuid);
|
|
|
|
extern const u8 uuid_le_index[16];
|
|
extern const u8 uuid_be_index[16];
|
|
|
|
int uuid_le_to_bin(const char *uuid, uuid_le *u);
|
|
int uuid_be_to_bin(const char *uuid, uuid_be *u);
|
|
|
|
#endif
|