18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * osta_udf.h 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * This file is based on OSTA UDF(tm) 2.60 (March 1, 2005) 58c2ecf20Sopenharmony_ci * http://www.osta.org 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Copyright (c) 2001-2004 Ben Fennema 88c2ecf20Sopenharmony_ci * Copyright (c) 2017-2019 Pali Rohár <pali@kernel.org> 98c2ecf20Sopenharmony_ci * All rights reserved. 108c2ecf20Sopenharmony_ci * 118c2ecf20Sopenharmony_ci * Redistribution and use in source and binary forms, with or without 128c2ecf20Sopenharmony_ci * modification, are permitted provided that the following conditions 138c2ecf20Sopenharmony_ci * are met: 148c2ecf20Sopenharmony_ci * 1. Redistributions of source code must retain the above copyright 158c2ecf20Sopenharmony_ci * notice, this list of conditions, and the following disclaimer, 168c2ecf20Sopenharmony_ci * without modification. 178c2ecf20Sopenharmony_ci * 2. The name of the author may not be used to endorse or promote products 188c2ecf20Sopenharmony_ci * derived from this software without specific prior written permission. 198c2ecf20Sopenharmony_ci * 208c2ecf20Sopenharmony_ci * Alternatively, this software may be distributed under the terms of the 218c2ecf20Sopenharmony_ci * GNU Public License ("GPL"). 228c2ecf20Sopenharmony_ci * 238c2ecf20Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 248c2ecf20Sopenharmony_ci * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 258c2ecf20Sopenharmony_ci * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 268c2ecf20Sopenharmony_ci * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR 278c2ecf20Sopenharmony_ci * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 288c2ecf20Sopenharmony_ci * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 298c2ecf20Sopenharmony_ci * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 308c2ecf20Sopenharmony_ci * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 318c2ecf20Sopenharmony_ci * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 328c2ecf20Sopenharmony_ci * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 338c2ecf20Sopenharmony_ci * SUCH DAMAGE. 348c2ecf20Sopenharmony_ci */ 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci/** 378c2ecf20Sopenharmony_ci * @file 388c2ecf20Sopenharmony_ci * OSTA-UDF defines and structure definitions 398c2ecf20Sopenharmony_ci */ 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#include "ecma_167.h" 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#ifndef _OSTA_UDF_H 448c2ecf20Sopenharmony_ci#define _OSTA_UDF_H 1 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci/* OSTA CS0 Charspec (UDF 2.60 2.1.2) */ 478c2ecf20Sopenharmony_ci#define UDF_CHAR_SET_TYPE 0 488c2ecf20Sopenharmony_ci#define UDF_CHAR_SET_INFO "OSTA Compressed Unicode" 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci/* Entity Identifier (UDF 2.60 2.1.5) */ 518c2ecf20Sopenharmony_ci/* Identifiers (UDF 2.60 2.1.5.2) */ 528c2ecf20Sopenharmony_ci/* Implementation Use Extended Attribute (UDF 2.60 3.3.4.5) */ 538c2ecf20Sopenharmony_ci/* Virtual Allocation Table (UDF 1.50 2.2.10) */ 548c2ecf20Sopenharmony_ci/* Logical Volume Extended Information (UDF 1.50 Errata, DCN 5003, 3.3.4.5.1.3) */ 558c2ecf20Sopenharmony_ci/* OS2EA (UDF 1.50 3.3.4.5.3.1) */ 568c2ecf20Sopenharmony_ci/* MacUniqueIDTable (UDF 1.50 3.3.4.5.4.3) */ 578c2ecf20Sopenharmony_ci/* MacResourceFork (UDF 1.50 3.3.4.5.4.4) */ 588c2ecf20Sopenharmony_ci#define UDF_ID_DEVELOPER "*Linux UDFFS" 598c2ecf20Sopenharmony_ci#define UDF_ID_COMPLIANT "*OSTA UDF Compliant" 608c2ecf20Sopenharmony_ci#define UDF_ID_LV_INFO "*UDF LV Info" 618c2ecf20Sopenharmony_ci#define UDF_ID_FREE_EA "*UDF FreeEASpace" 628c2ecf20Sopenharmony_ci#define UDF_ID_FREE_APP_EA "*UDF FreeAppEASpace" 638c2ecf20Sopenharmony_ci#define UDF_ID_DVD_CGMS "*UDF DVD CGMS Info" 648c2ecf20Sopenharmony_ci#define UDF_ID_VAT_LVEXTENSION "*UDF VAT LVExtension" 658c2ecf20Sopenharmony_ci#define UDF_ID_OS2_EA "*UDF OS/2 EA" 668c2ecf20Sopenharmony_ci#define UDF_ID_OS2_EA_LENGTH "*UDF OS/2 EALength" 678c2ecf20Sopenharmony_ci#define UDF_ID_MAC_VOLUME "*UDF Mac VolumeInfo" 688c2ecf20Sopenharmony_ci#define UDF_ID_MAC_FINDER "*UDF Mac FinderInfo" 698c2ecf20Sopenharmony_ci#define UDF_ID_MAC_UNIQUE "*UDF Mac UniqueIDTable" 708c2ecf20Sopenharmony_ci#define UDF_ID_MAC_RESOURCE "*UDF Mac ResourceFork" 718c2ecf20Sopenharmony_ci#define UDF_ID_OS400_DIRINFO "*UDF OS/400 DirInfo" 728c2ecf20Sopenharmony_ci#define UDF_ID_VIRTUAL "*UDF Virtual Partition" 738c2ecf20Sopenharmony_ci#define UDF_ID_SPARABLE "*UDF Sparable Partition" 748c2ecf20Sopenharmony_ci#define UDF_ID_ALLOC "*UDF Virtual Alloc Tbl" 758c2ecf20Sopenharmony_ci#define UDF_ID_SPARING "*UDF Sparing Table" 768c2ecf20Sopenharmony_ci#define UDF_ID_METADATA "*UDF Metadata Partition" 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci/* Identifier Suffix (UDF 2.60 2.1.5.3) */ 798c2ecf20Sopenharmony_ci#define DOMAIN_FLAGS_HARD_WRITE_PROTECT 0x01 808c2ecf20Sopenharmony_ci#define DOMAIN_FLAGS_SOFT_WRITE_PROTECT 0x02 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_cistruct domainIdentSuffix { 838c2ecf20Sopenharmony_ci __le16 UDFRevision; 848c2ecf20Sopenharmony_ci uint8_t domainFlags; 858c2ecf20Sopenharmony_ci uint8_t reserved[5]; 868c2ecf20Sopenharmony_ci} __packed; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_cistruct UDFIdentSuffix { 898c2ecf20Sopenharmony_ci __le16 UDFRevision; 908c2ecf20Sopenharmony_ci uint8_t OSClass; 918c2ecf20Sopenharmony_ci uint8_t OSIdentifier; 928c2ecf20Sopenharmony_ci uint8_t reserved[4]; 938c2ecf20Sopenharmony_ci} __packed; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_cistruct impIdentSuffix { 968c2ecf20Sopenharmony_ci uint8_t OSClass; 978c2ecf20Sopenharmony_ci uint8_t OSIdentifier; 988c2ecf20Sopenharmony_ci uint8_t impUse[6]; 998c2ecf20Sopenharmony_ci} __packed; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_cistruct appIdentSuffix { 1028c2ecf20Sopenharmony_ci uint8_t impUse[8]; 1038c2ecf20Sopenharmony_ci} __packed; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci/* Logical Volume Integrity Descriptor (UDF 2.60 2.2.6) */ 1068c2ecf20Sopenharmony_ci/* Implementation Use (UDF 2.60 2.2.6.4) */ 1078c2ecf20Sopenharmony_cistruct logicalVolIntegrityDescImpUse { 1088c2ecf20Sopenharmony_ci struct regid impIdent; 1098c2ecf20Sopenharmony_ci __le32 numFiles; 1108c2ecf20Sopenharmony_ci __le32 numDirs; 1118c2ecf20Sopenharmony_ci __le16 minUDFReadRev; 1128c2ecf20Sopenharmony_ci __le16 minUDFWriteRev; 1138c2ecf20Sopenharmony_ci __le16 maxUDFWriteRev; 1148c2ecf20Sopenharmony_ci uint8_t impUse[0]; 1158c2ecf20Sopenharmony_ci} __packed; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci/* Implementation Use Volume Descriptor (UDF 2.60 2.2.7) */ 1188c2ecf20Sopenharmony_ci/* Implementation Use (UDF 2.60 2.2.7.2) */ 1198c2ecf20Sopenharmony_cistruct impUseVolDescImpUse { 1208c2ecf20Sopenharmony_ci struct charspec LVICharset; 1218c2ecf20Sopenharmony_ci dstring logicalVolIdent[128]; 1228c2ecf20Sopenharmony_ci dstring LVInfo1[36]; 1238c2ecf20Sopenharmony_ci dstring LVInfo2[36]; 1248c2ecf20Sopenharmony_ci dstring LVInfo3[36]; 1258c2ecf20Sopenharmony_ci struct regid impIdent; 1268c2ecf20Sopenharmony_ci uint8_t impUse[128]; 1278c2ecf20Sopenharmony_ci} __packed; 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_cistruct udfPartitionMap2 { 1308c2ecf20Sopenharmony_ci uint8_t partitionMapType; 1318c2ecf20Sopenharmony_ci uint8_t partitionMapLength; 1328c2ecf20Sopenharmony_ci uint8_t reserved1[2]; 1338c2ecf20Sopenharmony_ci struct regid partIdent; 1348c2ecf20Sopenharmony_ci __le16 volSeqNum; 1358c2ecf20Sopenharmony_ci __le16 partitionNum; 1368c2ecf20Sopenharmony_ci} __packed; 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci/* Virtual Partition Map (UDF 2.60 2.2.8) */ 1398c2ecf20Sopenharmony_cistruct virtualPartitionMap { 1408c2ecf20Sopenharmony_ci uint8_t partitionMapType; 1418c2ecf20Sopenharmony_ci uint8_t partitionMapLength; 1428c2ecf20Sopenharmony_ci uint8_t reserved1[2]; 1438c2ecf20Sopenharmony_ci struct regid partIdent; 1448c2ecf20Sopenharmony_ci __le16 volSeqNum; 1458c2ecf20Sopenharmony_ci __le16 partitionNum; 1468c2ecf20Sopenharmony_ci uint8_t reserved2[24]; 1478c2ecf20Sopenharmony_ci} __packed; 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci/* Sparable Partition Map (UDF 2.60 2.2.9) */ 1508c2ecf20Sopenharmony_cistruct sparablePartitionMap { 1518c2ecf20Sopenharmony_ci uint8_t partitionMapType; 1528c2ecf20Sopenharmony_ci uint8_t partitionMapLength; 1538c2ecf20Sopenharmony_ci uint8_t reserved1[2]; 1548c2ecf20Sopenharmony_ci struct regid partIdent; 1558c2ecf20Sopenharmony_ci __le16 volSeqNum; 1568c2ecf20Sopenharmony_ci __le16 partitionNum; 1578c2ecf20Sopenharmony_ci __le16 packetLength; 1588c2ecf20Sopenharmony_ci uint8_t numSparingTables; 1598c2ecf20Sopenharmony_ci uint8_t reserved2[1]; 1608c2ecf20Sopenharmony_ci __le32 sizeSparingTable; 1618c2ecf20Sopenharmony_ci __le32 locSparingTable[4]; 1628c2ecf20Sopenharmony_ci} __packed; 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci/* Metadata Partition Map (UDF 2.60 2.2.10) */ 1658c2ecf20Sopenharmony_cistruct metadataPartitionMap { 1668c2ecf20Sopenharmony_ci uint8_t partitionMapType; 1678c2ecf20Sopenharmony_ci uint8_t partitionMapLength; 1688c2ecf20Sopenharmony_ci uint8_t reserved1[2]; 1698c2ecf20Sopenharmony_ci struct regid partIdent; 1708c2ecf20Sopenharmony_ci __le16 volSeqNum; 1718c2ecf20Sopenharmony_ci __le16 partitionNum; 1728c2ecf20Sopenharmony_ci __le32 metadataFileLoc; 1738c2ecf20Sopenharmony_ci __le32 metadataMirrorFileLoc; 1748c2ecf20Sopenharmony_ci __le32 metadataBitmapFileLoc; 1758c2ecf20Sopenharmony_ci __le32 allocUnitSize; 1768c2ecf20Sopenharmony_ci __le16 alignUnitSize; 1778c2ecf20Sopenharmony_ci uint8_t flags; 1788c2ecf20Sopenharmony_ci uint8_t reserved2[5]; 1798c2ecf20Sopenharmony_ci} __packed; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci/* Virtual Allocation Table (UDF 1.5 2.2.10) */ 1828c2ecf20Sopenharmony_cistruct virtualAllocationTable15 { 1838c2ecf20Sopenharmony_ci __le32 vatEntry[0]; 1848c2ecf20Sopenharmony_ci struct regid vatIdent; 1858c2ecf20Sopenharmony_ci __le32 previousVATICBLoc; 1868c2ecf20Sopenharmony_ci} __packed; 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci#define ICBTAG_FILE_TYPE_VAT15 0x00U 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci/* Virtual Allocation Table (UDF 2.60 2.2.11) */ 1918c2ecf20Sopenharmony_cistruct virtualAllocationTable20 { 1928c2ecf20Sopenharmony_ci __le16 lengthHeader; 1938c2ecf20Sopenharmony_ci __le16 lengthImpUse; 1948c2ecf20Sopenharmony_ci dstring logicalVolIdent[128]; 1958c2ecf20Sopenharmony_ci __le32 previousVATICBLoc; 1968c2ecf20Sopenharmony_ci __le32 numFiles; 1978c2ecf20Sopenharmony_ci __le32 numDirs; 1988c2ecf20Sopenharmony_ci __le16 minUDFReadRev; 1998c2ecf20Sopenharmony_ci __le16 minUDFWriteRev; 2008c2ecf20Sopenharmony_ci __le16 maxUDFWriteRev; 2018c2ecf20Sopenharmony_ci __le16 reserved; 2028c2ecf20Sopenharmony_ci uint8_t impUse[0]; 2038c2ecf20Sopenharmony_ci __le32 vatEntry[0]; 2048c2ecf20Sopenharmony_ci} __packed; 2058c2ecf20Sopenharmony_ci 2068c2ecf20Sopenharmony_ci#define ICBTAG_FILE_TYPE_VAT20 0xF8U 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci/* Sparing Table (UDF 2.60 2.2.12) */ 2098c2ecf20Sopenharmony_cistruct sparingEntry { 2108c2ecf20Sopenharmony_ci __le32 origLocation; 2118c2ecf20Sopenharmony_ci __le32 mappedLocation; 2128c2ecf20Sopenharmony_ci} __packed; 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_cistruct sparingTable { 2158c2ecf20Sopenharmony_ci struct tag descTag; 2168c2ecf20Sopenharmony_ci struct regid sparingIdent; 2178c2ecf20Sopenharmony_ci __le16 reallocationTableLen; 2188c2ecf20Sopenharmony_ci __le16 reserved; 2198c2ecf20Sopenharmony_ci __le32 sequenceNum; 2208c2ecf20Sopenharmony_ci struct sparingEntry 2218c2ecf20Sopenharmony_ci mapEntry[0]; 2228c2ecf20Sopenharmony_ci} __packed; 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci/* Metadata File (and Metadata Mirror File) (UDF 2.60 2.2.13.1) */ 2258c2ecf20Sopenharmony_ci#define ICBTAG_FILE_TYPE_MAIN 0xFA 2268c2ecf20Sopenharmony_ci#define ICBTAG_FILE_TYPE_MIRROR 0xFB 2278c2ecf20Sopenharmony_ci#define ICBTAG_FILE_TYPE_BITMAP 0xFC 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ci/* struct long_ad ICB - ADImpUse (UDF 2.60 2.2.4.3) */ 2308c2ecf20Sopenharmony_cistruct allocDescImpUse { 2318c2ecf20Sopenharmony_ci __le16 flags; 2328c2ecf20Sopenharmony_ci uint8_t impUse[4]; 2338c2ecf20Sopenharmony_ci} __packed; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci#define AD_IU_EXT_ERASED 0x0001 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci/* Real-Time Files (UDF 2.60 6.11) */ 2388c2ecf20Sopenharmony_ci#define ICBTAG_FILE_TYPE_REALTIME 0xF9U 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci/* Implementation Use Extended Attribute (UDF 2.60 3.3.4.5) */ 2418c2ecf20Sopenharmony_ci/* FreeEASpace (UDF 2.60 3.3.4.5.1.1) */ 2428c2ecf20Sopenharmony_cistruct freeEaSpace { 2438c2ecf20Sopenharmony_ci __le16 headerChecksum; 2448c2ecf20Sopenharmony_ci uint8_t freeEASpace[0]; 2458c2ecf20Sopenharmony_ci} __packed; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci/* DVD Copyright Management Information (UDF 2.60 3.3.4.5.1.2) */ 2488c2ecf20Sopenharmony_cistruct DVDCopyrightImpUse { 2498c2ecf20Sopenharmony_ci __le16 headerChecksum; 2508c2ecf20Sopenharmony_ci uint8_t CGMSInfo; 2518c2ecf20Sopenharmony_ci uint8_t dataType; 2528c2ecf20Sopenharmony_ci uint8_t protectionSystemInfo[4]; 2538c2ecf20Sopenharmony_ci} __packed; 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ci/* Logical Volume Extended Information (UDF 1.50 Errata, DCN 5003, 3.3.4.5.1.3) */ 2568c2ecf20Sopenharmony_cistruct LVExtensionEA { 2578c2ecf20Sopenharmony_ci __le16 headerChecksum; 2588c2ecf20Sopenharmony_ci __le64 verificationID; 2598c2ecf20Sopenharmony_ci __le32 numFiles; 2608c2ecf20Sopenharmony_ci __le32 numDirs; 2618c2ecf20Sopenharmony_ci dstring logicalVolIdent[128]; 2628c2ecf20Sopenharmony_ci} __packed; 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ci/* Application Use Extended Attribute (UDF 2.60 3.3.4.6) */ 2658c2ecf20Sopenharmony_ci/* FreeAppEASpace (UDF 2.60 3.3.4.6.1) */ 2668c2ecf20Sopenharmony_cistruct freeAppEASpace { 2678c2ecf20Sopenharmony_ci __le16 headerChecksum; 2688c2ecf20Sopenharmony_ci uint8_t freeEASpace[0]; 2698c2ecf20Sopenharmony_ci} __packed; 2708c2ecf20Sopenharmony_ci 2718c2ecf20Sopenharmony_ci/* UDF Defined System Stream (UDF 2.60 3.3.7) */ 2728c2ecf20Sopenharmony_ci#define UDF_ID_UNIQUE_ID "*UDF Unique ID Mapping Data" 2738c2ecf20Sopenharmony_ci#define UDF_ID_NON_ALLOC "*UDF Non-Allocatable Space" 2748c2ecf20Sopenharmony_ci#define UDF_ID_POWER_CAL "*UDF Power Cal Table" 2758c2ecf20Sopenharmony_ci#define UDF_ID_BACKUP "*UDF Backup" 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_ci/* UDF Defined Non-System Streams (UDF 2.60 3.3.8) */ 2788c2ecf20Sopenharmony_ci#define UDF_ID_MAC_RESOURCE_FORK_STREAM "*UDF Macintosh Resource Fork" 2798c2ecf20Sopenharmony_ci/* #define UDF_ID_OS2_EA "*UDF OS/2 EA" */ 2808c2ecf20Sopenharmony_ci#define UDF_ID_NT_ACL "*UDF NT ACL" 2818c2ecf20Sopenharmony_ci#define UDF_ID_UNIX_ACL "*UDF UNIX ACL" 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci/* Operating System Identifiers (UDF 2.60 6.3) */ 2848c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_UNDEF 0x00U 2858c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_DOS 0x01U 2868c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_OS2 0x02U 2878c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_MAC 0x03U 2888c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_UNIX 0x04U 2898c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_WIN9X 0x05U 2908c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_WINNT 0x06U 2918c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_OS400 0x07U 2928c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_BEOS 0x08U 2938c2ecf20Sopenharmony_ci#define UDF_OS_CLASS_WINCE 0x09U 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ci#define UDF_OS_ID_UNDEF 0x00U 2968c2ecf20Sopenharmony_ci#define UDF_OS_ID_DOS 0x00U 2978c2ecf20Sopenharmony_ci#define UDF_OS_ID_OS2 0x00U 2988c2ecf20Sopenharmony_ci#define UDF_OS_ID_MAC 0x00U 2998c2ecf20Sopenharmony_ci#define UDF_OS_ID_MAX_OSX 0x01U 3008c2ecf20Sopenharmony_ci#define UDF_OS_ID_UNIX 0x00U 3018c2ecf20Sopenharmony_ci#define UDF_OS_ID_AIX 0x01U 3028c2ecf20Sopenharmony_ci#define UDF_OS_ID_SOLARIS 0x02U 3038c2ecf20Sopenharmony_ci#define UDF_OS_ID_HPUX 0x03U 3048c2ecf20Sopenharmony_ci#define UDF_OS_ID_IRIX 0x04U 3058c2ecf20Sopenharmony_ci#define UDF_OS_ID_LINUX 0x05U 3068c2ecf20Sopenharmony_ci#define UDF_OS_ID_MKLINUX 0x06U 3078c2ecf20Sopenharmony_ci#define UDF_OS_ID_FREEBSD 0x07U 3088c2ecf20Sopenharmony_ci#define UDF_OS_ID_NETBSD 0x08U 3098c2ecf20Sopenharmony_ci#define UDF_OS_ID_WIN9X 0x00U 3108c2ecf20Sopenharmony_ci#define UDF_OS_ID_WINNT 0x00U 3118c2ecf20Sopenharmony_ci#define UDF_OS_ID_OS400 0x00U 3128c2ecf20Sopenharmony_ci#define UDF_OS_ID_BEOS 0x00U 3138c2ecf20Sopenharmony_ci#define UDF_OS_ID_WINCE 0x00U 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ci#endif /* _OSTA_UDF_H */ 316