xref: /haiku/headers/private/vmdk/vmdk.h (revision 204dee708a999d5a71d0cb9497650ee7cef85d0a)
1 /*
2  * Copyright 2007, Marcus Overhagen. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _VMDK_H
6 #define _VMDK_H
7 
8 
9 #include <stdint.h>
10 
11 
12 typedef uint64_t SectorType;
13 
14 
15 struct SparseExtentHeader {
16 	uint32_t		magicNumber;
17 	uint32_t		version;
18 	uint32_t		flags;
19 	SectorType		capacity;
20 	SectorType		grainSize;
21 	SectorType		descriptorOffset;
22 	SectorType		descriptorSize;
23 	uint32_t		numGTEsPerGT;
24 	SectorType		rgdOffset;
25 	SectorType		gdOffset;
26 	SectorType		overHead;
27 	uint8_t			uncleanShutdown;
28 	char			singleEndLineChar;
29 	char			nonEndLineChar;
30 	char			doubleEndLineChar1;
31 	char			doubleEndLineChar2;
32 	uint8_t			pad[435];
33 } __attribute__((__packed__)) ;
34 
35 #define VMDK_SPARSE_MAGICNUMBER	0x564d444b /* 'V' 'M' 'D' 'K' */
36 #define VMDK_SPARSE_VERSION		1
37 
38 #endif	// _VMDK_H
39