sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
cdvdman.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright 2001-2004, ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
16
17
#ifndef __CDVDMAN_H__
18
#define __CDVDMAN_H__
19
20
#include <types.h>
21
#include <
irx.h
>
22
23
#include <
libcdvd-common.h
>
24
25
#ifdef __cplusplus
26
extern
"C"
{
27
#endif
28
29
#ifdef BUILDING_CDVD_MODULE
30
#define PRINTF(...) \
31
{ \
32
printf(__VA_ARGS__); \
33
}
34
#define KPRINTF(...) \
35
{ \
36
Kprintf(__VA_ARGS__); \
37
}
38
#define VERBOSE_PRINTF(level, ...) \
39
{ \
40
if ( g_verbose_level >= (level) ) \
41
{ \
42
printf(__VA_ARGS__);\
43
} \
44
}
45
#define VERBOSE_KPRINTF(level, ...) \
46
{ \
47
if ( g_verbose_level >= (level) ) \
48
{ \
49
Kprintf(__VA_ARGS__);\
50
} \
51
}
52
#endif
53
54
typedef
struct
cdvdman_dma3_parameter_
55
{
56
u16 m_dma3_blkwords;
57
u16 m_dma3_blkcount;
58
void
*m_dma3_maddress;
59
int (*m_dma3_callback)(void);
60
u16 m_dma3_csectors;
61
u16 m_cdvdreg_howto;
62
u32 m_dma3_msectors;
63
} cdvdman_dma3_parameter_t;
64
65
typedef
struct
cdvdman_internal_struct_
66
{
67
char
m_cdvdman_command;
68
unsigned
char
m_last_error;
69
char
m_unused_002;
70
char
m_ncmd_intr_count;
71
int
m_wait_flag;
72
int
m_thread_id;
73
int
m_stream_flag;
74
int
m_read2_flag;
75
int
m_cdvdman_lsn;
76
int
m_cdvdman_rbuffer;
77
int
m_cdvdman_nsec;
78
int
m_cdvdman_csec;
79
int
m_cdvdman_rsec;
80
int
m_cdvdman_pattern;
81
sceCdRMode
m_cdvdman_cdrmode;
82
int
m_recover_status;
83
int
m_dvd_flag;
84
int
m_read_lsn;
85
void
*m_read_buf;
86
int
m_read_sectors;
87
sceCdRMode
m_read_mode;
88
int
m_read_chunk_reprocial_32;
89
int
m_dintrlsn;
90
void
*m_read_callback;
91
int
m_read_chunk;
92
char
m_scmd_flag;
93
char
m_scmd;
94
char
m_sdlen;
95
char
m_rdlen;
96
char
m_scmd_sd[16];
97
char
m_scmd_rd[16];
98
int
m_sync_error;
99
int
m_last_read_timeout;
100
int
m_power_flag;
101
u32 m_layer_1_lsn;
102
char
m_use_toc;
103
char
m_opo_or_para;
104
char
m_current_dvd;
105
char
m_dual_layer_emulation;
106
u32 m_current_dvd_lsn;
107
int
m_check_version;
108
int
m_dec_shift;
109
int
m_dec_state;
110
int
m_no_dec_flag;
111
cdvdman_dma3_parameter_t m_dma3_param;
112
int
m_cdvdman_dma3sec;
113
int
m_drive_interupt_request;
114
u16 m_dec_mode_set;
115
u16 m_dec_mode_last_set;
116
int
m_waf_set_test;
117
// OSD add
118
int
m_cd_mode_ps2_atapi;
119
void (*m_cd_atapi_intr_callback)(
int
writer_drive);
120
int (*m_chgsys_callback)(
void
*userdata,
int
writer_drive);
121
int
m_chgsys_callback_next_disktype;
122
int
m_unusedosd1;
123
int
m_field_0DC;
124
int
m_var_sc_ffffffdb;
125
// OSD add end
126
int
m_interupt_read_state;
127
// OSD add
128
int
m_atapi_disk_ejected;
129
// OSD add end
130
int
m_cd_inited;
131
// OSD add
132
int
m_medium_removal_state;
133
int
m_chgsys_callback_next_disktype_last;
134
int
m_chgsys_writer_drive_shell_is_open;
135
int
m_unusedosd2[6];
136
// OSD add end
137
int
m_tray_is_open;
138
int
m_break_cdvdfsv_readchain;
139
int
m_unused[10];
140
} cdvdman_internal_struct_t;
141
142
//IOP-only libcdvd function prototypes.
143
extern
int
sceCdCheckCmd(
void
);
144
extern
int
sceCdNop(
void
);
145
extern
void
*sceGetFsvRbuf(
void
);
146
extern
int
sceCdstm0Cb(
void
(*p)(
int
val));
147
extern
int
sceCdstm1Cb(
void
(*p)(
int
val));
148
extern
int
sceCdSC(
int
code,
int
*param);
149
/* Within all CDVDMAN modules, sceCdReadClock and sceCdRC both exist. In the old one, both have exactly the same code.
150
In the newer ones, sceCdReadClock would automatically file off the most significant bit within the month field,
151
while sceCdRC continued having its original behaviour of not changing the data. */
152
extern
int
sceCdRC(
sceCdCLOCK
*clock);
153
extern
int
sceCdRead0(u32 lsn, u32 sectors,
void
*buffer,
sceCdRMode
*mode,
int
csec,
void
*callback);
154
160
extern
int
sceCdRV
(u32 lsn, u32 sectors,
void
*buf,
sceCdRMode
*mode,
int
arg5,
void
*cb);
161
170
extern
int
sceCdApplySCmd2
(u8 cmdNum,
const
void
* inBuff,
unsigned
long
int
inBuffSize,
void
*outBuff);
171
182
extern
int
sceCdApplySCmd3
(u8 cmdNum,
const
void
* inBuff,
unsigned
long
int
inBuffSize,
void
*outBuff);
183
190
extern
int
sceCdSpinCtrlIOP
(u32 speed);
191
200
extern
void
*
sceCdSetAtapiEjectCallback
(
int
(*cb)(
int
reason,
void
*userdata),
void
*userdata);
201
202
//DNAS functions
203
210
extern
int
sceCdReadDiskID
(
unsigned
int
*
id
);
211
222
extern
int
sceCdDeobfuscateUsingUniqueKey
(u8 *buffer,
unsigned
int
shiftval,
int
xorval, u32 *status);
223
224
#define cdvdman_IMPORTS_start DECLARE_IMPORT_TABLE(cdvdman, 1, 1)
225
#define cdvdman_IMPORTS_end END_IMPORT_TABLE
226
227
#define I_sceCdInit DECLARE_IMPORT(4, sceCdInit)
228
#define I_sceCdStandby DECLARE_IMPORT(5, sceCdStandby)
229
#define I_sceCdRead DECLARE_IMPORT(6, sceCdRead)
230
#define I_sceCdSeek DECLARE_IMPORT(7, sceCdSeek)
231
#define I_sceCdGetError DECLARE_IMPORT(8, sceCdGetError)
232
#define I_sceCdGetToc DECLARE_IMPORT(9, sceCdGetToc)
233
#define I_sceCdSearchFile DECLARE_IMPORT(10, sceCdSearchFile)
234
#define I_sceCdSync DECLARE_IMPORT(11, sceCdSync)
235
#define I_sceCdGetDiskType DECLARE_IMPORT(12, sceCdGetDiskType)
236
#define I_sceCdDiskReady DECLARE_IMPORT(13, sceCdDiskReady)
237
#define I_sceCdTrayReq DECLARE_IMPORT(14, sceCdTrayReq)
238
#define I_sceCdStop DECLARE_IMPORT(15, sceCdStop)
239
#define I_sceCdPosToInt DECLARE_IMPORT(16, sceCdPosToInt)
240
#define I_sceCdIntToPos DECLARE_IMPORT(17, sceCdIntToPos)
241
#define I_sceCdGetToc2 DECLARE_IMPORT(19, sceCdGetToc2)
242
#define I_sceCdReadDVDV DECLARE_IMPORT(20, sceCdReadDVDV)
243
#define I_sceCdCheckCmd DECLARE_IMPORT(21, sceCdCheckCmd)
244
#define I_sceCdRI DECLARE_IMPORT(22, sceCdRI)
245
#define I_sceCdWI DECLARE_IMPORT(23, sceCdWI)
246
#define I_sceCdReadClock DECLARE_IMPORT(24, sceCdReadClock)
247
#define I_sceCdWriteClock DECLARE_IMPORT(25, sceCdWriteClock)
248
#define I_sceCdReadNVM DECLARE_IMPORT(26, sceCdReadNVM)
249
#define I_sceCdWriteNVM DECLARE_IMPORT(27, sceCdWriteNVM)
250
#define I_sceCdStatus DECLARE_IMPORT(28, sceCdStatus)
251
#define I_sceCdApplySCmd DECLARE_IMPORT(29, sceCdApplySCmd)
252
#define I_sceCdSetHDMode DECLARE_IMPORT(30, sceCdSetHDMode)
253
#define I_sceCdOpenConfig DECLARE_IMPORT(31, sceCdOpenConfig)
254
#define I_sceCdCloseConfig DECLARE_IMPORT(32, sceCdCloseConfig)
255
#define I_sceCdReadConfig DECLARE_IMPORT(33, sceCdReadConfig)
256
#define I_sceCdWriteConfig DECLARE_IMPORT(34, sceCdWriteConfig)
257
#define I_sceCdReadKey DECLARE_IMPORT(35, sceCdReadKey)
258
#define I_sceCdDecSet DECLARE_IMPORT(36, sceCdDecSet)
259
#define I_sceCdCallback DECLARE_IMPORT(37, sceCdCallback)
260
#define I_sceCdPause DECLARE_IMPORT(38, sceCdPause)
261
#define I_sceCdBreak DECLARE_IMPORT(39, sceCdBreak)
262
#define I_sceCdReadCDDA DECLARE_IMPORT(40, sceCdReadCDDA)
263
#define I_sceCdReadConsoleID DECLARE_IMPORT(41, sceCdReadConsoleID)
264
#define I_sceCdWriteConsoleID DECLARE_IMPORT(42, sceCdWriteConsoleID)
265
#define I_sceCdMV DECLARE_IMPORT(43, sceCdMV)
266
#define I_sceCdGetReadPos DECLARE_IMPORT(44, sceCdGetReadPos)
267
#define I_sceCdCtrlADout DECLARE_IMPORT(45, sceCdCtrlADout)
268
#define I_sceCdNop DECLARE_IMPORT(46, sceCdNop)
269
#define I_sceGetFsvRbuf DECLARE_IMPORT(47, sceGetFsvRbuf)
270
#define I_sceCdstm0Cb DECLARE_IMPORT(48, sceCdstm0Cb)
271
#define I_sceCdstm1Cb DECLARE_IMPORT(49, sceCdstm1Cb)
272
#define I_sceCdSC DECLARE_IMPORT(50, sceCdSC)
273
#define I_sceCdRC DECLARE_IMPORT(51, sceCdRC)
274
#define I_sceCdForbidDVDP DECLARE_IMPORT(52, sceCdForbidDVDP)
275
#define I_sceCdReadSUBQ DECLARE_IMPORT(53, sceCdReadSUBQ)
276
#define I_sceCdApplyNCmd DECLARE_IMPORT(54, sceCdApplyNCmd)
277
#define I_sceCdAutoAdjustCtrl DECLARE_IMPORT(55, sceCdAutoAdjustCtrl)
278
#define I_sceCdStInit DECLARE_IMPORT(56, sceCdStInit)
279
#define I_sceCdStRead DECLARE_IMPORT(57, sceCdStRead)
280
#define I_sceCdStSeek DECLARE_IMPORT(58, sceCdStSeek)
281
#define I_sceCdStStart DECLARE_IMPORT(59, sceCdStStart)
282
#define I_sceCdStStat DECLARE_IMPORT(60, sceCdStStat)
283
#define I_sceCdStStop DECLARE_IMPORT(61, sceCdStStop)
284
#define I_sceCdRead0 DECLARE_IMPORT(62, sceCdRead0)
285
#define I_sceCdRV DECLARE_IMPORT(63, sceCdRV)
286
#define I_sceCdRM DECLARE_IMPORT(64, sceCdRM)
287
#define I_sceCdWM DECLARE_IMPORT(65, sceCdWM)
288
#define I_sceCdReadChain DECLARE_IMPORT(66, sceCdReadChain)
289
#define I_sceCdStPause DECLARE_IMPORT(67, sceCdStPause)
290
#define I_sceCdStResume DECLARE_IMPORT(68, sceCdStResume)
291
#define I_sceCdForbidRead DECLARE_IMPORT(69, sceCdForbidRead)
292
#define I_sceCdBootCertify DECLARE_IMPORT(70, sceCdBootCertify)
293
#define I_sceCdSpinCtrlIOP DECLARE_IMPORT(71, sceCdSpinCtrlIOP)
294
#define I_sceCdBlueLEDCtl DECLARE_IMPORT(72, sceCdBlueLEDCtl)
295
#define I_sceCdCancelPOffRdy DECLARE_IMPORT(73, sceCdCancelPOffRdy)
296
#define I_sceCdPowerOff DECLARE_IMPORT(74, sceCdPowerOff)
297
#define I_sceCdMmode DECLARE_IMPORT(75, sceCdMmode)
298
299
#define I_sceCdReadFull DECLARE_IMPORT(76, sceCdReadFull)
300
#define I_sceCdStSeekF DECLARE_IMPORT(77, sceCdStSeekF)
301
#define I_sceCdPOffCallback DECLARE_IMPORT(78, sceCdPOffCallback)
302
#define I_sceCdReadDiskID DECLARE_IMPORT(79, sceCdReadDiskID)
303
#define I_sceCdReadGUID DECLARE_IMPORT(80, sceCdReadGUID)
304
#define I_sceCdSetTimeout DECLARE_IMPORT(81, sceCdSetTimeout)
305
#define I_sceCdReadModelID DECLARE_IMPORT(82, sceCdReadModelID)
306
#define I_sceCdReadDvdDualInfo DECLARE_IMPORT(83, sceCdReadDvdDualInfo)
307
#define I_sceCdLayerSearchFile DECLARE_IMPORT(84, sceCdLayerSearchFile)
308
#define I_sceCdStatus2 DECLARE_IMPORT(90, sceCdStatus2)
309
#define I_sceCdReadWakeUpTime DECLARE_IMPORT(109, sceCdReadWakeUpTime)
310
#define I_sceCdWriteWakeUpTime DECLARE_IMPORT(110, sceCdWriteWakeUpTime)
311
#define I_sceCdApplySCmd2 DECLARE_IMPORT(112, sceCdApplySCmd2)
312
#define I_sceCdRE DECLARE_IMPORT(114, sceCdRE)
313
#define I_sceCdRcBypassCtl DECLARE_IMPORT(115, sceCdRcBypassCtl)
314
#define I_sceCdSendSCmd1D DECLARE_IMPORT(116, sceCdSendSCmd1D)
315
#define I_sceRemote2_7 DECLARE_IMPORT(117, sceRemote2_7)
316
#define I_sceCdSetLEDsMode DECLARE_IMPORT(120, sceCdSetLEDsMode)
317
#define I_sceCdApplySCmd3 DECLARE_IMPORT(125, sceCdApplySCmd3)
318
#define I_sceRemote2_7Get DECLARE_IMPORT(128, sceRemote2_7Get)
319
#define I_sceCdReadPS1BootParam DECLARE_IMPORT(148, sceCdReadPS1BootParam)
320
#define I_sceCdSetFanProfile DECLARE_IMPORT(150, sceCdSetFanProfile)
321
#define I_cdvdman_152_get_temperature DECLARE_IMPORT(152, cdvdman_152_get_temperature)
322
#define I_sceCdChgSys DECLARE_IMPORT(154, sceCdChgSys)
323
#define I_sceCdNoticeGameStart DECLARE_IMPORT(156, sceCdNoticeGameStart)
324
#define I_sceCdDeobfuscateUsingUniqueKey DECLARE_IMPORT(161, sceCdDeobfuscateUsingUniqueKey)
325
#define I_sceCdXLEDCtl DECLARE_IMPORT(163, sceCdXLEDCtl)
326
#define I_sceCdBuzzerCtl DECLARE_IMPORT(165, sceCdBuzzerCtl)
327
#define I_cdvdman_167_atapi2dragon DECLARE_IMPORT(167, cdvdman_167_atapi2dragon)
328
#define I_cdvdman_169_dragon2atapi DECLARE_IMPORT(169, cdvdman_169_dragon2atapi)
329
#define I_sceCdXBSPowerCtl DECLARE_IMPORT(171, sceCdXBSPowerCtl)
330
#define I_sceCdSetAtapiEjectCallback DECLARE_IMPORT(173, sceCdSetAtapiEjectCallback)
331
#define I_sceCdSetMediumRemoval DECLARE_IMPORT(175, sceCdSetMediumRemoval)
332
#define I_sceCdGetMediumRemoval DECLARE_IMPORT(177, sceCdGetMediumRemoval)
333
#define I_sceCdDoesUniqueKeyExist DECLARE_IMPORT(179, sceCdDoesUniqueKeyExist)
334
#define I_sceCdXDVRPReset DECLARE_IMPORT(181, sceCdXDVRPReset)
335
#define I_sceCdGetWakeUpReason DECLARE_IMPORT(183, sceCdGetWakeUpReason)
336
#define I_sceCdReadRegionParams DECLARE_IMPORT(189, sceCdReadRegionParams)
337
#define I_sceCdWriteRegionParams DECLARE_IMPORT(191, sceCdWriteRegionParams)
338
339
#ifdef __cplusplus
340
}
341
#endif
342
343
#endif
/* __CDVDMAN_H__ */
sceCdRV
int sceCdRV(u32 lsn, u32 sectors, void *buf, sceCdRMode *mode, int arg5, void *cb)
Definition
cdvdman.c:7127
sceCdApplySCmd2
int sceCdApplySCmd2(u8 cmdNum, const void *inBuff, unsigned long int inBuffSize, void *outBuff)
Definition
cdvdman.c:5441
sceCdApplySCmd3
int sceCdApplySCmd3(u8 cmdNum, const void *inBuff, unsigned long int inBuffSize, void *outBuff)
sceCdSpinCtrlIOP
int sceCdSpinCtrlIOP(u32 speed)
Definition
cdvdman.c:2183
sceCdReadDiskID
int sceCdReadDiskID(unsigned int *id)
sceCdDeobfuscateUsingUniqueKey
int sceCdDeobfuscateUsingUniqueKey(u8 *buffer, unsigned int shiftval, int xorval, u32 *status)
sceCdSetAtapiEjectCallback
void * sceCdSetAtapiEjectCallback(int(*cb)(int reason, void *userdata), void *userdata)
irx.h
libcdvd-common.h
cdvdman_dma3_parameter_
Definition
cdvdman.h:55
cdvdman_internal_struct_
Definition
cdvdman.h:66
sceCdCLOCK
Definition
libcdvd-common.h:190
sceCdRMode
Definition
libcdvd-common.h:235
core
cdvd
include
cdvdman.h
Generated by
1.18.0