ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
libcdvd-common.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 #ifndef __LIBCDVD_COMMON_H__
17 #define __LIBCDVD_COMMON_H__
18 
19 #include <tamtypes.h>
20 
21 /* File open modes */
23 #define SCE_CdSTREAM 0x40000000
24 
26  /* Game CD and DVD sector types. */
30 
31  /* CDDA sector types. */
35 };
36 
44 
49  //Note: These modes were taken from the PS2Linux libcdvd.h file, and they don't appear in any other Sony libcdvd.h file.
62 };
63 
67 };
68 
73  SCECdErNO = 0x00,
76 
78  SCECdErCMD = 0x10,
87 
89  SCECdErIPI = 0x20,
94 
96  SCECdErREAD = 0x30,
102 
107 };
108 
111  SCECdNODISC = 0x00,
117 
118  SCECdPSCD = 0x10,
123 
124  SCECdCDDA = 0xFD,
127 };
128 
131  CdlNoIntr = 0x00,
144 
145 };
146 
147 //Tray request modes
152 };
153 
154 //Drive states
162  SCECdStatEmg = 0x20,
163 };
164 
165 typedef struct {
174 } sceCdCLOCK;
175 
176 typedef struct {
179  char name[16];
180  u8 date[8];
181 } sceCdlFILE;
182 
183 // location structure, used with sceCdIntToPos() and sceCdPosToInt()
184 typedef struct {
193 } sceCdlLOCCD;
194 
195 typedef struct {
200 } sceCdRMode;
201 
202 typedef struct {
209 } sceCdRChain;
210 
211 // macros for converting between an integer and a BCD number
212 #ifndef btoi
213 #define btoi(b) ((b)/16*10 + (b)%16) // BCD to int
214 #endif
215 #ifndef itob
216 #define itob(i) ((i)/10*16 + (i)%10) // int to BCD
217 #endif
218 
220 #define CdlMAXTOC 100
221 
231 };
232 
234 typedef void (*sceCdCBFunc)(int reason);
235 
238  SCECdINIT = 0x00,
242  SCECdEXIT = 0x05
243 };
244 
245 // Low-level filesystem properties for sceCdSearchFile()
247 #define CdlMAXFILE 64
249 #define CdlMAXDIR 128
251 #define CdlMAXLEVEL 8
252 
253 
254 // For streaming operations (Use with sceCdStRead())
257  STMNBLK = 0,
259  STMBLK
260 };
261 
262 // EE read modes (Used with sceCdSetEEReadMode()).
263 #define SCECdNoCheckReady 0x00000001
264 #define SCECdNoWriteBackDCache 0x00000002
265 
266 #ifdef __cplusplus
267 extern "C" {
268 #endif
269 
270 // **** N-Command Functions ****
271 
281 int sceCdRead(u32 lbn, u32 sectors, void *buffer, sceCdRMode *mode);
282 int sceCdReadDVDV(u32 lbn, u32 sectors, void *buffer, sceCdRMode *mode);
283 int sceCdReadCDDA(u32 lbn, u32 sectors, void *buffer, sceCdRMode *mode);
284 
290 int sceCdGetToc(u8 *toc);
291 
298 int sceCdSeek(u32 lbn);
299 
305 int sceCdStandby(void);
306 
312 int sceCdStop(void);
313 
319 int sceCdPause(void);
320 
333 
334 // **** S-Command functions ****
335 
345 
352 int sceCdWriteClock(const sceCdCLOCK *clock);
353 
359 
364 int sceCdGetError(void);
365 
372 int sceCdTrayReq(int param, u32 *traychk);
373 
378 int sceCdStatus(void);
379 
384 int sceCdBreak(void);
385 
394 
403 int sceCdBlueLEDCtl(u8 control, u32 *result);
404 
413 
421 int sceCdMmode(int media);
422 
430 int sceCdChangeThreadPriority(int priority);
431 
432 
433 // **** Streaming Functions ****
434 
442 
451 int sceCdStRead(u32 sectors, u32 *buffer, u32 mode, u32 *error);
452 
457 int sceCdStStop(void);
458 
464 int sceCdStSeek(u32 lbn);
465 
473 int sceCdStInit(u32 bufmax, u32 bankmax, void *buffer);
474 
479 int sceCdStStat(void);
480 
485 int sceCdStPause(void);
486 
491 int sceCdStResume(void);
492 
493 // **** Other Functions ****
494 
500 int sceCdInit(int mode);
501 
507 int sceCdSync(int mode);
508 
515 int sceCdSearchFile(sceCdlFILE *file, const char *name);
516 
523 
526 
529 
532 
540 int sceCdInitEeCB(int priority, void *stackAddr, int stackSize);
541 
548 
555 int sceCdReadSUBQ(void *buffer, u32 *status);
556 
557 // **** System functions ****
558 
566 
575 
584 int sceCdDecSet(unsigned char arg1, unsigned char arg2, unsigned char shift);
585 
594 int sceCdReadKey(unsigned char arg1, unsigned char arg2, unsigned int command, unsigned char *key);
595 
602 
609 
617 
624 int sceCdWriteConfig(const void *buffer, u32 *result);
625 
633 int sceCdReadNVM(u32 address, u16 *data, u8 *result);
634 
644 int sceCdWriteNVM(u32 address, u16 data, u8 *result);
645 
654 
662 int sceCdWI(const u8 *buffer, u32 *result);
663 
671 
679 int sceCdWriteConsoleID(const u8 *buffer, u32 *status);
680 
687 int sceCdCtrlADout(int arg1, u32 *status);
688 
698 int sceCdMV(u8 *buffer, u32 *status);
699 
710 int sceCdBootCertify(const u8 *romname);
711 
719 int sceCdRM(char *buffer, u32 *status);
720 
729 int sceCdWM(const char *buffer, u32 *status);
730 
739 
740 // **** Extra Functions ****
741 
751 int sceCdReadFull(unsigned long int lsn, unsigned long int sectors, void *buf, sceCdRMode *mode);
752 
759 int sceCdStSeekF(unsigned long int lsn);
760 
768 void *sceCdPOffCallback(void(*func)(void *),void *addr);
769 
777 int sceCdSetTimeout(int param, int timeout);
778 
785 int sceCdReadModelID(unsigned long int *id);
786 
794 int sceCdReadDvdDualInfo(int *on_dual, unsigned long int *layer1_start);
795 
804 int sceCdLayerSearchFile(sceCdlFILE *fp, const char *path, int layer);
805 
811 int sceCdStatus2(void);
812 
822 int sceCdRE(unsigned long int lsn,unsigned long int sectors,void *buf,sceCdRMode *mode);
823 
831 int sceCdRcBypassCtl(int mode, u32 *status);
832 
833 #ifdef __cplusplus
834 }
835 #endif
836 
837 #endif /* __LIBCDVD_COMMON_H__ */
#define fp
Definition: as_reg_compat.h:86
int sceCdBreak(void)
int sceCdStStop(void)
int sceCdSearchFile(sceCdlFILE *file, const char *name)
int sceCdGetError(void)
int sceCdRcBypassCtl(int mode, u32 *status)
SCECdvdStreamMode
@ STMNBLK
@ STMBLK
int sceCdStatus2(void)
int sceCdReadDVDV(u32 lbn, u32 sectors, void *buffer, sceCdRMode *mode)
int sceCdCancelPOffRdy(u32 *result)
SCECdvdSectorType
@ SCECdSecS2352
@ SCECdSecS2048
@ SCECdSecS2328
@ SCECdSecS2340
@ SCECdSecS2368
@ SCECdSecS2448
SCECdvdInterruptCode
@ CdlNoIntr
@ CdlDiskError
@ CdlDataReady
@ CdlDataEnd
@ CdlAcknowledge
@ SCECdComplete
@ SCECdNotReady
int sceCdPowerOff(u32 *result)
int sceCdStPause(void)
int sceCdStRead(u32 sectors, u32 *buffer, u32 mode, u32 *error)
int sceCdReadSUBQ(void *buffer, u32 *status)
int sceCdSetHDMode(u32 mode)
SCECdvdCallbackReason
@ SCECdFuncReadCDDA
@ SCECdFuncPause
@ SCECdFuncStop
@ SCECdFuncRead
@ SCECdFuncBreak
@ SCECdFuncSeek
@ SCECdFuncStandby
@ SCECdFuncGetToc
int sceCdReadKey(unsigned char arg1, unsigned char arg2, unsigned int command, unsigned char *key)
int sceCdInitEeCB(int priority, void *stackAddr, int stackSize)
int sceCdGetToc(u8 *toc)
int sceCdInit(int mode)
int sceCdReadNVM(u32 address, u16 *data, u8 *result)
sceCdCBFunc sceCdCallback(sceCdCBFunc function)
int sceCdCloseConfig(u32 *result)
int sceCdStInit(u32 bufmax, u32 bankmax, void *buffer)
SCECdvdMModeMediaType
@ SCECdMmodeDvd
@ SCECdMmodeCd
int sceCdStatus(void)
int sceCdChangeThreadPriority(int priority)
int sceCdDiskReady(int mode)
int sceCdForbidRead(u32 *result)
int sceCdPause(void)
int sceCdRM(char *buffer, u32 *status)
sceCdlLOCCD * sceCdIntToPos(u32 i, sceCdlLOCCD *p)
u32 sceCdPosToInt(sceCdlLOCCD *p)
int sceCdReadConsoleID(u8 *buffer, u32 *result)
int sceCdStSeekF(unsigned long int lsn)
int sceCdLayerSearchFile(sceCdlFILE *fp, const char *path, int layer)
int sceCdReadClock(sceCdCLOCK *clock)
int sceCdWriteConfig(const void *buffer, u32 *result)
int sceCdReadCDDA(u32 lbn, u32 sectors, void *buffer, sceCdRMode *mode)
int sceCdWM(const char *buffer, u32 *status)
int sceCdWriteConsoleID(const u8 *buffer, u32 *status)
u32 sceCdGetReadPos(void)
int sceCdGetDiskType(void)
void * sceCdPOffCallback(void(*func)(void *), void *addr)
int sceCdMmode(int media)
int sceCdSync(int mode)
int sceCdWI(const u8 *buffer, u32 *result)
int sceCdStResume(void)
int sceCdAutoAdjustCtrl(int mode, u32 *result)
int sceCdReadDvdDualInfo(int *on_dual, unsigned long int *layer1_start)
int sceCdSeek(u32 lbn)
int sceCdSetTimeout(int param, int timeout)
int sceCdStStart(u32 lbn, sceCdRMode *mode)
SCECdvdSpinValue
@ SCECdSpinX1
@ SCECdSpinX2
@ SCECdSpin1p6
@ SCECdSpinDvdDL0
@ SCECdSpinNm2
@ SCECdSpinMax
@ SCECdSpinStm
@ SCECdSpinNom
@ SCECdSpinMx
@ SCECdSpinX12
@ SCECdSpinX4
int sceCdBootCertify(const u8 *romname)
int sceCdReadConfig(void *buffer, u32 *result)
int sceCdMV(u8 *buffer, u32 *status)
SCECdvdTrayReqMode
@ SCECdTrayCheck
@ SCECdTrayOpen
@ SCECdTrayClose
int sceCdStStat(void)
void(* sceCdCBFunc)(int reason)
int sceCdWriteNVM(u32 address, u16 data, u8 *result)
int sceCdRI(u8 *buffer, u32 *result)
int sceCdCtrlADout(int arg1, u32 *status)
int sceCdReadFull(unsigned long int lsn, unsigned long int sectors, void *buf, sceCdRMode *mode)
SCECdvdMediaType
@ SCECdGDTFUNCFAIL
@ SCECdNODISC
@ SCECdIllegalMedia
@ SCECdPSCDDA
@ SCECdPSCD
@ SCECdUNKNOWN
@ SCECdDETCT
@ SCECdDVDV
@ SCECdDETCTDVDS
@ SCECdDETCTCD
@ SCECdPS2DVD
@ SCECdCDDA
@ SCECdPS2CDDA
@ SCECdDETCTDVDD
@ SCECdPS2CD
SCECdvdErrorCode
@ SCECdErOPENS
@ SCECdErEOM
@ SCECdErSFRMTNG
@ SCECdErIPI
@ SCECdErREAD
@ SCECdErILI
@ SCECdErNO
@ SCECdErABRT
@ SCECdErREADCF
@ SCECdErREADCFR
@ SCECdErNORDY
@ SCECdErTRMOPN
@ SCECdErCUD
@ SCECdErNODISC
@ SCECdErCMD
@ SCECdErFAIL
@ SCECdErPRM
int sceCdWriteClock(const sceCdCLOCK *clock)
int sceCdReadModelID(unsigned long int *id)
int sceCdForbidDVDP(u32 *result)
int sceCdRead(u32 lbn, u32 sectors, void *buffer, sceCdRMode *mode)
int sceCdStandby(void)
int sceCdStSeek(u32 lbn)
int sceCdStop(void)
int sceCdRE(unsigned long int lsn, unsigned long int sectors, void *buf, sceCdRMode *mode)
int sceCdReadChain(sceCdRChain *tag, sceCdRMode *mode)
int sceCdTrayReq(int param, u32 *traychk)
int sceCdDecSet(unsigned char arg1, unsigned char arg2, unsigned char shift)
int sceCdBlueLEDCtl(u8 control, u32 *result)
SCECdvdDriveState
@ SCECdStatSpin
@ SCECdStatSeek
@ SCECdStatPause
@ SCECdStatRead
@ SCECdStatShellOpen
@ SCECdStatStop
@ SCECdStatEmg
SCECdvdInitMode
@ SCECdEXIT
@ SCECdINoD
@ SCECdINIT
u32 data
Definition: libmouse.c:36
s32 command
Definition: libpad.c:156
s32 mode
Definition: rpc_client.c:15
u8 buffer[128]
Definition: rpc_client.c:19
s32 result
Definition: rpc_client.c:23
unsigned int u32
Definition: tamtypes.h:30
unsigned short u16
Definition: tamtypes.h:24
unsigned char u8
Definition: tamtypes.h:23