/[pcsx2_0.9.7]/trunk/plugins/CDVDpeops/CDVDiso.h
ViewVC logotype

Contents of /trunk/plugins/CDVDpeops/CDVDiso.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (show annotations) (download)
Tue Sep 7 03:24:11 2010 UTC (9 years, 11 months ago) by william
File MIME type: text/plain
File size: 2858 byte(s)
committing r3113 initial commit again...
1 /*
2 * Original code from libcdvd by Hiryu & Sjeep (C) 2002
3 * Modified by Florin for PCSX2 emu
4 */
5
6 #ifndef __CDVDISO_H__
7 #define __CDVDISO_H__
8
9 #include "CDVDlib.h"
10
11 int CDVD_findfile(char* fname, struct TocEntry* tocEntry);
12 int CDVD_GetDir_RPC_request(char* pathname, char* extensions, unsigned int inc_dirs);
13 int CDVD_GetDir_RPC_get_entries(struct TocEntry tocEntry[], int req_entries);
14
15 #if defined(__WIN32__)
16 #pragma pack(1)
17 #endif
18
19 struct rootDirTocHeader
20 {
21 u16 length; //+00
22 u32 tocLBA; //+02
23 u32 tocLBA_bigend; //+06
24 u32 tocSize; //+0A
25 u32 tocSize_bigend; //+0E
26 u8 dateStamp[8]; //+12
27 u8 reserved[6]; //+1A
28 u8 reserved2; //+20
29 u8 reserved3; //+21
30 #if defined(__WIN32__)
31 }; //+22
32 #else
33 } __attribute__((packed));
34 #endif
35
36 struct asciiDate
37 {
38 char year[4];
39 char month[2];
40 char day[2];
41 char hours[2];
42 char minutes[2];
43 char seconds[2];
44 char hundreths[2];
45 char terminator[1];
46 #if defined(__WIN32__)
47 };
48 #else
49 } __attribute__((packed));
50 #endif
51
52 struct cdVolDesc
53 {
54 u8 filesystemType; // 0x01 = ISO9660, 0x02 = Joliet, 0xFF = NULL
55 u8 volID[5]; // "CD001"
56 u8 reserved2;
57 u8 reserved3;
58 u8 sysIdName[32];
59 u8 volName[32]; // The ISO9660 Volume Name
60 u8 reserved5[8];
61 u32 volSize; // Volume Size
62 u32 volSizeBig; // Volume Size Big-Endian
63 u8 reserved6[32];
64 u32 unknown1;
65 u32 unknown1_bigend;
66 u16 volDescSize; //+80
67 u16 volDescSize_bigend; //+82
68 u32 unknown3; //+84
69 u32 unknown3_bigend; //+88
70 u32 priDirTableLBA; // LBA of Primary Dir Table //+8C
71 u32 reserved7; //+90
72 u32 secDirTableLBA; // LBA of Secondary Dir Table //+94
73 u32 reserved8; //+98
74 struct rootDirTocHeader rootToc;
75 u8 volSetName[128];
76 u8 publisherName[128];
77 u8 preparerName[128];
78 u8 applicationName[128];
79 u8 copyrightFileName[37];
80 u8 abstractFileName[37];
81 u8 bibliographyFileName[37];
82 struct asciiDate creationDate;
83 struct asciiDate modificationDate;
84 struct asciiDate effectiveDate;
85 struct asciiDate expirationDate;
86 u8 reserved10;
87 u8 reserved11[1166];
88 #if defined(__WIN32__)
89 };
90 #else
91 } __attribute__((packed));
92 #endif
93
94 struct dirTableEntry
95 {
96 u8 dirNameLength;
97 u8 reserved;
98 u32 dirTOCLBA;
99 u16 dirDepth;
100 u8 dirName[32];
101 #if defined(__WIN32__)
102 };
103 #else
104 } __attribute__((packed));
105 #endif
106
107 struct dirTocEntry
108 {
109 short length;
110 unsigned int fileLBA;
111 unsigned int fileLBA_bigend;
112 unsigned int fileSize;
113 unsigned int fileSize_bigend;
114 unsigned char dateStamp[6];
115 unsigned char reserved1;
116 unsigned char fileProperties;
117 unsigned char reserved2[6];
118 unsigned char filenameLength;
119 unsigned char filename[128];
120 #if defined(__WIN32__)
121 };
122 #else
123 } __attribute__((packed));
124 #endif // This is the internal format on the CD
125 // TocEntry structure contains only the important stuff needed for export
126
127 #if defined(__WIN32__)
128 #pragma pack()
129 #endif
130
131 #endif//__CDVDISO_H__

  ViewVC Help
Powered by ViewVC 1.1.22