3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; version 2 of the License.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #define PS3SS_FID_VTRM 0x2000
23 #define PS3SS_PID_VTRM_GET_STATUS 0x2002
25 #define PS3SS_FID_SRTC 0x3000
26 #define PS3SS_PID_SRTC_GET_TIME 0x3002
28 #define PS3SS_FID_SM 0x5000
29 #define PS3SS_PID_SM_SET_ENCDEC_KEY 0x5001
30 #define PS3SS_PID_SM_SET_DEL_ENCDEC_KEY 0x5002
31 #define PS3SS_PID_SM_GET_RND_NUMBER 0x5003
32 #define PS3SS_PID_SM_DRIVE_AUTH 0x5004
33 #define PS3SS_PID_SM_PS2_DISC_AUTH 0x5005
34 #define PS3SS_PID_SM_GET_VERSION 0x5006
35 #define PS3SS_PID_SM_DRIVE_CTRL 0x5007
37 #define PS3SS_FID_UM 0x6000
38 #define PS3SS_PID_UM_UPDATE_PKG 0x6001
39 #define PS3SS_PID_UM_INSPECT_PKG 0x6002
40 #define PS3SS_PID_UM_GET_PKG_INFO 0x6003
41 #define PS3SS_PID_UM_GET_FIX_INSTR 0x6004
42 #define PS3SS_PID_UM_EXTRACT_PKG 0x6005
43 #define PS3SS_PID_UM_GET_EXTRACT_PKG 0x6006
44 #define PS3SS_PID_UM_GET_TOKEN_SEED 0x6009
45 #define PS3SS_PID_UM_SET_TOKEN 0x600a
46 #define PS3SS_PID_UM_READ_EPROM 0x600b
47 #define PS3SS_PID_UM_WRITE_EPROM 0x600c
48 #define PS3SS_PID_UM_CHECK_INT 0x6010
49 #define PS3SS_PID_UM_GET_APPL_VER 0x6011
51 #define PS3SS_FID_SCM 0x9000
52 #define PS3SS_PID_SCM_GET_REGION_DATA 0x9006
53 #define PS3SS_PID_SCM_GET_TIME 0x9009
54 #define PS3SS_PID_SCM_READ_EPROM 0x900b
55 #define PS3SS_PID_SCM_WRITE_EPROM 0x900c
56 #define PS3SS_PID_SCM_GET_SC_STATUS 0x900e
58 #define PS3SS_FID_IIM 0x17000
59 #define PS3SS_PID_IIM_GET_DATA_SIZE 0x17001
60 #define PS3SS_PID_IIM_GET_DATA 0x17002
61 #define PS3SS_PID_IIM_GET_CISD_SIZE 0x17015
63 #define PS3SS_FID_AIM 0x19000
64 #define PS3SS_PID_AIM_GET_DEV_TYPE 0x19002
65 #define PS3SS_PID_AIM_GET_DEV_ID 0x19003
66 #define PS3SS_PID_AIM_GET_PS_CODE 0x19004
67 #define PS3SS_PID_AIM_GET_OPEN_PS_ID 0x19005
69 #define PS3SS_FID_USB_DONGLE_AUTH 0x24000
70 #define PS3SS_PID_USB_DONGLE_AUTH_GEN_CHALLENGE 0x24001
71 #define PS3SS_PID_USB_DONGLE_AUTH_VERIFY_RESP 0x24002
82 #define PS3SS_HDR_SIZE sizeof(struct ps3ss_hdr)
84 struct ps3ss_vtrm_get_status
{
93 struct ps3ss_srtc_get_time
{
99 struct ps3ss_sm_set_encdec_key
{
105 struct ps3ss_sm_set_del_encdec_key
{
109 struct ps3ss_sm_get_rnd_number
{
113 struct ps3ss_sm_drive_auth
{
117 struct ps3ss_sm_ps2_disc_auth
{
121 struct ps3ss_sm_get_version
{
125 struct ps3ss_sm_drive_ctrl
{
130 struct ps3ss_um_update_pkg
{
131 uint32_t in_lpar_mem
;
148 /* uint64_t request_id */
151 struct ps3ss_um_get_pkg_info
{
157 struct ps3ss_um_get_fix_instr
{
161 struct ps3ss_um_get_extract_pkg
{
162 uint32_t in_lpar_mem
;
172 struct ps3ss_um_get_token_seed
{
179 struct ps3ss_um_read_eprom
{
185 struct ps3ss_um_write_eprom
{
191 struct ps3ss_scm_get_region_data
{
197 struct ps3ss_scm_get_time
{
203 struct ps3ss_scm_read_eprom
{
212 struct ps3ss_scm_write_eprom
{
221 struct ps3ss_scm_get_sc_status
{
228 struct ps3ss_iim_get_data_size
{
233 struct ps3ss_iim_get_data
{
237 /* uint64_t data_size */
240 struct ps3ss_iim_get_cisd_size
{
244 struct ps3ss_aim_get_dev_type
{
248 struct ps3ss_aim_get_dev_id
{
252 struct ps3ss_aim_get_ps_code
{
256 struct ps3ss_aim_get_open_ps_id
{
260 struct ps3ss_usb_dongle_auth_gen_challenge
{
262 uint8_t challenge
[20];
265 struct ps3ss_usb_dongle_auth_verify_resp
{
268 uint8_t response
[20];
269 } __attribute__ ((packed
));