PS2SDK
PS2 Homebrew Libraries
libcdvd-rpc.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_RPC_H__
17 #define __LIBCDVD_RPC_H__
18 
19 #include <tamtypes.h>
20 #include <libcdvd-common.h>
21 
22 /* S-command parameters */
23 
25 {
26  u16 cmdNum;
27  u16 inBuffSize;
28  u8 inBuff[16];
29 };
30 
32 {
33  u8 arg1;
34  u8 arg2;
35  u8 shift;
36  u8 pad;
37 };
38 
40 {
41  u32 address;
42  u16 value;
43  u16 pad;
44 };
45 
46 /* N-command parameters */
47 
49 {
50  u16 cmdNum;
51  u16 inBuffSize;
52  u8 inBuff[16];
53 };
54 
56 {
57  u32 arg1;
58  u32 arg2;
59  u32 command;
60 };
61 
62 /* SIF RPC packet definitions */
63 
64 typedef struct cdvdfsv_rpc1_inpacket_
65 {
66  int m_mode;
68 
70 {
71  int m_retres;
72  int m_cdvdfsv_ver;
73  int m_cdvdman_ver;
74  int m_debug_mode;
76 
77 typedef struct cdvdfsv_rpc2_inpacket_
78 {
79  int m_mode;
81 
83 {
84  int m_retres;
86 
88 {
89  u32 m_b1len;
90  u32 m_b2len;
91  u32 m_b1dst;
92  u32 m_b2dst;
93  u8 m_pbuf1[64];
94  u8 m_pbuf2[64];
96 
98 {
99  sceCdlFILE m_fp;
100  int m_file_attributes;
101  char m_path[256];
102  uiptr m_eedest;
103  int m_layer;
105 
107 {
108  sceCdlFILE m_fp;
109  int m_file_attributes;
110  char m_path[256];
111  uiptr m_eedest;
113 
115 {
116  sceCdlFILE m_fp;
117  char m_path[256];
118  uiptr m_eedest;
120 
122 {
123  cdvdfsv_rpc4_sz12c_inpacket_t m_pkt_sz12c;
124  cdvdfsv_rpc4_sz128_inpacket_t m_pkt_sz128;
125  cdvdfsv_rpc4_sz124_inpacket_t m_pkt_sz124;
127 
129 {
130  int m_retres;
131  int m_padding[3];
133 
135 {
136  sceCdCLOCK m_clock;
138 
140 {
141  int m_param;
143 
145 {
146  u8 m_buffer[8];
148 
150 {
151  u32 m_address;
152  u16 m_data;
153  u8 xpad1;
154  u8 xpad2;
156 
158 {
159  u32 m_address;
160  u16 m_data;
161  u8 xpad1;
162  u8 xpad2;
164 
166 {
167  u8 m_enable_xor;
168  u8 m_enable_shift;
169  u8 m_shiftval;
171 
173 {
174  u8 m_cmdNum;
175  u8 m_gap1;
176  u16 m_inBuffSize;
177  u8 m_inBuff[16];
179 
181 {
182  u32 m_mode;
184 
186 {
187  u8 m_mode;
188  u8 m_block;
189  // EE side sceCdOpenConfig max NumBlocks 0x44, each block 15 bytes -> 1020 bytes total
190  // Max size is 105 bytes (7 blocks) due to mechacon config limits
191  u8 m_NumBlocks;
192  u8 xpad1;
194 
196 {
197  u8 m_buffer[1020];
199 
201 {
202  u8 m_buffer[8];
204 
206 {
207  int m_mode;
209 
211 {
212  u32 m_mode;
214 
216 {
217  char m_buffer[16];
219 
221 {
222  u32 m_spinctl;
224 
226 {
227  u8 m_romname[4];
229 
231 {
232  u32 m_control;
234 
236 {
237  int m_media;
238  char m_char4;
240 
242 {
243  int m_priority;
245 
247 {
248  int m_param;
249  int m_timeout;
251 
253 {
254  sceCdCLOCK m_clock;
255  u16 m_userdata;
256  u32 m_flags;
258 
260 {
261  u32 m_param;
263 
265 {
266  u32 m_arg1;
268 
270 {
271  u32 m_arg1;
272  u32 m_arg2;
274 
276 {
277  u32 m_arg1;
279 
281 {
282  u32 m_mode;
284 
286 {
287  u32 m_param;
289 
291 {
292  u32 m_param;
294 
296 {
297  u32 m_arg1;
298  u32 m_arg2;
300 
302 {
303  u32 m_arg1;
305 
307 {
308  u32 m_arg1;
310 
312 {
313  u8 m_arg1;
314  u8 m_arg2[12];
315  u8 m_arg3[2];
317 
319 {
320  // OSD add
322  // OSD add end
324  // OSD add
329  // OSD add end
331  // OSD add
336  // OSD add end
338  // OSD add
344  // OSD add end
348  // OSD add
361  // OSD add end
363 
365 {
366  int m_retres;
367  sceCdCLOCK m_clock;
369 
371 {
372  int m_retres;
373  sceCdCLOCK m_clock;
375 
377 {
378  int m_retres;
379  u32 m_traychk;
381 
383 {
384  int m_retres;
385  u32 m_result;
386  u8 m_buffer[8];
388 
390 {
391  int m_retres;
392  u32 m_status;
394 
396 {
397  int m_retres;
398  u32 m_address;
399  u16 m_data;
400  u8 m_status;
401  u8 xpad1;
403 
405 {
406  int m_retres;
407  u32 m_address;
408  u16 m_data;
409  u8 m_status;
410  u8 xpad1;
412 
414 {
415  u8 m_outbuf[16];
417 
419 {
420  int m_retres;
421  u32 m_status;
423 
425 {
426  int m_retres;
427  u32 m_status;
429 
431 {
432  int m_retres;
433  u32 m_status;
434  u8 m_buffer[1020];
436 
438 {
439  int m_retres;
440  u32 m_status;
442 
444 {
445  int m_retres;
446  u32 m_status;
447  u8 m_buffer[8];
449 
451 {
452  int m_retres;
453  u32 m_status;
455 
457 {
458  int m_retres;
459  u32 m_status;
460  u8 m_buffer[4];
462 
464 {
465  int m_retres;
466  u32 m_status;
468 
470 {
471  int m_retres;
472  u32 m_status;
473  u8 m_buffer[10];
475 
477 {
478  int m_retres;
479  u32 m_status;
481 
483 {
484  int m_retres;
485  u32 m_status;
487 
489 {
490  int m_retres;
491  u32 m_status;
492  char m_buffer[16];
494 
496 {
497  int m_retres;
498  u32 m_status;
500 
502 {
503  int m_retres;
504  u32 m_status;
506 
508 {
509  int m_retres;
510  u32 m_status;
512 
514 {
515  int m_retres;
516  u32 m_status;
518 
520 {
521  int m_retres;
522  u32 m_result;
524 
526 {
527  int m_retres;
528  u64 m_guid;
530 
532 {
533  int m_retres;
534  unsigned int m_id;
536 
538 {
539  int m_retres;
540  int m_on_dual;
541  unsigned int m_layer1_start;
543 
545 {
546  int m_retres;
547  sceCdCLOCK m_clock;
549 
551 {
552  int m_retres;
553  sceCdCLOCK m_clock;
554  u16 m_userdata;
555  int m_flags;
556  u32 m_wakeupreason;
558 
560 {
561  int m_retres;
562  u32 m_status;
563  u8 m_out[11];
565 
567 {
568  int m_retres;
569  u32 m_status;
571 
573 {
574  int m_retres;
575  u32 m_arg2;
576  u32 m_arg1;
578 
580 {
581  int m_retres;
582  u32 m_result2;
583  u32 m_result1;
585 
587 {
588  int m_retres;
589  u32 m_status;
591 
593 {
594  int m_retres;
595  u32 m_status;
597 
599 {
600  int m_retres;
601  u32 m_status;
603 
605 {
606  int m_retres;
607  u32 m_arg4;
608  u32 m_arg1;
609  unsigned int m_arg2;
610  unsigned int m_arg3;
612 
614 {
615  int m_retres;
616  u32 m_status;
618 
620 {
621  int m_retres;
622  u32 m_status;
623  u32 m_param;
625 
627 {
628  int m_retres;
629  u32 m_status;
631 
633 {
634  int m_retres;
635  u32 m_arg2;
637 
639 {
640  int m_retres;
641  u32 m_arg2;
642  u8 m_arg1[16];
644 
646 {
647  int m_retres;
648  u32 m_result2;
649  u32 m_result1;
651 
653 {
654  int m_retres;
655  u32 m_status;
657 
659 {
660  int m_retres;
661  u32 m_result2;
662  u32 m_result1;
664 
666 {
667  int m_retres;
668  u32 m_status;
670 
672 {
673  int m_retres;
674  u32 m_status;
675  u32 m_arg1[4]; // TODO u8[15]
677 
679 {
680  int m_retres;
681  u32 m_status;
683 
685 {
686  int m_retres;
688  // OSD add
690  // OSD add end
693  // OSD add
697  // OSD add end
699  // OSD add
707  // OSD add end
709  // OSD add
713  // OSD add end
715  // OSD add
720  // OSD add end
725  // OSD add
747  // OSD add end
749 
751 {
752  u32 m_lbn;
753  u32 m_sectors;
754  uiptr m_paddr;
755  sceCdRMode m_rmodeee;
756  uiptr m_eeremaindest;
757  uiptr m_eedest;
758  u32 m_decval;
760 
762 {
763  u32 m_lbn;
764  u32 m_sectors;
765  uiptr m_buf;
766  sceCdRMode m_mode;
767  uiptr m_eeremaindest;
768  uiptr m_eedest;
770 
772 {
773  u32 m_lbn;
774  u32 m_nsectors;
775  u32 m_buf;
776  sceCdRMode m_mode;
777  u32 m_eedest;
779 
781 {
782  uiptr m_eedest;
784 
786 {
787  u32 m_lbn;
789 
791 {
792  u32 m_arg1;
793  u32 m_arg2;
794  u32 m_command;
796 
798 {
799  u8 m_cmdNum;
800  u8 m_gap1;
801  u16 m_inBuffSize;
802  u8 m_inBuff[16];
804 
806 {
807  u32 m_lbn;
808  u32 m_sectors;
809  void *m_buf;
810  sceCdRMode m_mode;
811  u8 m_unused[4];
812  uiptr m_eedest;
814 
816 {
817  sceCdRChain m_readChain[65];
818  sceCdRMode m_mode;
819  uiptr m_eedest;
821 
823 {
826  // OSD add
828  // OSD add end
831  // OSD add
833  // OSD add end
838 
840 {
841  int m_retres;
842  int m_isdvd;
844 
846 {
847  int m_retres;
848  u8 m_dg_buf[16];
850 
852 {
853  int m_retres;
854  u8 m_diskid[5];
856 
858 {
859  int m_retres;
860  u32 m_status;
862 
864 {
865  int m_retres;
867  // OSD add
869  // OSD add end
873 
874 #endif /* _LIBCDVD_RPC_H_ */
cdvdfsv_rpc3_3F_inpacket_
Definition: libcdvd-rpc.h:306
cdvdfsv_rpc5_0F_inpacket_
Definition: libcdvd-rpc.h:815
cdvdfsv_rpc5_inpacket_
Definition: libcdvd-rpc.h:822
cdvdfsv_rpc3_3A_outpacket_
Definition: libcdvd-rpc.h:632
cdvdfsv_rpc3_3B_outpacket_
Definition: libcdvd-rpc.h:638
cdvdfsv_rpc3_19_inpacket_
Definition: libcdvd-rpc.h:210
cdvdfsv_rpc3_09_inpacket_
Definition: libcdvd-rpc.h:157
cdvdfsv_rpc3_3E_outpacket_
Definition: libcdvd-rpc.h:658
cdvdfsv_rpc3_3D_outpacket_
Definition: libcdvd-rpc.h:652
cdvdfsv_rpc3_3F_outpacket_
Definition: libcdvd-rpc.h:665
cdvdfsv_rpc3_0B_outpacket_
Definition: libcdvd-rpc.h:413
cdvdfsv_rpc5_04_inpacket_
Definition: libcdvd-rpc.h:780
cdvdfsv_rpc3_0E_outpacket_
Definition: libcdvd-rpc.h:418
cdvdfsv_rpc3_0F_outpacket_
Definition: libcdvd-rpc.h:424
sceCdRChain
Definition: libcdvd-common.h:245
cdvdfsv_rpc3_13_inpacket_
Definition: libcdvd-rpc.h:200
cdvdfsv_rpc3_23_inpacket_
Definition: libcdvd-rpc.h:241
cdvdNcmdParam
Definition: libcdvd-rpc.h:48
cdvdfsv_rpc3_3C_outpacket_
Definition: libcdvd-rpc.h:645
cdvdfsv_rpc3_28_inpacket_
Definition: libcdvd-rpc.h:252
cdvdfsv_rpc3_3C_inpacket_
Definition: libcdvd-rpc.h:295
cdvdfsv_rpc3_08_inpacket_
Definition: libcdvd-rpc.h:149
cdvdfsv_rpc3_0E_inpacket_
Definition: libcdvd-rpc.h:185
sceCdCLOCK
Definition: libcdvd-common.h:188
cdvdfsv_rpc4_sz128_inpacket_
Definition: libcdvd-rpc.h:106
cdvdfsv_rpc3_15_inpacket_
Definition: libcdvd-rpc.h:205
cdvdfsv_rpc3_25_inpacket_
Definition: libcdvd-rpc.h:246
cdvdfsv_rpc3_35_inpacket_
Definition: libcdvd-rpc.h:290
cdvdfsv_rpc3_05_inpacket_
Definition: libcdvd-rpc.h:139
cdvdfsv_rpc3_2A_outpacket_
Definition: libcdvd-rpc.h:559
cdvdfsv_rpc3_2B_outpacket_
Definition: libcdvd-rpc.h:566
cdvdfsv_rpc3_2E_outpacket_
Definition: libcdvd-rpc.h:579
cdvdfsv_rpc3_2F_outpacket_
Definition: libcdvd-rpc.h:586
cdvdScmdParam
Definition: libcdvd-rpc.h:24
cdvdfsv_rpc3_1E_inpacket_
Definition: libcdvd-rpc.h:225
cdvdfsv_rpc3_2E_inpacket_
Definition: libcdvd-rpc.h:269
cdvdReadWriteNvmParam
Definition: libcdvd-rpc.h:39
sceCdlFILE
Definition: libcdvd-common.h:208
cdvdfsv_rpc5_0B_outpacket_
Definition: libcdvd-rpc.h:845
cdvdfsv_rpc5_02_inpacket_
Definition: libcdvd-rpc.h:761
cdvdfsv_rpc4_inpacket_
Definition: libcdvd-rpc.h:121
cdvdfsv_rpc5_0C_inpacket_
Definition: libcdvd-rpc.h:797
cdvdfsv_rpc3_2C_outpacket_
Definition: libcdvd-rpc.h:572
cdvdfsv_rpc2_inpacket_
Definition: libcdvd-rpc.h:77
cdvdfsv_rpc4_sz124_inpacket_
Definition: libcdvd-rpc.h:114
cdvdfsv_rpc3_11_inpacket_
Definition: libcdvd-rpc.h:195
cdvdfsv_rpc3_31_inpacket_
Definition: libcdvd-rpc.h:285
cdvdfsv_rpc3_13_outpacket_
Definition: libcdvd-rpc.h:450
cdvdfsv_rpc3_15_outpacket_
Definition: libcdvd-rpc.h:463
cdvdfsv_rpc3_17_outpacket_
Definition: libcdvd-rpc.h:469
cdvdfsv_rpc3_14_outpacket_
Definition: libcdvd-rpc.h:456
cdvdfsv_rpc3_19_outpacket_
Definition: libcdvd-rpc.h:482
cdvdfsv_rpc3_18_outpacket_
Definition: libcdvd-rpc.h:476
cdvdfsv_rpc3_12_outpacket_
Definition: libcdvd-rpc.h:443
cdvdfsv_rpc3_0B_inpacket_
Definition: libcdvd-rpc.h:172
cdvdfsv_rpc3_11_outpacket_
Definition: libcdvd-rpc.h:437
cdvdfsv_rpc3_26_outpacket_
Definition: libcdvd-rpc.h:531
cdvdfsv_rpc3_10_outpacket_
Definition: libcdvd-rpc.h:430
cdvdfsv_rpc3_27_outpacket_
Definition: libcdvd-rpc.h:537
tamtypes.h
cdvdfsv_rpc3_24_outpacket_
Definition: libcdvd-rpc.h:525
cdvdfsv_rpc3_29_outpacket_
Definition: libcdvd-rpc.h:550
cdvdfsv_rpc3_28_outpacket_
Definition: libcdvd-rpc.h:544
cdvdfsv_rpc3_21_outpacket_
Definition: libcdvd-rpc.h:519
cdvdfsv_rpc3_35_outpacket_
Definition: libcdvd-rpc.h:613
cdvdfsv_rpc3_39_outpacket_
Definition: libcdvd-rpc.h:626
cdvdfsv_rpc3_38_outpacket_
Definition: libcdvd-rpc.h:619
cdvdfsv_rpc3_32_outpacket_
Definition: libcdvd-rpc.h:604
cdvdfsv_rpc3_44_inpacket_
Definition: libcdvd-rpc.h:311
cdvdfsv_rpc3_31_outpacket_
Definition: libcdvd-rpc.h:598
cdvdfsv_rpc3_43_outpacket_
Definition: libcdvd-rpc.h:671
cdvdfsv_rpc3_30_outpacket_
Definition: libcdvd-rpc.h:592
cdvdDecSetParam
Definition: libcdvd-rpc.h:31
cdvdfsv_rpc3_44_outpacket_
Definition: libcdvd-rpc.h:678
cdvdfsv_rpc3_0D_inpacket_
Definition: libcdvd-rpc.h:180
cdvdfsv_rpc5_03_inpacket_
Definition: libcdvd-rpc.h:771
cdvdfsv_rpc4_outpacket_
Definition: libcdvd-rpc.h:128
cdvdfsv_rpc2_outpacket_
Definition: libcdvd-rpc.h:82
cdvdfsv_rpc1_outpacket_
Definition: libcdvd-rpc.h:69
cdvdfsv_rpc3_1B_inpacket_
Definition: libcdvd-rpc.h:215
cdvdfsv_rpc3_20_outpacket_
Definition: libcdvd-rpc.h:513
cdvdReadKeyParam
Definition: libcdvd-rpc.h:55
cdvdfsv_rpc3_2B_inpacket_
Definition: libcdvd-rpc.h:259
cdvdfsv_rpc3_06_outpacket_
Definition: libcdvd-rpc.h:382
cdvdfsv_rpc3_05_outpacket_
Definition: libcdvd-rpc.h:376
cdvdfsv_unaligned_data_outpacket_
Definition: libcdvd-rpc.h:87
cdvdfsv_rpc3_07_outpacket_
Definition: libcdvd-rpc.h:389
cdvdfsv_rpc3_09_outpacket_
Definition: libcdvd-rpc.h:404
cdvdfsv_rpc3_08_outpacket_
Definition: libcdvd-rpc.h:395
cdvdfsv_rpc3_02_outpacket_
Definition: libcdvd-rpc.h:370
cdvdfsv_rpc3_01_outpacket_
Definition: libcdvd-rpc.h:364
cdvdfsv_rpc5_05_inpacket_
Definition: libcdvd-rpc.h:785
libcdvd-common.h
cdvdfsv_rpc3_1D_inpacket_
Definition: libcdvd-rpc.h:220
cdvdfsv_rpc3_30_inpacket_
Definition: libcdvd-rpc.h:280
cdvdfsv_rpc3_2D_inpacket_
Definition: libcdvd-rpc.h:264
cdvdfsv_rpc3_20_inpacket_
Definition: libcdvd-rpc.h:230
sceCdRMode
Definition: libcdvd-common.h:233
cdvdfsv_rpc5_17_outpacket_
Definition: libcdvd-rpc.h:857
cdvdfsv_rpc5_0B_inpacket_
Definition: libcdvd-rpc.h:790
cdvdfsv_rpc5_11_outpacket_
Definition: libcdvd-rpc.h:851
cdvdfsv_rpc3_1A_outpacket_
Definition: libcdvd-rpc.h:488
cdvdfsv_rpc3_1B_outpacket_
Definition: libcdvd-rpc.h:495
cdvdfsv_rpc1_inpacket_
Definition: libcdvd-rpc.h:64
cdvdfsv_rpc3_outpacket_
Definition: libcdvd-rpc.h:684
cdvdfsv_rpc5_outpacket_
Definition: libcdvd-rpc.h:863
cdvdfsv_rpc3_1F_outpacket_
Definition: libcdvd-rpc.h:507
cdvdfsv_rpc3_22_inpacket_
Definition: libcdvd-rpc.h:235
cdvdfsv_rpc3_2F_inpacket_
Definition: libcdvd-rpc.h:275
cdvdfsv_rpc3_02_inpacket_
Definition: libcdvd-rpc.h:134
cdvdfsv_rpc3_3D_inpacket_
Definition: libcdvd-rpc.h:301
cdvdfsv_rpc5_01_inpacket_
Definition: libcdvd-rpc.h:750
cdvdfsv_rpc5_0D_inpacket_
Definition: libcdvd-rpc.h:805
cdvdfsv_rpc3_inpacket_
Definition: libcdvd-rpc.h:318
cdvdfsv_rpc3_07_inpacket_
Definition: libcdvd-rpc.h:144
cdvdfsv_rpc3_1C_outpacket_
Definition: libcdvd-rpc.h:501
cdvdfsv_rpc4_sz12c_inpacket_
Definition: libcdvd-rpc.h:97
cdvdfsv_rpc3_0A_inpacket_
Definition: libcdvd-rpc.h:165
cdvdfsv_rpc5_04_outpacket_
Definition: libcdvd-rpc.h:839