summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/nt_guid.h
blob: bae1468104b7a86eeb499a1c8a2213691306ca10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef _NT_GUID_H_
#define _NT_GUID_H_

#include "nt_abi.h"
#include "nt_object.h"

typedef struct _nt_guid_str_utf16 {
	wchar16_t	lbrace;
	wchar16_t	group1[8];
	wchar16_t	dash1;
	wchar16_t	group2[4];
	wchar16_t	dash2;
	wchar16_t	group3[4];
	wchar16_t	dash3;
	wchar16_t	group4[4];
	wchar16_t	dash4;
	wchar16_t	group5[12];
	wchar16_t	rbrace;
} nt_guid_str_utf16, nt_uuid_str_utf16;

typedef struct _nt_guid_str_utf8 {
	uint8_t		lbrace;
	uint8_t		group1[8];
	uint8_t		dash1;
	uint8_t		group2[4];
	uint8_t		dash2;
	uint8_t		group3[4];
	uint8_t		dash3;
	uint8_t		group4[4];
	uint8_t		dash4;
	uint8_t		group5[12];
	uint8_t		rbrace;
	uint8_t		null;
} nt_guid_str_utf8, nt_uuid_str_utf8;

typedef void __fastcall ntapi_tt_guid_copy(
	__out	nt_guid *	pguid_dst,
	__in	const nt_guid *	pguid_src);

typedef int32_t __fastcall ntapi_tt_guid_compare(
	__in	const nt_guid *	pguid_dst,
	__in	const nt_guid *	pguid_src);

typedef void __fastcall ntapi_tt_guid_to_string_utf16(
	__in	const nt_guid *		guid,
	__out	nt_guid_str_utf16 *	guid_str);

typedef int32_t __fastcall ntapi_tt_string_to_guid_utf16(
	__in	const nt_guid_str_utf16 *	guid_str,
	__out	nt_guid *			guid);

typedef void __fastcall ntapi_tt_guid_to_string_utf8(
	__in	const nt_guid *		guid,
	__out	nt_guid_str_utf8 *	guid_str);

typedef int32_t __fastcall ntapi_tt_string_to_guid_utf8(
	__in	const char *			guid_str,
	__out	nt_guid *			guid);

#endif