mirror of
https://github.com/reactos/reactos.git
synced 2024-08-15 16:07:07 +00:00
![Joachim Henze](/assets/img/avatar_default.png)
The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-gec6b3ecbe4
Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g8f947b5322
[NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-geb1ea19588
[CDFS_NEW] == 0.4.15-dev-1456-g889eab7
CORE-17405 0.4.8-release-62-g8c07aad4a8
[CDFS_NEW/XDK] == 0.4.11-dev-39-ga2f9762
+ 0.4.11-dev-40-g6d7ec8c
CORE-14067 0.4.8-release-3-g5d976d04e8
[CDFS_NEW] == 0.4.12-dev-431-gbccad87f3c
+ 0.4.12-dev-432-g3463b2db9f
CORE-15659 0.4.8-RC-3-g51f9494d48
[CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g8c07aad4a8
CORE-14067 0.4.8-dev-1069-ga5e89014dc
[CDFS_NEW] CORE-14315 0.4.8-dev-475-ga59d4674de
[NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g9d67a24799
[CDFS_NEW] 0.4.8-dev-220-g67a7e45e35
[CDFS_NEW/DOC] 0.4.8-dev-219-g6a3bbf24e0
[CDFS_NEW] 0.4.8-dev-218-gec26cde4a1
[CDFS_NEW] 0.4.8-dev-217-gbc2378a356
[CDFS_NEW] 0.4.8-dev-216-g5429771b99
[CDFS_NEW] 0.4.8-dev-215-gfd34548263
[CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-gec6b3ecbe4
[FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g2b217e4ecf
[NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g64cb138a67
[NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-gf723d230a0
[CDFS_NEW] 0.4.8-dev-133-gfaee3753ea
[CDFS_NEW] CORE-14003 0.4.8-dev-132-g1d777ffab5
[NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-gc3d5a3f2bd
[NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g3b64f7f8fb
[NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g7eefe70294
[NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g5f255827d3
[CDFS_NEW] 0.4.8-dev-126-g1bef48796e
[NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-gcbf0430b56
[CDFS_NEW] 0.4.8-dev-123-gf88fe43abd
[NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g6c73385625
[CDFS_NEW] CORE-13184 0.4.8-dev-97-g94298313c0
[CDFS_NEW] 0.4.8-dev-95-ge88eeb21af
[CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g03d5be6437
[CDFS_NEW] 0.4.8-dev-93-gfa1c60db50
[CDFS_NEW] 0.4.8-dev-92-g8b2fd60829
[CDFS_NEW] 0.4.8-dev-91-ge4da7ecc50
[CDFS_NEW] 0.4.8-dev-90-g7b19676e2b
[CDFS_NEW] 0.4.8-dev-89-g3d4b8783fd
[CDFS_NEW] 0.4.8-dev-88-g818025ecc8
[CDFS_NEW] 0.4.8-dev-87-g2639dd6736
[CDFS_NEW] 0.4.8-dev-86-g755bdb5d0b
[CDFS_NEW] 0.4.8-dev-85-g3cbcb1bade
[CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g2284a457a3
[NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-gd3d5853956
[NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-gf488102c86
[CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
477 lines
15 KiB
C
Executable file
477 lines
15 KiB
C
Executable file
#include "cdprocs.h"
|
|
#include <stdio.h>
|
|
|
|
#define doit(a,b) { printf("%s %04lx %4lx %s\n", #a, FIELD_OFFSET(a,b), sizeof(d.b), #b); }
|
|
|
|
VOID
|
|
__cdecl
|
|
main (argc, argv)
|
|
int argc;
|
|
char *argv[];
|
|
{
|
|
printf("<Record> <offset> <size> <field>\n\n");
|
|
{
|
|
CD_MCB d;
|
|
doit( CD_MCB, MaximumEntryCount );
|
|
doit( CD_MCB, CurrentEntryCount );
|
|
doit( CD_MCB, McbArray );
|
|
}
|
|
printf("\n");
|
|
{
|
|
CD_MCB_ENTRY d;
|
|
doit( CD_MCB_ENTRY, DiskOffset );
|
|
doit( CD_MCB_ENTRY, ByteCount );
|
|
doit( CD_MCB_ENTRY, FileOffset );
|
|
doit( CD_MCB_ENTRY, DataBlockByteCount );
|
|
doit( CD_MCB_ENTRY, TotalBlockByteCount );
|
|
}
|
|
printf("\n");
|
|
{
|
|
CD_NAME d;
|
|
doit( CD_NAME, FileName );
|
|
doit( CD_NAME, VersionString );
|
|
}
|
|
printf("\n");
|
|
{
|
|
NAME_LINK d;
|
|
doit( NAME_LINK, Links );
|
|
doit( NAME_LINK, FileName );
|
|
}
|
|
printf("\n");
|
|
{
|
|
PREFIX_ENTRY d;
|
|
doit( PREFIX_ENTRY, Fcb );
|
|
doit( PREFIX_ENTRY, PrefixFlags );
|
|
doit( PREFIX_ENTRY, ExactCaseName );
|
|
doit( PREFIX_ENTRY, IgnoreCaseName );
|
|
doit( PREFIX_ENTRY, FileNameBuffer );
|
|
}
|
|
printf("\n");
|
|
{
|
|
CD_DATA d;
|
|
doit( CD_DATA, NodeTypeCode );
|
|
doit( CD_DATA, NodeByteSize );
|
|
doit( CD_DATA, DriverObject );
|
|
doit( CD_DATA, VcbQueue );
|
|
doit( CD_DATA, IrpContextDepth );
|
|
doit( CD_DATA, IrpContextMaxDepth );
|
|
doit( CD_DATA, IrpContextList );
|
|
doit( CD_DATA, FileSystemDeviceObject );
|
|
doit( CD_DATA, AsyncCloseQueue );
|
|
doit( CD_DATA, AsyncCloseCount );
|
|
doit( CD_DATA, FspCloseActive );
|
|
doit( CD_DATA, ReduceDelayedClose );
|
|
doit( CD_DATA, PadUshort );
|
|
doit( CD_DATA, DelayedCloseQueue );
|
|
doit( CD_DATA, DelayedCloseCount );
|
|
doit( CD_DATA, MinDelayedCloseCount );
|
|
doit( CD_DATA, MaxDelayedCloseCount );
|
|
doit( CD_DATA, CdDataLockThread );
|
|
doit( CD_DATA, CdDataMutex );
|
|
doit( CD_DATA, DataResource );
|
|
doit( CD_DATA, CacheManagerCallbacks );
|
|
doit( CD_DATA, CacheManagerVolumeCallbacks );
|
|
doit( CD_DATA, CloseItem );
|
|
}
|
|
printf("\n");
|
|
{
|
|
VCB d;
|
|
doit( VCB, NodeTypeCode );
|
|
doit( VCB, NodeByteSize );
|
|
doit( VCB, Vpb );
|
|
doit( VCB, TargetDeviceObject );
|
|
doit( VCB, VolumeLockFileObject );
|
|
doit( VCB, VcbLinks );
|
|
doit( VCB, VcbState );
|
|
doit( VCB, VcbCondition );
|
|
doit( VCB, VcbCleanup );
|
|
doit( VCB, VcbReference );
|
|
doit( VCB, VcbUserReference );
|
|
doit( VCB, VolumeDasdFcb );
|
|
doit( VCB, RootIndexFcb );
|
|
doit( VCB, PathTableFcb );
|
|
doit( VCB, BaseSector );
|
|
doit( VCB, VdSectorOffset );
|
|
doit( VCB, PrimaryVdSectorOffset );
|
|
doit( VCB, XASector );
|
|
doit( VCB, XADiskOffset );
|
|
doit( VCB, VcbResource );
|
|
doit( VCB, FileResource );
|
|
doit( VCB, VcbMutex );
|
|
doit( VCB, VcbLockThread );
|
|
doit( VCB, NotifySync );
|
|
doit( VCB, DirNotifyList );
|
|
doit( VCB, BlockSize );
|
|
doit( VCB, BlockToSectorShift );
|
|
doit( VCB, BlockToByteShift );
|
|
doit( VCB, BlocksPerSector );
|
|
doit( VCB, BlockMask );
|
|
doit( VCB, BlockInverseMask );
|
|
doit( VCB, FcbTable );
|
|
doit( VCB, CdromToc );
|
|
doit( VCB, TocLength );
|
|
doit( VCB, TrackCount );
|
|
doit( VCB, DiskFlags );
|
|
doit( VCB, BlockFactor );
|
|
}
|
|
printf("\n");
|
|
{
|
|
VOLUME_DEVICE_OBJECT d;
|
|
doit( VOLUME_DEVICE_OBJECT, DeviceObject );
|
|
doit( VOLUME_DEVICE_OBJECT, PostedRequestCount );
|
|
doit( VOLUME_DEVICE_OBJECT, OverflowQueueCount );
|
|
doit( VOLUME_DEVICE_OBJECT, OverflowQueue );
|
|
doit( VOLUME_DEVICE_OBJECT, OverflowQueueSpinLock );
|
|
doit( VOLUME_DEVICE_OBJECT, Vcb );
|
|
}
|
|
printf("\n");
|
|
{
|
|
FCB_DATA d;
|
|
doit( FCB_DATA, FileLock );
|
|
}
|
|
printf("\n");
|
|
{
|
|
FCB_INDEX d;
|
|
doit( FCB_INDEX, FileObject );
|
|
doit( FCB_INDEX, StreamOffset );
|
|
doit( FCB_INDEX, FcbQueue );
|
|
doit( FCB_INDEX, Ordinal );
|
|
doit( FCB_INDEX, ChildPathTableOffset );
|
|
doit( FCB_INDEX, ChildOrdinal );
|
|
doit( FCB_INDEX, ExactCaseRoot );
|
|
doit( FCB_INDEX, IgnoreCaseRoot );
|
|
}
|
|
printf("\n");
|
|
{
|
|
FCB_NONPAGED d;
|
|
doit( FCB_NONPAGED, NodeTypeCode );
|
|
doit( FCB_NONPAGED, NodeByteSize );
|
|
doit( FCB_NONPAGED, SegmentObject );
|
|
doit( FCB_NONPAGED, FcbResource );
|
|
doit( FCB_NONPAGED, FcbMutex );
|
|
}
|
|
printf("\n");
|
|
{
|
|
FCB d;
|
|
doit( FCB, Header );
|
|
doit( FCB, Vcb );
|
|
doit( FCB, ParentFcb );
|
|
doit( FCB, FcbLinks );
|
|
doit( FCB, FileId );
|
|
doit( FCB, FcbCleanup );
|
|
doit( FCB, FcbReference );
|
|
doit( FCB, FcbUserReference );
|
|
doit( FCB, FcbState );
|
|
doit( FCB, FileAttributes );
|
|
doit( FCB, XAAttributes );
|
|
doit( FCB, XAFileNumber );
|
|
doit( FCB, FcbLockThread );
|
|
doit( FCB, FcbLockCount );
|
|
doit( FCB, FcbNonpaged );
|
|
doit( FCB, ShareAccess );
|
|
doit( FCB, McbEntry );
|
|
doit( FCB, Mcb );
|
|
doit( FCB, ShortNamePrefix );
|
|
doit( FCB, FileNamePrefix );
|
|
doit( FCB, CreationTime );
|
|
doit( FCB, FcbType );
|
|
}
|
|
printf("\n");
|
|
{
|
|
CCB d;
|
|
doit( CCB, NodeTypeCode );
|
|
doit( CCB, NodeByteSize );
|
|
doit( CCB, Flags );
|
|
doit( CCB, Fcb );
|
|
doit( CCB, CurrentDirentOffset );
|
|
doit( CCB, SearchExpression );
|
|
}
|
|
printf("\n");
|
|
{
|
|
IRP_CONTEXT d;
|
|
doit( IRP_CONTEXT, NodeTypeCode );
|
|
doit( IRP_CONTEXT, NodeByteSize );
|
|
doit( IRP_CONTEXT, Irp );
|
|
doit( IRP_CONTEXT, Vcb );
|
|
doit( IRP_CONTEXT, ExceptionStatus );
|
|
doit( IRP_CONTEXT, Flags );
|
|
doit( IRP_CONTEXT, RealDevice );
|
|
doit( IRP_CONTEXT, IoContext );
|
|
doit( IRP_CONTEXT, TeardownFcb );
|
|
doit( IRP_CONTEXT, TopLevel );
|
|
doit( IRP_CONTEXT, MajorFunction );
|
|
doit( IRP_CONTEXT, MinorFunction );
|
|
doit( IRP_CONTEXT, ThreadContext );
|
|
doit( IRP_CONTEXT, WorkQueueItem );
|
|
}
|
|
printf("\n");
|
|
{
|
|
IRP_CONTEXT_LITE d;
|
|
doit( IRP_CONTEXT_LITE, NodeTypeCode );
|
|
doit( IRP_CONTEXT_LITE, NodeByteSize );
|
|
doit( IRP_CONTEXT_LITE, Fcb );
|
|
doit( IRP_CONTEXT_LITE, DelayedCloseLinks );
|
|
doit( IRP_CONTEXT_LITE, UserReference );
|
|
doit( IRP_CONTEXT_LITE, RealDevice );
|
|
}
|
|
printf("\n");
|
|
{
|
|
CD_IO_CONTEXT d;
|
|
doit( CD_IO_CONTEXT, IrpCount );
|
|
doit( CD_IO_CONTEXT, MasterIrp );
|
|
doit( CD_IO_CONTEXT, Status );
|
|
doit( CD_IO_CONTEXT, AllocatedContext );
|
|
doit( CD_IO_CONTEXT, Resource );
|
|
doit( CD_IO_CONTEXT, ResourceThreadId );
|
|
doit( CD_IO_CONTEXT, SyncEvent );
|
|
}
|
|
printf("\n");
|
|
{
|
|
THREAD_CONTEXT d;
|
|
doit( THREAD_CONTEXT, Cdfs );
|
|
doit( THREAD_CONTEXT, SavedTopLevelIrp );
|
|
doit( THREAD_CONTEXT, TopLevelIrpContext );
|
|
}
|
|
printf("\n");
|
|
{
|
|
PATH_ENUM_CONTEXT d;
|
|
doit( PATH_ENUM_CONTEXT, Data );
|
|
doit( PATH_ENUM_CONTEXT, BaseOffset );
|
|
doit( PATH_ENUM_CONTEXT, DataLength );
|
|
doit( PATH_ENUM_CONTEXT, Bcb );
|
|
doit( PATH_ENUM_CONTEXT, DataOffset );
|
|
doit( PATH_ENUM_CONTEXT, AllocatedData );
|
|
doit( PATH_ENUM_CONTEXT, LastDataBlock );
|
|
}
|
|
printf("\n");
|
|
{
|
|
PATH_ENTRY d;
|
|
doit( PATH_ENTRY, Ordinal );
|
|
doit( PATH_ENTRY, PathTableOffset );
|
|
doit( PATH_ENTRY, DiskOffset );
|
|
doit( PATH_ENTRY, PathEntryLength );
|
|
doit( PATH_ENTRY, ParentOrdinal );
|
|
doit( PATH_ENTRY, DirNameLen );
|
|
doit( PATH_ENTRY, DirName );
|
|
doit( PATH_ENTRY, Flags );
|
|
doit( PATH_ENTRY, CdDirName );
|
|
doit( PATH_ENTRY, CdCaseDirName );
|
|
doit( PATH_ENTRY, NameBuffer );
|
|
}
|
|
printf("\n");
|
|
{
|
|
COMPOUND_PATH_ENTRY d;
|
|
doit( COMPOUND_PATH_ENTRY, PathContext );
|
|
doit( COMPOUND_PATH_ENTRY, PathEntry );
|
|
}
|
|
printf("\n");
|
|
{
|
|
DIRENT_ENUM_CONTEXT d;
|
|
doit( DIRENT_ENUM_CONTEXT, Sector );
|
|
doit( DIRENT_ENUM_CONTEXT, BaseOffset );
|
|
doit( DIRENT_ENUM_CONTEXT, DataLength );
|
|
doit( DIRENT_ENUM_CONTEXT, Bcb );
|
|
doit( DIRENT_ENUM_CONTEXT, SectorOffset );
|
|
doit( DIRENT_ENUM_CONTEXT, NextDirentOffset );
|
|
}
|
|
printf("\n");
|
|
{
|
|
DIRENT d;
|
|
doit( DIRENT, DirentOffset );
|
|
doit( DIRENT, DirentLength );
|
|
doit( DIRENT, StartingOffset );
|
|
doit( DIRENT, DataLength );
|
|
doit( DIRENT, CdTime );
|
|
doit( DIRENT, DirentFlags );
|
|
doit( DIRENT, Flags );
|
|
doit( DIRENT, FileUnitSize );
|
|
doit( DIRENT, InterleaveGapSize );
|
|
doit( DIRENT, SystemUseOffset );
|
|
doit( DIRENT, XAAttributes );
|
|
doit( DIRENT, XAFileNumber );
|
|
doit( DIRENT, FileNameLen );
|
|
doit( DIRENT, FileName );
|
|
doit( DIRENT, CdFileName );
|
|
doit( DIRENT, CdCaseFileName );
|
|
doit( DIRENT, ExtentType );
|
|
doit( DIRENT, NameBuffer );
|
|
}
|
|
printf("\n");
|
|
{
|
|
COMPOUND_DIRENT d;
|
|
doit( COMPOUND_DIRENT, DirContext );
|
|
doit( COMPOUND_DIRENT, Dirent );
|
|
}
|
|
printf("\n");
|
|
{
|
|
FILE_ENUM_CONTEXT d;
|
|
doit( FILE_ENUM_CONTEXT, PriorDirent );
|
|
doit( FILE_ENUM_CONTEXT, InitialDirent );
|
|
doit( FILE_ENUM_CONTEXT, CurrentDirent );
|
|
doit( FILE_ENUM_CONTEXT, Flags );
|
|
doit( FILE_ENUM_CONTEXT, FileSize );
|
|
doit( FILE_ENUM_CONTEXT, ShortName );
|
|
doit( FILE_ENUM_CONTEXT, ShortNameBuffer );
|
|
doit( FILE_ENUM_CONTEXT, Dirents );
|
|
}
|
|
printf("\n");
|
|
{
|
|
RIFF_HEADER d;
|
|
doit( RIFF_HEADER, ChunkId );
|
|
doit( RIFF_HEADER, ChunkSize );
|
|
doit( RIFF_HEADER, SignatureCDXA );
|
|
doit( RIFF_HEADER, SignatureFMT );
|
|
doit( RIFF_HEADER, XAChunkSize );
|
|
doit( RIFF_HEADER, OwnerId );
|
|
doit( RIFF_HEADER, Attributes );
|
|
doit( RIFF_HEADER, SignatureXA );
|
|
doit( RIFF_HEADER, FileNumber );
|
|
doit( RIFF_HEADER, Reserved );
|
|
doit( RIFF_HEADER, SignatureData );
|
|
doit( RIFF_HEADER, RawSectors );
|
|
}
|
|
printf("\n");
|
|
{
|
|
AUDIO_PLAY_HEADER d;
|
|
doit( AUDIO_PLAY_HEADER, Chunk );
|
|
doit( AUDIO_PLAY_HEADER, ChunkSize );
|
|
doit( AUDIO_PLAY_HEADER, SignatureCDDA );
|
|
doit( AUDIO_PLAY_HEADER, SignatureFMT );
|
|
doit( AUDIO_PLAY_HEADER, FMTChunkSize );
|
|
doit( AUDIO_PLAY_HEADER, FormatTag );
|
|
doit( AUDIO_PLAY_HEADER, TrackNumber );
|
|
doit( AUDIO_PLAY_HEADER, DiskID );
|
|
doit( AUDIO_PLAY_HEADER, StartingSector );
|
|
doit( AUDIO_PLAY_HEADER, SectorCount );
|
|
doit( AUDIO_PLAY_HEADER, TrackAddress );
|
|
doit( AUDIO_PLAY_HEADER, TrackLength );
|
|
}
|
|
printf("\n");
|
|
{
|
|
RAW_ISO_VD d;
|
|
doit( RAW_ISO_VD, DescType );
|
|
doit( RAW_ISO_VD, StandardId );
|
|
doit( RAW_ISO_VD, Version );
|
|
doit( RAW_ISO_VD, VolumeFlags );
|
|
doit( RAW_ISO_VD, SystemId );
|
|
doit( RAW_ISO_VD, VolumeId );
|
|
doit( RAW_ISO_VD, Reserved );
|
|
doit( RAW_ISO_VD, VolSpaceI );
|
|
doit( RAW_ISO_VD, VolSpaceM );
|
|
doit( RAW_ISO_VD, CharSet );
|
|
doit( RAW_ISO_VD, VolSetSizeI );
|
|
doit( RAW_ISO_VD, VolSetSizeM );
|
|
doit( RAW_ISO_VD, VolSeqNumI );
|
|
doit( RAW_ISO_VD, VolSeqNumM );
|
|
doit( RAW_ISO_VD, LogicalBlkSzI );
|
|
doit( RAW_ISO_VD, LogicalBlkSzM );
|
|
doit( RAW_ISO_VD, PathTableSzI );
|
|
doit( RAW_ISO_VD, PathTableSzM );
|
|
doit( RAW_ISO_VD, PathTabLocI );
|
|
doit( RAW_ISO_VD, PathTabLocM );
|
|
doit( RAW_ISO_VD, RootDe );
|
|
doit( RAW_ISO_VD, VolSetId );
|
|
doit( RAW_ISO_VD, PublId );
|
|
doit( RAW_ISO_VD, PreparerId );
|
|
doit( RAW_ISO_VD, AppId );
|
|
doit( RAW_ISO_VD, Copyright );
|
|
doit( RAW_ISO_VD, Abstract );
|
|
doit( RAW_ISO_VD, Bibliograph );
|
|
doit( RAW_ISO_VD, CreateDate );
|
|
doit( RAW_ISO_VD, ModDate );
|
|
doit( RAW_ISO_VD, ExpireDate );
|
|
doit( RAW_ISO_VD, EffectDate );
|
|
doit( RAW_ISO_VD, FileStructVer );
|
|
doit( RAW_ISO_VD, Reserved3 );
|
|
doit( RAW_ISO_VD, ResApp );
|
|
doit( RAW_ISO_VD, Reserved4 );
|
|
}
|
|
printf("\n");
|
|
{
|
|
RAW_HSG_VD d;
|
|
doit( RAW_HSG_VD, BlkNumI );
|
|
doit( RAW_HSG_VD, BlkNumM );
|
|
doit( RAW_HSG_VD, DescType );
|
|
doit( RAW_HSG_VD, StandardId );
|
|
doit( RAW_HSG_VD, Version );
|
|
doit( RAW_HSG_VD, VolumeFlags );
|
|
doit( RAW_HSG_VD, SystemId );
|
|
doit( RAW_HSG_VD, VolumeId );
|
|
doit( RAW_HSG_VD, Reserved );
|
|
doit( RAW_HSG_VD, VolSpaceI );
|
|
doit( RAW_HSG_VD, VolSpaceM );
|
|
doit( RAW_HSG_VD, CharSet );
|
|
doit( RAW_HSG_VD, VolSetSizeI );
|
|
doit( RAW_HSG_VD, VolSetSizeM );
|
|
doit( RAW_HSG_VD, VolSeqNumI );
|
|
doit( RAW_HSG_VD, VolSeqNumM );
|
|
doit( RAW_HSG_VD, LogicalBlkSzI );
|
|
doit( RAW_HSG_VD, LogicalBlkSzM );
|
|
doit( RAW_HSG_VD, PathTableSzI );
|
|
doit( RAW_HSG_VD, PathTableSzM );
|
|
doit( RAW_HSG_VD, PathTabLocI );
|
|
doit( RAW_HSG_VD, PathTabLocM );
|
|
doit( RAW_HSG_VD, RootDe );
|
|
doit( RAW_HSG_VD, VolSetId );
|
|
doit( RAW_HSG_VD, PublId );
|
|
doit( RAW_HSG_VD, PreparerId );
|
|
doit( RAW_HSG_VD, AppId );
|
|
doit( RAW_HSG_VD, Copyright );
|
|
doit( RAW_HSG_VD, Abstract );
|
|
doit( RAW_HSG_VD, CreateDate );
|
|
doit( RAW_HSG_VD, ModDate );
|
|
doit( RAW_HSG_VD, ExpireDate );
|
|
doit( RAW_HSG_VD, EffectDate );
|
|
doit( RAW_HSG_VD, FileStructVer );
|
|
doit( RAW_HSG_VD, Reserved3 );
|
|
doit( RAW_HSG_VD, ResApp );
|
|
doit( RAW_HSG_VD, Reserved4 );
|
|
}
|
|
printf("\n");
|
|
{
|
|
RAW_DIRENT d;
|
|
doit( RAW_DIRENT, DirLen );
|
|
doit( RAW_DIRENT, XarLen );
|
|
doit( RAW_DIRENT, FileLoc );
|
|
doit( RAW_DIRENT, FileLocMot );
|
|
doit( RAW_DIRENT, DataLen );
|
|
doit( RAW_DIRENT, DataLenMot );
|
|
doit( RAW_DIRENT, RecordTime );
|
|
doit( RAW_DIRENT, FlagsHSG );
|
|
doit( RAW_DIRENT, FlagsISO );
|
|
doit( RAW_DIRENT, IntLeaveSize );
|
|
doit( RAW_DIRENT, IntLeaveSkip );
|
|
doit( RAW_DIRENT, Vssn );
|
|
doit( RAW_DIRENT, VssnMot );
|
|
doit( RAW_DIRENT, FileIdLen );
|
|
doit( RAW_DIRENT, FileId );
|
|
}
|
|
printf("\n");
|
|
{
|
|
RAW_PATH_ISO d;
|
|
doit( RAW_PATH_ISO, DirIdLen );
|
|
doit( RAW_PATH_ISO, XarLen );
|
|
doit( RAW_PATH_ISO, DirLoc );
|
|
doit( RAW_PATH_ISO, ParentNum );
|
|
doit( RAW_PATH_ISO, DirId );
|
|
}
|
|
printf("\n");
|
|
{
|
|
RAW_PATH_HSG d;
|
|
doit( RAW_PATH_HSG, DirLoc );
|
|
doit( RAW_PATH_HSG, XarLen );
|
|
doit( RAW_PATH_HSG, DirIdLen );
|
|
doit( RAW_PATH_HSG, ParentNum );
|
|
doit( RAW_PATH_HSG, DirId );
|
|
}
|
|
printf("\n");
|
|
{
|
|
SYSTEM_USE_XA d;
|
|
doit( SYSTEM_USE_XA, OwnerId );
|
|
doit( SYSTEM_USE_XA, Attributes );
|
|
doit( SYSTEM_USE_XA, Signature );
|
|
doit( SYSTEM_USE_XA, FileNumber );
|
|
doit( SYSTEM_USE_XA, Reserved );
|
|
}
|
|
}
|