⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecma167.h

📁 It is for standalone platform executing DVD Burning function,it supports DVD+R/+RW Disc .
💻 H
📖 第 1 页 / 共 2 页
字号:
#if !defined(_ECMA167_H)#define _ECMA167_H//#include "gui.h"#include "common.h"/*#define Uint8   unsigned char#define Int8    char#define Uint16  unsigned short#define Int16   short#define Uint32  unsigned long#define Int32   long#define Uint64  unsigned __int64#define Int64   __int64*/#define Uint8   RMint8#define Int8    RMint8#define Uint16  RMuint16#define Int16   RMint16#define Uint32  RMuint32#define Int32   RMint32#define Uint64  RMuint64#define Int64   RMint64#define ENTITYID_FLAGS_DIRTY        0x01U#define ENTITYID_FLAGS_PROTECTED    0x02U#define STD_ID_LEN  5#define STD_ID_BEA01    "BEA01"#define STD_ID_BOOT2    "BOOT2"#define STD_ID_CD001    "CD001"#define STD_ID_CDW02    "CDW02"#define STD_ID_NSR02    "NSR02"#define STD_ID_NSR03    "NSR03"#define STD_ID_TEA01    "TEA01"#define TID_UNUSED_DESC                 0x0000U#define TID_PRIMARY_VOL_DESC            0x0001U#define TID_ANCHOR_VOL_DESC_PTR         0x0002U#define TID_VOL_DESC_PTR                0x0003U#define TID_IMP_USE_VOL_DESC            0x0004U#define TID_PARTITION_DESC              0x0005U#define TID_LOGICAL_VOL_DESC            0x0006U#define TID_UNALLOC_SPACE_DESC          0x0007U#define TID_TERMINATING_DESC            0x0008U#define TID_LOGICAL_VOL_INTEGRITY_DESC  0x0009U#define TID_FILE_SET_DESC               0x0100U#define TID_FILE_IDENT_DESC             0x0101U#define TID_ALLOC_EXTENT_DESC           0x0102U#define TID_INDIRECT_ENTRY              0x0103U#define TID_TERMINAL_ENTRY              0x0104U#define TID_FILE_ENTRY                  0x0105U#define TID_EXTENDED_ATTRI_HEADER_DESC  0x0106U#define TID_UNALLOCATED_SPACE_ENTRY     0x0107U#define TID_SPACE_BITMAP_DESC           0x0108U#define TID_PARTITION_INTEGRITY_ENTRY   0x0109U#define TID_EXTENDED_FILE_ENTRY         0x010AU#define PVD_FLAGS_VSID_COMMON   0x0001#define PARTITION_FLAGS_ALLOC   1#define PARTITION_CONTENTS_FDC01    "+FDC01"#define PARTITION_CONTENTS_CD001    "+CD001"#define PARTITION_CONTENTS_CDW02    "+CDW02"#define PARTITION_CONTENTS_NSR02    "+NSR02"#define PARTITION_CONTENTS_NSR03    "+NSR03"#define PARTITION_ACCESS_NONE   0#define PARTITION_ACCESS_R      1#define PARTITION_ACCESS_WO     2#define PARTITION_ACCESS_RW     3#define PARTITION_ACCESS_OW     4#define PARTITION_MAP_TYPE_NONE     0#define PARTITION_MAP_TYPE_1        1#define PARTITION_MAP_TYPE_2        2#define INTEGRITY_TYPE_OPEN     0#define INTEGRITY_TYPE_CLOSE    1#define EXTENT_RECORDED_ALLOCATED               0x00#define EXTENT_NOT_RECORDED_ALLOCATED           0x01#define EXTENT_NOT_RECORDED_NOT_ALLOCATED       0x02#define EXTENT_NEXT_EXTENT_ALLOCDECS            0x03#define FILE_HIDDEN     1#define FILE_DIRECTORY  2#define FILE_DELETED    4#define FILE_PARENT     8#define FILE_METADATA   0x10#define ICB_FILE_TYPE_NONE      0x00U#define ICB_FILE_TYPE_UNALLOC   0x01U#define ICB_FILE_TYPE_INTEGRITY 0x02U#define ICB_FILE_TYPE_INDIRECT  0x03U#define ICB_FILE_TYPE_DIRECTORY 0x04U#define ICB_FILE_TYPE_REGULAR   0x05U#define ICB_FILE_TYPE_BLOCK     0x06U#define ICB_FILE_TYPE_CHAR      0x07U#define ICB_FILE_TYPE_EXTENDED  0x08U#define ICB_FILE_TYPE_FIFO      0x09U#define ICB_FILE_TYPE_SOCKET    0x0aU#define ICB_FILE_TYPE_TERMINAL  0x0bU#define ICB_FILE_TYPE_SYMLINK   0x0cU#define ICB_FILE_TYPE_STREAMDIR 0x0dU#define ICB_FLAG_ALLOC_MASK     0x0007U#define ICB_FLAG_SORTED         0x0008U#define ICB_FLAG_NONRELOCATABLE 0x0010U#define ICB_FLAG_ARCHIVE        0x0020U#define ICB_FLAG_SETUID         0x0040U#define ICB_FLAG_SETGID         0x0080U#define ICB_FLAG_STICKY         0x0100U#define ICB_FLAG_CONTIGUOUS     0x0200U#define ICB_FLAG_SYSTEM         0x0400U#define ICB_FLAG_TRANSFORMED    0x0800U#define ICB_FLAG_MULTIVERSIONS  0x1000U#define ICB_FLAG_STREAM		    0x2000U#define ICB_FLAG_AD_SHORT       0#define ICB_FLAG_AD_LONG        1#define ICB_FLAG_AD_EXTENDED    2#define ICB_FLAG_AD_IN_ICB      3typedef RMuint8   dstring;struct charspec{    Uint8 charSetType;    Uint8 charSetInfo[63];	//char charSetInfo[63];};struct timestamp{    Uint16 typeAndTimezone;    Uint16 year;    Uint8 month;    Uint8 day;    Uint8 hour;    Uint8 minute;    Uint8 second;    Uint8 centiseconds;    Uint8 hundredsOfMicroseconds;    Uint8 microseconds;};/*#define TIMESTAMP_TYPE_MASK         0xF000#define TIMESTAMP_TYPE_CUT          0x0000#define TIMESTAMP_TYPE_LOCAL        0x1000#define TIMESTAMP_TYPE_AGREEMENT    0x2000#define TIMESTAMP_TIMEZONE_MASK     0x0FFF*/typedef struct EntityID{    Uint8 flags;    //Uint8 ident[23];	Int8 ident[23];    Uint8 identSuffix[8];} regid;struct VolStructDesc{    Uint8 structType;    Uint8 stdIdent[STD_ID_LEN];    Uint8 structVersion;    Uint8 structData[2041];};struct BeginningExtendedAreaDesc{    Uint8 structType;    Uint8 stdIdent[STD_ID_LEN];    Uint8 structVersion;    Uint8 structData[2041];};struct TerminatingExtendedAreaDesc{    Uint8 structType;    Uint8 stdIdent[STD_ID_LEN];    Uint8 structVersion;    Uint8 structData[2041];};#define BOOT_FLAGS_ERASE    1struct extent_ad{    Uint32 extLength;    Uint32 extLocation;};struct tag{    Uint16 tagIdent;    Uint16 descVersion;    Uint8 tagChecksum;    Uint8 reserved;    Uint16 tagSerialNum;    Uint16 descCRC;    Uint16 descCRCLength;    Uint32 tagLocation;};struct NSRDesc{    Uint8 structType;    Uint8 stdIdent[STD_ID_LEN];    Uint8 structVersion;    Uint8 reserved;    Uint8 structData[2040];};struct PrimaryVolDesc{    struct tag descTag;    Uint32 volDescSeqNum;    Uint32 primaryVolDescNum;    dstring volIdent[32];    Uint16 volSeqNum;    Uint16 maxVolSeqNum;    Uint16 interchangeLvl;    Uint16 maxInterchangeLvl;    Uint32 charSetList;    Uint32 maxCharSetList;    dstring volSetIdent[128];    struct charspec descCharSet;    struct charspec explanatoryCharSet;    struct extent_ad volAbstract;    struct extent_ad volCopyright;    struct EntityID appIdent;    struct timestamp recordingDateAndTime;    struct EntityID impIdent;    Uint8 impUse[64];    Uint32 predecessorVolDescSeqLocation;    Uint16 flags;    Uint8 reserved[22];};struct AnchorVolDescPtr{    struct tag descTag;    struct extent_ad mainVolDescSeqExt;    struct extent_ad reserveVolDescSeqExt;    Uint8 reserved[480];};struct VolDescPtr{    struct tag descTag;    Uint32 volDescSeqNum;    struct extent_ad nextVolDescSeqExt;    Uint8 reserved[484];};struct ImpUseVolDesc{    struct tag descTag;    Uint32 volDescSeqNum;    struct EntityID impIdent;    Uint8 impUse[460];};struct PartitionDesc{    struct tag descTag;    Uint32 volDescSeqNum;    Uint16 partitionFlags;    Uint16 partitionNumber;    struct EntityID partitionContents;    Uint8 partitionContentsUse[128];    Uint32 accessType;    Uint32 partitionStartingLocation;    Uint32 partitionLength;    struct EntityID impIdent;    Uint8 impUse[128];    Uint8 reserved[156];};struct LogicalVolDesc{    struct tag descTag;    Uint32 volDescSeqNum;    struct charspec descCharSet;    dstring logicalVolIdent[128];    Uint32 logicalBlockSize;    struct EntityID domainIdent;    Uint8 logicalVolContentsUse[16];    Uint32 mapTableLength;    Uint32 numPartitionMaps;    struct EntityID impIdent;    Uint8 impUse[128];    struct extent_ad integritySeqExt;    Uint8 partitionMaps[0];};struct GenericPartitionMap{    Uint8 partitionMapType;    Uint8 partitionMapLength;    Uint8 partitionMapping[0];};struct GenericPartitionMap1{    Uint8 partitionMapType;    Uint8 partitionMapLength;    Uint16 volSeqNum;    Uint16 partitionNum;};struct GenericPartitionMap2{    Uint8 partitionMapType;    Uint8 partitionMapLength;     Uint8 partitionIdent[62];};struct UnallocatedSpaceDesc{    struct tag descTag;    Uint32 volDescSeqNum;    Uint32 numAllocDescs;    struct extent_ad allocDescs[0];};struct TerminatingDesc{    struct tag descTag;    Uint8 reserved[496];};struct GenericDesc{    struct tag descTag;    Uint32 volDescSeqNum;};struct LogicalVolIntegrityDesc{    struct tag descTag;    struct timestamp recordingDateAndTime;    Uint32 integrityType;    struct extent_ad nextIntegrityExt;    Uint8 logicalVolContentsUse[32];    Uint32 numOfPartitions;    Uint32 lengthOfImpUse;    union    {        Uint32 freeSpaceTable[0];        Uint32 sizeTable[0];        Uint8 impUse[0];    };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -