]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/Udf.h
BaseTools: extend FFS alignment to 16M
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Udf.h
CommitLineData
fae0d2a2
PA
1/** @file\r
2 OSTA Universal Disk Format (UDF) definitions.\r
3\r
4 Copyright (C) 2014-2017 Paulo Alcantara <pcacjr@zytor.com>\r
5\r
6 This program and the accompanying materials are licensed and made available\r
7 under the terms and conditions of the BSD License which accompanies this\r
8 distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
12 WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13**/\r
14\r
15#ifndef __UDF_H__\r
16#define __UDF_H__\r
17\r
18#define UDF_BEA_IDENTIFIER "BEA01"\r
19#define UDF_NSR2_IDENTIFIER "NSR02"\r
20#define UDF_NSR3_IDENTIFIER "NSR03"\r
21#define UDF_TEA_IDENTIFIER "TEA01"\r
22\r
23#define UDF_LOGICAL_SECTOR_SHIFT 11\r
24#define UDF_LOGICAL_SECTOR_SIZE ((UINT64)(1ULL << UDF_LOGICAL_SECTOR_SHIFT))\r
25#define UDF_VRS_START_OFFSET ((UINT64)(16ULL << UDF_LOGICAL_SECTOR_SHIFT))\r
26\r
27#define _GET_TAG_ID(_Pointer) \\r
28 (((UDF_DESCRIPTOR_TAG *)(_Pointer))->TagIdentifier)\r
29\r
30#define IS_AVDP(_Pointer) \\r
31 ((BOOLEAN)(_GET_TAG_ID (_Pointer) == 2))\r
32\r
33#pragma pack(1)\r
34\r
35typedef struct {\r
36 UINT16 TagIdentifier;\r
37 UINT16 DescriptorVersion;\r
38 UINT8 TagChecksum;\r
39 UINT8 Reserved;\r
40 UINT16 TagSerialNumber;\r
41 UINT16 DescriptorCRC;\r
42 UINT16 DescriptorCRCLength;\r
43 UINT32 TagLocation;\r
44} UDF_DESCRIPTOR_TAG;\r
45\r
46typedef struct {\r
47 UINT32 ExtentLength;\r
48 UINT32 ExtentLocation;\r
49} UDF_EXTENT_AD;\r
50\r
51typedef struct {\r
52 UDF_DESCRIPTOR_TAG DescriptorTag;\r
53 UDF_EXTENT_AD MainVolumeDescriptorSequenceExtent;\r
54 UDF_EXTENT_AD ReserveVolumeDescriptorSequenceExtent;\r
55 UINT8 Reserved[480];\r
56} UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER;\r
57\r
58#pragma pack()\r
59\r
60#endif\r