ReactOS 0.4.15-dev-7887-g64a59a1
ecma_167.h
Go to the documentation of this file.
1
2// Copyright (C) Alexander Telyatnikov, Ivan Keliukh, Yegor Anchishkin, SKIF Software, 1999-2013. Kiev, Ukraine
3// All rights reserved
4// This file was released under the GPLv2 on June 2015.
6/*
7 Module name:
8
9 ecma_167.h
10
11 Abstract:
12
13 This file contains ECMA-167 definitions
14
15*/
16
17#ifndef __ECMA_167_H__
18#define __ECMA_167_H__
19
20typedef uint8 dstring;
21
22#define UDF_COMP_ID_8 0x08
23#define UDF_COMP_ID_16 0x10
24
25/* make sure all structures are packed! */
26#pragma pack(push, 1)
27
28/* CS0 Charspec (ECMA 167 1/7.2.1) */
29typedef struct {
31 uint8 charSetInfo[63];
32} charspec;
33
34/* Timestamp (ECMA 167 1/7.3) */
35typedef struct {
46} timestamp;
47
50
51/* Timestamp types (ECMA 167 1/7.3.1) */
52#define TIMESTAMP_TYPE_CUT 0x0000U
53#define TIMESTAMP_TYPE_LOCAL 0x0001U
54#define TIMESTAMP_TYPE_AGREEMENT 0x0002U
55#define TIMESTAMP_OFFSET_MASK 0x0FFFU
56#define TIMESTAMP_NO_OFFSET 0x0800U
57
58/* Entity Identifier (ECMA 167 1/7.4) */
59typedef struct {
62 uint8 identSuffix[8];
63} EntityID;
64#define regid EntityID
65
66/* Entity identifier flags (ECMA 167 1/7.4.1) */
67#define ENTITYID_FLAGS_DIRTY 0x01U
68#define ENTITYID_FLAGS_PROTECTED 0x02U
69
70/* Volume Structure Descriptor (ECMA 167 2/9.1) */
71#define STD_ID_LEN 5
77};
78
79/* Std structure identifiers (ECMA 167 2/9.1.2) */
80#define STD_ID_BEA01 "BEA01"
81#define STD_ID_BOOT2 "BOOT2"
82#define STD_ID_CD001 "CD001"
83#define STD_ID_CDW02 "CDW02"
84#define STD_ID_NSR02 "NSR02"
85#define STD_ID_NSR03 "NSR03"
86#define STD_ID_TEA01 "TEA01"
87
88/* Beginning Extended Area Descriptor (ECMA 167 2/9.2) */
94};
95
96/* Terminating Extended Area Descriptor (ECMA 167 2/9.3) */
102};
103
104/* Boot Descriptor (ECMA 167 2/9.4) */
105typedef struct _BootDesc {
121
122/* Boot flags (ECMA 167 2/9.4.12) */
123#define BOOT_FLAGS_ERASE 1
124
125/* Extent Descriptor (ECMA 167 3/7.1) */
126
127typedef struct _EXTENT_AD {
131
133
136
137/* Descriptor Tag (ECMA 167 3/7.2) */
138typedef struct {
147} tag;
148
149typedef tag DESC_TAG;
151
152/* Tag Identifiers (ECMA 167 3/7.2.1) */
153#define TID_UNUSED_DESC 0x0000U
154#define TID_PRIMARY_VOL_DESC 0x0001U
155#define TID_ANCHOR_VOL_DESC_PTR 0x0002U
156#define TID_VOL_DESC_PTR 0x0003U
157#define TID_IMP_USE_VOL_DESC 0x0004U
158#define TID_PARTITION_DESC 0x0005U
159#define TID_LOGICAL_VOL_DESC 0x0006U
160#define TID_UNALLOC_SPACE_DESC 0x0007U
161#define TID_TERMINATING_DESC 0x0008U
162#define TID_LOGICAL_VOL_INTEGRITY_DESC 0x0009U
163
164/* Tag Identifiers (ECMA 167 4/7.2.1) */
165#define TID_FILE_SET_DESC 0x0100U
166#define TID_FILE_IDENT_DESC 0x0101U
167#define TID_ALLOC_EXTENT_DESC 0x0102U
168#define TID_INDIRECT_ENTRY 0x0103U
169#define TID_TERMINAL_ENTRY 0x0104U
170#define TID_FILE_ENTRY 0x0105U
171#define TID_EXTENDED_ATTRE_HEADER_DESC 0x0106U
172#define TID_UNALLOCATED_SPACE_ENTRY 0x0107U
173#define TID_SPACE_BITMAP_DESC 0x0108U
174#define TID_PARTITION_INTEGRITY_ENTRY 0x0109U
175#define TID_EXTENDED_FILE_ENTRY 0x010AU
176
177/* NSR Descriptor (ECMA 167 3/9.1) */
178struct NSRDesc {
184};
185
186/* Primary Volume Descriptor (ECMA 167 3/10.1) */
210};
211
212/* Primary volume descriptor flags (ECMA 167 3/10.1.21) */
213#define VOL_SET_IDENT 1
214
215/* Anchor Volume Descriptor Pointer (ECMA 167 3/10.2) */
221};
222
223/* Volume Descriptor Pointer (ECMA 167 3/10.3) */
229};
230
231#define MAX_VDS_PARTS 32
232
233/* Implementation Use Volume Descriptor (ECMA 167 3/10.4) */
239};
240
241/* Partition Descriptor (ECMA 167 3/10.5) */
255};
256
257/* Partition Flags (ECMA 167 3/10.5.3) */
258#define PARTITION_FLAGS_ALLOC 1
259
260/* Partition Contents (ECMA 167 3/10.5.5) */
261#define PARTITION_CONTENTS_FDC01 "+FDC01"
262#define PARTITION_CONTENTS_CD001 "+CD001"
263#define PARTITION_CONTENTS_CDW02 "+CDW02"
264#define PARTITION_CONTENTS_NSR02 "+NSR02"
265#define PARTITION_CONTENTS_NSR03 "+NSR03"
266
267/* Partition Access Types (ECMA 167 3/10.5.7) */
268#define PARTITION_ACCESS_NONE 0
269#define PARTITION_ACCESS_R 1
270#define PARTITION_ACCESS_WO 2
271#define PARTITION_ACCESS_RW 3
272#define PARTITION_ACCESS_OW 4
273#define PARTITION_ACCESS_MAX_KNOWN PARTITION_ACCESS_OW
274
275/* Logical Volume Descriptor (ECMA 167 3/10.6) */
283 uint8 logicalVolContentsUse[16]; /* used to find fileset */
289// uint8 partitionMaps[0];
290};
291
292/* Generic Partition Map (ECMA 167 3/10.7.1) */
296// uint8 partitionMapping[0];
297};
298
299/* Partition Map Type (ECMA 167 3/10.7.1.1) */
300#define PARTITION_MAP_TYPE_NONE 0
301#define PARTITION_MAP_TYPE_1 1
302#define PARTITION_MAP_TYPE_2 2
303
304/* Type 1 Partition Map (ECMA 167 3/10.7.2) */
310};
311
312/* Type 2 Partition Map (ECMA 167 3/10.7.3) */
317};
318
319/* Unallocated Space Descriptor (ECMA 167 3/10.8) */
320typedef struct _UNALLOC_SPACE_DESC {
324// extent_ad allocDescs[0];
326
328
329/* Terminating Descriptor (ECMA 3/10.9) */
333};
334
336{
339};
340
341/* Logical Volume Integrity Descriptor (ECMA 167 3/10.10) */
342
351// uint32 freeSpaceTable[0];
352// uint32 sizeTable[0];
353// uint8 impUse[0];
354};
355
356/* Integrity Types (ECMA 167 3/10.10.3) */
357#define INTEGRITY_TYPE_OPEN 0
358#define INTEGRITY_TYPE_CLOSE 1
359
360/* Recorded Address (ECMA 167 4/7.1) */
361typedef struct {
364} lb_addr;
365
366/* Extent interpretation (ECMA 167 4/14.14.1.1) */
367#define EXTENT_RECORDED_ALLOCATED 0x00
368#define EXTENT_NOT_RECORDED_ALLOCATED 0x01
369#define EXTENT_NOT_RECORDED_NOT_ALLOCATED 0x02
370#define EXTENT_NEXT_EXTENT_ALLOCDESC 0x03
371
372/* Long Allocation Descriptor (ECMA 167 4/14.14.2) */
373typedef struct {
376 uint8 impUse[6];
377} long_ad;
378 /* upper 2 bits of extLength indicate type */
381
382/* File Set Descriptor (ECMA 167 4/14.1) */
383typedef struct _FILE_SET_DESC {
398 long_ad rootDirectoryICB; //points to Allocation Ext Descriptor
404
405/* Short Allocation Descriptor (ECMA 167 4/14.14.1) */
406typedef struct _SHORT_AD {
410
412
413/* Partition Header Descriptor (ECMA 167 4/14.3) */
416 short_ad unallocatedSpaceBitmap; // 0 - allocated, 1 - free
419 short_ad freedSpaceBitmap; // 0 - ???? 1 - freed
422
423/* File Identifier Descriptor (ECMA 167 4/14.4) */
424
425typedef struct _FILE_IDENT_DESC {
432// uint8 impUse[0];
433// uint8 fileIdent[0];
434// uint8 padding[0];
436
437/* File Characteristics (ECMA 167 4/14.4.3) */
438#define FILE_HIDDEN 0x01
439#define FILE_DIRECTORY 0x02
440#define FILE_DELETED 0x04
441#define FILE_PARENT 0x08
442#define FILE_METADATA 0x10 /* UDF 2.0 */
443
444/* Allocation Ext Descriptor (ECMA 167 4/14.5) */
445typedef struct _ALLOC_EXT_DESC {
450
451/* ICB Tag (ECMA 167 4/14.6) */
452typedef struct {
461} icbtag;
462
463/* ICB File Type (ECMA 167 4/14.6.6) */
464#define UDF_FILE_TYPE_NONE 0x00U
465#define UDF_FILE_TYPE_UNALLOC 0x01U
466#define UDF_FILE_TYPE_INTEGRITY 0x02U
467#define UDF_FILE_TYPE_INDIRECT 0x03U
468#define UDF_FILE_TYPE_DIRECTORY 0x04U
469#define UDF_FILE_TYPE_REGULAR 0x05U
470#define UDF_FILE_TYPE_BLOCK 0x06U
471#define UDF_FILE_TYPE_CHAR 0x07U
472#define UDF_FILE_TYPE_EXTENDED 0x08U
473#define UDF_FILE_TYPE_FIFO 0x09U
474#define UDF_FILE_TYPE_SOCKET 0x0aU
475#define UDF_FILE_TYPE_TERMINAL 0x0bU
476#define UDF_FILE_TYPE_SYMLINK 0x0cU
477#define UDF_FILE_TYPE_STREAMDIR 0x0dU /* ECMA 167 4/13 */
478
479/* ICB Flags (ECMA 167 4/14.6.8) */
480#define ICB_FLAG_ALLOC_MASK 0x0007U
481#define ICB_FLAG_SORTED 0x0008U
482#define ICB_FLAG_NONRELOCATABLE 0x0010U
483#define ICB_FLAG_ARCHIVE 0x0020U
484#define ICB_FLAG_SETUID 0x0040U
485#define ICB_FLAG_SETGID 0x0080U
486#define ICB_FLAG_STICKY 0x0100U
487#define ICB_FLAG_CONTIGUOUS 0x0200U
488#define ICB_FLAG_SYSTEM 0x0400U
489#define ICB_FLAG_TRANSFORMED 0x0800U
490#define ICB_FLAG_MULTIVERSIONS 0x1000U
491
492/* ICB Flags Allocation type(ECMA 167 4/14.6.8) */
493#define ICB_FLAG_AD_SHORT 0
494#define ICB_FLAG_AD_LONG 1
495#define ICB_FLAG_AD_EXTENDED 2
496#define ICB_FLAG_AD_IN_ICB 3
497
498/* Indirect Entry (ECMA 167 4/14.7) */
503};
504
505/* Terminal Entry (ECMA 167 4/14.8) */
509};
510
511/* File Entry (ECMA 167 4/14.9) */
512
513typedef struct _FILE_ENTRY {
531 uint64 uniqueID; /* 0= root, 16- (2^32-1) */
532
535// uint8 extendedAttr[0];
536// uint8 allocDescs[0];
538
539/* File Permissions (ECMA 167 4/14.9.5) */
540#define PERM_O_EXEC 0x00000001U
541#define PERM_O_WRITE 0x00000002U
542#define PERM_O_READ 0x00000004U
543#define PERM_O_CHATTR 0x00000008U
544#define PERM_O_DELETE 0x00000010U
545#define PERM_G_EXEC 0x00000020U
546#define PERM_G_WRITE 0x00000040U
547#define PERM_G_READ 0x00000080U
548#define PERM_G_CHATTR 0x00000100U
549#define PERM_G_DELETE 0x00000200U
550#define PERM_U_EXEC 0x00000400U
551#define PERM_U_WRITE 0x00000800U
552#define PERM_U_READ 0x00001000U
553#define PERM_U_CHATTR 0x00002000U
554#define PERM_U_DELETE 0x00004000U
555
556/* File Record Format (ECMA 167 4/14.9.7) */
557#define RECORD_FMT_NONE 0
558#define RECORD_FMT_FIXED_PAD 1
559#define RECORD_FMT_FIXED 2
560#define RECORD_FMT_VARIABLE8 3
561#define RECORD_FMT_VARIABLE16 4
562#define RECORD_FMT_VARIABLE16_MSB 5
563#define RECORD_FMT_VARIABLE32 6
564#define RECORD_FMT_PRINT 7
565#define RECORD_FMT_LF 8
566#define RECORD_FMT_CR 9
567#define RECORD_FMT_CRLF 10
568#define RECORD_FMT_LFCR 10
569
570/* Extended Attribute Header Descriptor (ECMA 167 4/14.10.1) */
575};
576
577/* Generic Attribute Format (ECMA 4/14.10.2) */
583// uint8 attrData[0];
584};
585
586/* Character Set Attribute Format (ECMA 4/14.10.3) */
594// uint8 escapeSeq[0];
595};
596
597/* Alternate Permissions (ECMA 167 4/14.10.4) */
606};
607
608/* File Times Extended Attribute (ECMA 167 4/14.10.5) */
616// timestamp fileTimes[0];
617};
618
619/* FileTimeExistence (ECMA 167 4/14.10.5.6) */
620#define FTE_CREATION 0
621#define FTE_DELETION 2
622#define FTE_EFFECTIVE 3
623#define FTE_BACKUP 5
624
625/* Information Times Extended Attribute (ECMA 167 4/14.10.6) */
633// uint8 infoTimes[0];
634};
635
636/* Device Specification Extended Attribute (ECMA 167 4/14.10.7) */
638 uint32 attrType; /* 12 */
645// uint8 impUse[0];
646};
647
648/* Implementation Use Extended Attr (ECMA 167 4/14.10.8) */
650 uint32 attrType; /* 2048 */
656// uint8 impUse[0];
657};
658
659/* Application Use Extended Attribute (ECMA 167 4/14.10.9) */
661 uint32 attrType; /* 65536 */
667// uint8 appUse[0];
668};
669
670#define EXTATTR_CHAR_SET 1
671#define EXTATTR_ALT_PERMS 3
672#define EXTATTR_FILE_TIMES 5
673#define EXTATTR_INFO_TIMES 6
674#define EXTATTR_DEV_SPEC 12
675#define EXTATTR_IMP_USE 2048
676#define EXTATTR_APP_USE 65536
677
678
679/* Unallocated Space Entry (ECMA 167 4/14.11) */
684// uint8 allocDescs[0];
685};
686
687/* Space Bitmap Descriptor (ECMA 167 4/14.12) */
688typedef struct _SPACE_BITMAP_DESC {
692// uint8 bitmap[0]; // describes blocks from Lba=0 to Lba=LAST_LBA
694
696
697/* Partition Integrity Entry (ECMA 167 4/14.13) */
706};
707
708#define INTEGRITY_TYPE_STABLE 2
709
710/* Extended Allocation Descriptor (ECMA 167 4/14.14.3) */
711typedef struct _EXT_AD { /* ECMA 167 4/14.14.3 */
717
719
720/* Logical Volume Header Descriptor (ECMA 167 4/14.5) */
724};
725
726/* Path Component (ECMA 167 4/14.16.1) */
731// dstring componentIdent[0];
732};
733
734#define COMPONENT_TYPE_ROOT_X 0x01 /* originator & recipient know its value */
735#define COMPONENT_TYPE_ROOT 0x02 /* root of the volume */
736#define COMPONENT_TYPE_PARENT 0x03 /* predecessor's parent dir */
737#define COMPONENT_TYPE_CURENT 0x04 /* same as predecessor's dir */
738#define COMPONENT_TYPE_OBJECT 0x05 /* terminal entry */
739
740/* File Entry (ECMA 167 4/14.17) */
741
742typedef struct _EXTENDED_FILE_ENTRY {
767// uint8 extendedAttr[0];
768// uint8 allocDescs[0];
770
772
773#pragma pack(pop)
774
775#endif /* __ECMA_167_H__ */
776
unsigned short uint16
Definition: types.h:30
unsigned int uint32
Definition: types.h:32
unsigned char uint8
Definition: types.h:28
unsigned long long uint64
Definition: platform.h:18
struct _EXTENDED_FILE_ENTRY EXTENDED_FILE_ENTRY
struct _EXTENT_AD * PEXTENT_AD
DESC_TAG * PDESC_TAG
Definition: ecma_167.h:150
struct _ALLOC_EXT_DESC ALLOC_EXT_DESC
struct _PARTITION_HEADER_DESC PARTITION_HEADER_DESC
struct _SHORT_AD * PSHORT_AD
PEXTENT_AD PEXTENT_MAP
Definition: ecma_167.h:135
struct _SPACE_BITMAP_DESC * PSPACE_BITMAP_DESC
struct _FILE_ENTRY FILE_ENTRY
struct _BootDesc BootDesc
struct _ALLOC_EXT_DESC * PALLOC_EXT_DESC
long_ad LONG_AD
Definition: ecma_167.h:379
struct _FILE_IDENT_DESC * PFILE_IDENT_DESC
SHORT_AD short_ad
Definition: ecma_167.h:411
#define STD_ID_LEN
Definition: ecma_167.h:71
struct _EXT_AD * PEXT_AD
struct _FILE_IDENT_DESC FILE_IDENT_DESC
struct _SPACE_BITMAP_DESC SPACE_BITMAP_DESC
struct _SHORT_AD SHORT_AD
struct _FILE_SET_DESC * PFILE_SET_DESC
EXTENT_AD extent_ad
Definition: ecma_167.h:132
UDF_TIME_STAMP * PUDF_TIME_STAMP
Definition: ecma_167.h:49
struct _EXTENT_AD EXTENT_AD
LONG_AD * PLONG_AD
Definition: ecma_167.h:380
SPACE_BITMAP_DESC SpaceBitmapDesc
Definition: ecma_167.h:695
struct _EXT_AD EXT_AD
struct _EXTENDED_FILE_ENTRY * PEXTENDED_FILE_ENTRY
struct _UNALLOC_SPACE_DESC * PUNALLOC_SPACE_DESC
struct _FILE_ENTRY * PFILE_ENTRY
UNALLOC_SPACE_DESC UnallocatedSpaceDesc
Definition: ecma_167.h:327
tag DESC_TAG
Definition: ecma_167.h:149
uint8 dstring
Definition: ecma_167.h:20
struct _FILE_SET_DESC FILE_SET_DESC
struct _PARTITION_HEADER_DESC * PPARTITION_HEADER_DESC
struct _UNALLOC_SPACE_DESC UNALLOC_SPACE_DESC
struct _BootDesc * PBootDesc
timestamp UDF_TIME_STAMP
Definition: ecma_167.h:48
EXT_AD ext_ad
Definition: ecma_167.h:718
EXTENDED_FILE_ENTRY ExtendedFileEntry
Definition: ecma_167.h:771
EXTENT_AD EXTENT_MAP
Definition: ecma_167.h:134
extent_ad reserveVolDescSeqExt
Definition: ecma_167.h:219
extent_ad mainVolDescSeqExt
Definition: ecma_167.h:218
uint8 reserved[480]
Definition: ecma_167.h:220
EntityID appIdent
Definition: ecma_167.h:666
uint32 appUseLength
Definition: ecma_167.h:665
uint8 reserved[3]
Definition: ecma_167.h:663
uint8 structData[2041]
Definition: ecma_167.h:93
uint8 stdIdent[STD_ID_LEN]
Definition: ecma_167.h:91
uint32 attrLength
Definition: ecma_167.h:591
uint8 reserved[3]
Definition: ecma_167.h:590
uint32 escapeSeqLength
Definition: ecma_167.h:592
uint8 flags
Definition: ecma_167.h:60
uint32 fileTimeExistence
Definition: ecma_167.h:615
uint32 attrLength
Definition: ecma_167.h:582
uint8 reserved[3]
Definition: ecma_167.h:581
tag descTag
Definition: ecma_167.h:337
uint32 volDescSeqNum
Definition: ecma_167.h:338
uint8 partitionMapLength
Definition: ecma_167.h:307
uint8 partitionMapLength
Definition: ecma_167.h:315
uint8 partitionIdent[62]
Definition: ecma_167.h:316
uint8 partitionMapType
Definition: ecma_167.h:294
uint8 partitionMapLength
Definition: ecma_167.h:295
uint32 impUseLength
Definition: ecma_167.h:654
EntityID impIdent
Definition: ecma_167.h:655
uint8 reserved[3]
Definition: ecma_167.h:652
uint32 volDescSeqNum
Definition: ecma_167.h:236
EntityID impIdent
Definition: ecma_167.h:237
uint8 impUse[460]
Definition: ecma_167.h:238
icbtag icbTag
Definition: ecma_167.h:501
long_ad indirectICB
Definition: ecma_167.h:502
uint32 infoTimeExistence
Definition: ecma_167.h:632
uint32 numPartitionMaps
Definition: ecma_167.h:285
uint32 mapTableLength
Definition: ecma_167.h:284
uint8 impUse[128]
Definition: ecma_167.h:287
extent_ad integritySeqExt
Definition: ecma_167.h:288
uint8 logicalVolContentsUse[16]
Definition: ecma_167.h:283
EntityID domainIdent
Definition: ecma_167.h:282
EntityID impIdent
Definition: ecma_167.h:286
uint32 logicalBlockSize
Definition: ecma_167.h:281
charspec descCharSet
Definition: ecma_167.h:279
dstring logicalVolIdent[128]
Definition: ecma_167.h:280
uint32 volDescSeqNum
Definition: ecma_167.h:278
uint8 reserved[24]
Definition: ecma_167.h:723
timestamp recordingDateAndTime
Definition: ecma_167.h:345
uint8 logicalVolContentsUse[32]
Definition: ecma_167.h:348
extent_ad nextIntegrityExt
Definition: ecma_167.h:347
uint8 stdIdent[STD_ID_LEN]
Definition: ecma_167.h:180
uint8 structType
Definition: ecma_167.h:179
uint8 structVersion
Definition: ecma_167.h:181
uint8 structData[2040]
Definition: ecma_167.h:183
uint8 reserved
Definition: ecma_167.h:182
uint8 reserved[156]
Definition: ecma_167.h:254
uint32 partitionStartingLocation
Definition: ecma_167.h:250
uint32 accessType
Definition: ecma_167.h:249
uint16 partitionFlags
Definition: ecma_167.h:245
EntityID partitionContents
Definition: ecma_167.h:247
uint32 partitionLength
Definition: ecma_167.h:251
EntityID impIdent
Definition: ecma_167.h:252
uint8 partitionContentsUse[128]
Definition: ecma_167.h:248
uint16 partitionNumber
Definition: ecma_167.h:246
uint32 volDescSeqNum
Definition: ecma_167.h:244
uint8 impUse[128]
Definition: ecma_167.h:253
timestamp recordingDateAndTime
Definition: ecma_167.h:701
uint8 componentType
Definition: ecma_167.h:728
uint16 componentFileVersionNum
Definition: ecma_167.h:730
uint8 lengthComponentIdent
Definition: ecma_167.h:729
uint8 impUse[64]
Definition: ecma_167.h:206
uint32 predecessorVolDescSeqLocation
Definition: ecma_167.h:207
uint16 maxInterchangeLvl
Definition: ecma_167.h:195
uint32 charSetList
Definition: ecma_167.h:196
extent_ad volCopyright
Definition: ecma_167.h:202
dstring volSetIdent[128]
Definition: ecma_167.h:198
uint8 reserved[22]
Definition: ecma_167.h:209
EntityID appIdent
Definition: ecma_167.h:203
timestamp recordingDateAndTime
Definition: ecma_167.h:204
charspec descCharSet
Definition: ecma_167.h:199
uint16 volSeqNum
Definition: ecma_167.h:192
uint32 maxCharSetList
Definition: ecma_167.h:197
EntityID impIdent
Definition: ecma_167.h:205
uint32 primaryVolDescNum
Definition: ecma_167.h:190
uint16 flags
Definition: ecma_167.h:208
uint16 interchangeLvl
Definition: ecma_167.h:194
uint32 volDescSeqNum
Definition: ecma_167.h:189
dstring volIdent[32]
Definition: ecma_167.h:191
extent_ad volAbstract
Definition: ecma_167.h:201
charspec explanatoryCharSet
Definition: ecma_167.h:200
uint16 maxVolSeqNum
Definition: ecma_167.h:193
icbtag icbTag
Definition: ecma_167.h:508
uint8 reserved[496]
Definition: ecma_167.h:332
uint8 stdIdent[STD_ID_LEN]
Definition: ecma_167.h:99
uint32 volDescSeqNum
Definition: ecma_167.h:226
extent_ad nextVolDescSeqExt
Definition: ecma_167.h:227
uint8 reserved[484]
Definition: ecma_167.h:228
tag descTag
Definition: ecma_167.h:225
uint8 structType
Definition: ecma_167.h:73
uint8 structVersion
Definition: ecma_167.h:75
uint8 stdIdent[STD_ID_LEN]
Definition: ecma_167.h:74
uint8 structData[2041]
Definition: ecma_167.h:76
uint32 lengthAllocDescs
Definition: ecma_167.h:448
uint32 previousAllocExtLocation
Definition: ecma_167.h:447
EntityID bootIdent
Definition: ecma_167.h:111
timestamp descCreationDateAndTime
Definition: ecma_167.h:116
uint8 stdIdent[STD_ID_LEN]
Definition: ecma_167.h:107
uint8 structType
Definition: ecma_167.h:106
uint64 loadAddress
Definition: ecma_167.h:114
uint8 bootUse[1906]
Definition: ecma_167.h:119
EntityID architectureType
Definition: ecma_167.h:110
uint8 reserved1
Definition: ecma_167.h:109
uint8 reserved2[32]
Definition: ecma_167.h:118
uint8 structVersion
Definition: ecma_167.h:108
uint16 flags
Definition: ecma_167.h:117
uint64 startAddress
Definition: ecma_167.h:115
uint32 bootExtLength
Definition: ecma_167.h:113
uint32 bootExtLocation
Definition: ecma_167.h:112
Definition: ecma_167.h:742
icbtag icbTag
Definition: ecma_167.h:744
uint64 informationLength
Definition: ecma_167.h:752
timestamp modificationTime
Definition: ecma_167.h:756
uint32 permissions
Definition: ecma_167.h:747
uint32 checkpoint
Definition: ecma_167.h:759
uint64 uniqueID
Definition: ecma_167.h:764
uint64 objectSize
Definition: ecma_167.h:753
uint16 fileLinkCount
Definition: ecma_167.h:748
uint32 gid
Definition: ecma_167.h:746
timestamp createTime
Definition: ecma_167.h:757
long_ad extendedAttrICB
Definition: ecma_167.h:761
timestamp accessTime
Definition: ecma_167.h:755
uint64 logicalBlocksRecorded
Definition: ecma_167.h:754
uint32 lengthExtendedAttr
Definition: ecma_167.h:765
long_ad streamDirectoryICB
Definition: ecma_167.h:762
uint32 uid
Definition: ecma_167.h:745
timestamp attrTime
Definition: ecma_167.h:758
EntityID impIdent
Definition: ecma_167.h:763
uint8 recordFormat
Definition: ecma_167.h:749
uint32 recordLength
Definition: ecma_167.h:751
tag descTag
Definition: ecma_167.h:743
uint32 reserved
Definition: ecma_167.h:760
uint8 recordDisplayAttr
Definition: ecma_167.h:750
uint32 lengthAllocDescs
Definition: ecma_167.h:766
uint32 extLength
Definition: ecma_167.h:128
uint32 extLocation
Definition: ecma_167.h:129
uint32 informationLength
Definition: ecma_167.h:714
uint32 recordedLength
Definition: ecma_167.h:713
uint32 extLength
Definition: ecma_167.h:712
lb_addr extLocation
Definition: ecma_167.h:715
Definition: ecma_167.h:513
tag descTag
Definition: ecma_167.h:514
uint32 permissions
Definition: ecma_167.h:518
uint16 fileLinkCount
Definition: ecma_167.h:519
uint32 lengthAllocDescs
Definition: ecma_167.h:534
uint32 checkpoint
Definition: ecma_167.h:528
uint32 lengthExtendedAttr
Definition: ecma_167.h:533
uint32 gid
Definition: ecma_167.h:517
EntityID impIdent
Definition: ecma_167.h:530
uint8 recordDisplayAttr
Definition: ecma_167.h:521
timestamp modificationTime
Definition: ecma_167.h:526
uint64 logicalBlocksRecorded
Definition: ecma_167.h:524
uint64 uniqueID
Definition: ecma_167.h:531
timestamp accessTime
Definition: ecma_167.h:525
uint32 recordLength
Definition: ecma_167.h:522
uint64 informationLength
Definition: ecma_167.h:523
long_ad extendedAttrICB
Definition: ecma_167.h:529
icbtag icbTag
Definition: ecma_167.h:515
timestamp attrTime
Definition: ecma_167.h:527
uint8 recordFormat
Definition: ecma_167.h:520
uint32 uid
Definition: ecma_167.h:516
uint16 lengthOfImpUse
Definition: ecma_167.h:431
uint16 fileVersionNum
Definition: ecma_167.h:427
uint8 lengthFileIdent
Definition: ecma_167.h:429
uint8 fileCharacteristics
Definition: ecma_167.h:428
long_ad rootDirectoryICB
Definition: ecma_167.h:398
uint16 interchangeLvl
Definition: ecma_167.h:386
dstring fileSetIdent[32]
Definition: ecma_167.h:395
dstring abstractFileIdent[32]
Definition: ecma_167.h:397
uint32 maxCharSetList
Definition: ecma_167.h:389
uint32 fileSetDescNum
Definition: ecma_167.h:391
EntityID domainIdent
Definition: ecma_167.h:399
long_ad nextExt
Definition: ecma_167.h:400
charspec fileSetCharSet
Definition: ecma_167.h:394
dstring copyrightFileIdent[32]
Definition: ecma_167.h:396
timestamp recordingDateAndTime
Definition: ecma_167.h:385
uint32 fileSetNum
Definition: ecma_167.h:390
dstring logicalVolIdent[128]
Definition: ecma_167.h:393
charspec logicalVolIdentCharSet
Definition: ecma_167.h:392
uint16 maxInterchangeLvl
Definition: ecma_167.h:387
uint32 charSetList
Definition: ecma_167.h:388
long_ad streamDirectoryICB
Definition: ecma_167.h:401
uint8 reserved[32]
Definition: ecma_167.h:402
short_ad unallocatedSpaceBitmap
Definition: ecma_167.h:416
short_ad partitionIntegrityTable
Definition: ecma_167.h:417
short_ad unallocatedSpaceTable
Definition: ecma_167.h:415
short_ad freedSpaceTable
Definition: ecma_167.h:418
short_ad freedSpaceBitmap
Definition: ecma_167.h:419
uint32 extLength
Definition: ecma_167.h:407
uint32 extPosition
Definition: ecma_167.h:408
uint32 volDescSeqNum
Definition: ecma_167.h:322
uint32 numAllocDescs
Definition: ecma_167.h:323
uint8 charSetType
Definition: ecma_167.h:30
uint32 priorRecordedNumDirectEntries
Definition: ecma_167.h:453
uint16 numEntries
Definition: ecma_167.h:456
uint8 reserved
Definition: ecma_167.h:457
lb_addr parentICBLocation
Definition: ecma_167.h:459
uint8 fileType
Definition: ecma_167.h:458
uint16 strategyParameter
Definition: ecma_167.h:455
uint16 strategyType
Definition: ecma_167.h:454
uint16 flags
Definition: ecma_167.h:460
uint16 partitionReferenceNum
Definition: ecma_167.h:363
uint32 logicalBlockNum
Definition: ecma_167.h:362
lb_addr extLocation
Definition: ecma_167.h:375
uint32 extLength
Definition: ecma_167.h:374
Definition: ecma_167.h:138
uint8 reserved
Definition: ecma_167.h:142
uint16 tagSerialNum
Definition: ecma_167.h:143
uint8 tagChecksum
Definition: ecma_167.h:141
uint16 descVersion
Definition: ecma_167.h:140
uint32 tagLocation
Definition: ecma_167.h:146
uint16 descCRCLength
Definition: ecma_167.h:145
uint16 descCRC
Definition: ecma_167.h:144
uint16 tagIdent
Definition: ecma_167.h:139
uint8 hour
Definition: ecma_167.h:40
uint8 microseconds
Definition: ecma_167.h:45
uint8 hundredsOfMicroseconds
Definition: ecma_167.h:44
uint8 day
Definition: ecma_167.h:39
uint8 minute
Definition: ecma_167.h:41
uint16 year
Definition: ecma_167.h:37
uint8 centiseconds
Definition: ecma_167.h:43
uint8 month
Definition: ecma_167.h:38
uint16 typeAndTimezone
Definition: ecma_167.h:36
uint8 second
Definition: ecma_167.h:42
_In_ ULONG _In_ ULONG_PTR ident
Definition: winddi.h:3994