ReactOS  0.4.13-dev-79-gcd489d8
iso.h
Go to the documentation of this file.
1 /*
2  * FreeLoader
3  * Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 #pragma once
21 
22 #include <pshpack1.h>
24 {
29  ULONG DataLengthL; // 11-14
30  ULONG DataLengthM; // 15-18
31  UCHAR Year; // 19
32  UCHAR Month; // 20
33  UCHAR Day; // 21
34  UCHAR Hour; // 22
35  UCHAR Minute; // 23
36  UCHAR Second; // 24
37  UCHAR TimeZone; // 25
43  UCHAR FileId[1]; // 34
44 };
46 
47 
48 /* Volume Descriptor header*/
49 struct _VD_HEADER
50 {
51  UCHAR VdType; // 1
52  UCHAR StandardId[5]; // 2-6
54 };
55 typedef struct _VD_HEADER VD_HEADER, *PVD_HEADER;
56 
57 
58 /* Primary Volume Descriptor */
59 struct _PVD
60 {
61  UCHAR VdType; // 1
62  CHAR StandardId[5]; // 2-6
64  UCHAR unused0; // 8
65  CHAR SystemId[32]; // 9-40
66  CHAR VolumeId[32]; // 41-72
67  UCHAR unused1[8]; // 73-80
70  UCHAR unused2[32]; // 89-120
71  ULONG VolumeSetSize; // 121-124
73  ULONG LogicalBlockSize; // 129-132
74  ULONG PathTableSizeL; // 133-136
75  ULONG PathTableSizeM; // 137-140
76  ULONG LPathTablePos; // 141-144
77  ULONG LOptPathTablePos; // 145-148
78  ULONG MPathTablePos; // 149-152
79  ULONG MOptPathTablePos; // 153-156
81  CHAR VolumeSetIdentifier[128]; // 191-318
82  CHAR PublisherIdentifier[128]; // 319-446
83 
84  /* more data ... */
85 
86 };
87 #include <poppack.h>
88 typedef struct _PVD PVD, *PPVD;
89 
90 
91 
92 typedef struct
93 {
94  ULONG FileStart; // File start sector
95  ULONG FileSize; // File size
96  ULONG FilePointer; // File pointer
100 
101 const DEVVTBL* IsoMount(ULONG DeviceId);
UCHAR Day
Definition: iso.h:33
struct _VD_HEADER * PVD_HEADER
Definition: iso.h:55
ULONG VolumeSpaceSizeM
Definition: iso.h:69
CHAR VolumeId[32]
Definition: iso.h:66
ULONG DataLengthM
Definition: iso.h:30
ULONG LogicalBlockSize
Definition: iso.h:73
UCHAR VdVersion
Definition: iso.h:53
char CHAR
Definition: xmlstorage.h:175
UCHAR FileIdLength
Definition: iso.h:42
DIR_RECORD RootDirRecord
Definition: iso.h:80
Definition: fs.h:22
struct ISO_FILE_INFO * PISO_FILE_INFO
UCHAR unused2[32]
Definition: iso.h:70
UCHAR FileFlags
Definition: iso.h:38
BOOLEAN Directory
Definition: iso.h:97
ULONG LOptPathTablePos
Definition: iso.h:77
ULONG ExtentLocationM
Definition: iso.h:28
ULONG VolumeSpaceSizeL
Definition: iso.h:68
Definition: iso.h:59
ULONG LPathTablePos
Definition: iso.h:76
ULONG FileStart
Definition: iso.h:94
UCHAR VdVersion
Definition: iso.h:63
unsigned char BOOLEAN
ULONG PathTableSizeM
Definition: iso.h:75
UCHAR Month
Definition: iso.h:32
struct _DIR_RECORD * PDIR_RECORD
Definition: iso.h:45
UCHAR FileId[1]
Definition: iso.h:43
Definition: iso.h:49
CHAR StandardId[5]
Definition: iso.h:62
ULONG MOptPathTablePos
Definition: iso.h:79
UCHAR StandardId[5]
Definition: iso.h:52
ULONG FilePointer
Definition: iso.h:96
unsigned char UCHAR
Definition: xmlstorage.h:181
ULONG PathTableSizeL
Definition: iso.h:74
UCHAR InterleaveGapSize
Definition: iso.h:40
struct _PVD * PPVD
Definition: iso.h:88
UCHAR Minute
Definition: iso.h:35
ULONG MPathTablePos
Definition: iso.h:78
UCHAR RecordLength
Definition: iso.h:25
ULONG VolumeSequenceNumber
Definition: iso.h:41
ULONG ExtentLocationL
Definition: iso.h:27
ULONG DriveNumber
Definition: iso.h:98
UCHAR Second
Definition: iso.h:36
UCHAR ExtAttrRecordLength
Definition: iso.h:26
UCHAR FileUnitSize
Definition: iso.h:39
CHAR VolumeSetIdentifier[128]
Definition: iso.h:81
UCHAR unused1[8]
Definition: iso.h:67
ULONG VolumeSequenceNumber
Definition: iso.h:72
const DEVVTBL * IsoMount(ULONG DeviceId)
Definition: iso.c:491
UCHAR VdType
Definition: iso.h:51
UCHAR Hour
Definition: iso.h:34
unsigned int ULONG
Definition: retypes.h:1
ULONG FileSize
Definition: iso.h:95
ULONG VolumeSetSize
Definition: iso.h:71
UCHAR TimeZone
Definition: iso.h:37
CHAR PublisherIdentifier[128]
Definition: iso.h:82
ULONG DataLengthL
Definition: iso.h:29
UCHAR VdType
Definition: iso.h:61
UCHAR Year
Definition: iso.h:31
UCHAR unused0
Definition: iso.h:64
CHAR SystemId[32]
Definition: iso.h:65