sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
sifcmd-common.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright 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 __SIFCMD_COMMON_H__
18
#define __SIFCMD_COMMON_H__
19
20
#include <
tamtypes.h
>
21
23
typedef
struct
t_SifCmdHeader
24
{
26
u32
psize
: 8;
28
u32
dsize
: 24;
30
void
*
dest
;
32
int
cid
;
34
u32
opt
;
35
}
SifCmdHeader_t
;
36
38
#define SIF_CMD_ID_SYSTEM 0x80000000
39
40
#define SIF_CMD_CHANGE_SADDR (SIF_CMD_ID_SYSTEM | 0)
41
#define SIF_CMD_SET_SREG (SIF_CMD_ID_SYSTEM | 1)
42
#define SIF_CMD_INIT_CMD (SIF_CMD_ID_SYSTEM | 2)
43
#define SIF_CMD_RESET_CMD (SIF_CMD_ID_SYSTEM | 3)
44
#define SIF_CMD_RPC_END (SIF_CMD_ID_SYSTEM | 8)
45
#define SIF_CMD_RPC_BIND (SIF_CMD_ID_SYSTEM | 9)
46
#define SIF_CMD_RPC_CALL (SIF_CMD_ID_SYSTEM | 10)
47
#define SIF_CMD_RPC_RDATA (SIF_CMD_ID_SYSTEM | 12)
48
50
#define SIF_SREG_RPCINIT 0
51
55
typedef
struct
t_SifCmdSRegData
56
{
57
SifCmdHeader_t
header;
58
int
index;
59
unsigned
int
value;
60
}
SifCmdSRegData_t
;
61
62
#ifdef __cplusplus
63
extern
"C"
64
#endif
65
typedef
void (*SifCmdHandler_t)(
void
*data,
void
*harg);
66
67
typedef
struct
t_SifCmdHandlerData
68
{
69
SifCmdHandler_t handler;
70
void
*harg;
71
} SifCmdHandlerData_t;
72
73
typedef
struct
t_SifCmdSysHandlerData
74
{
75
SifCmdHandler_t handler;
76
void
*harg;
77
void
*unknown08;
78
} SifCmdSysHandlerData_t;
79
81
#define RESET_ARG_MAX 79
82
83
typedef
struct
_iop_reset_pkt
84
{
85
struct
t_SifCmdHeader
header;
86
int
arglen;
87
int
mode;
88
char
arg[
RESET_ARG_MAX
+ 1];
89
} SifCmdResetData_t;
90
91
#ifdef __cplusplus
92
extern
"C"
{
93
#endif
94
95
extern
void
sceSifInitCmd(
void
);
96
extern
void
sceSifExitCmd(
void
);
97
extern
unsigned
int
sceSifGetSreg(
int
sreg);
98
extern
void
sceSifSetSreg(
int
sreg,
unsigned
int
value);
99
extern
void
sceSifSetCmdBuffer(SifCmdHandlerData_t *db,
int
size);
100
extern
void
sceSifSetSysCmdBuffer(SifCmdSysHandlerData_t *db,
int
size);
101
extern
void
sceSifAddCmdHandler(
int
cid
, SifCmdHandler_t handler,
void
*harg);
102
extern
void
sceSifRemoveCmdHandler(
int
cid
);
103
extern
unsigned
int
sceSifSendCmd(
int
cid
,
void
*packet,
int
packet_size,
void
*src_extra,
104
void
*dest_extra,
int
size_extra);
105
extern
unsigned
int
isceSifSendCmd(
int
cid
,
void
*packet,
int
packet_size,
void
*src_extra,
106
void
*dest_extra,
int
size_extra);
107
108
#ifdef _EE
109
extern
void
sceSifWriteBackDCache(
void
*ptr,
int
size);
// EE only
110
#endif
111
#ifdef _IOP
112
extern
unsigned
int
sceSifSendCmdIntr(
int
cid
,
void
*packet,
int
packet_size,
void
*src_extra,
113
void
*dest_extra,
int
size_extra,
void
(*completioncb)(
void
*userdata),
void
*userdata);
114
extern
unsigned
int
isceSifSendCmdIntr(
int
cid
,
void
*packet,
int
packet_size,
void
*src_extra,
115
void
*dest_extra,
int
size_extra,
void
(*completioncb)(
void
*userdata),
void
*userdata);
116
#endif
117
118
#ifdef __cplusplus
119
}
120
#endif
121
122
// For backwards compatibility purposes
123
#define SifInitCmd(...) sceSifInitCmd(__VA_ARGS__)
124
#define SifExitCmd(...) sceSifExitCmd(__VA_ARGS__)
125
#define SifGetSreg(...) sceSifGetSreg(__VA_ARGS__)
126
#define SifSetCmdBuffer(...) sceSifSetCmdBuffer(__VA_ARGS__)
127
#define SifAddCmdHandler(...) sceSifAddCmdHandler(__VA_ARGS__)
128
#define SifRemoveCmdHandler(...) sceSifRemoveCmdHandler(__VA_ARGS__)
129
#define SifSendCmd(...) sceSifSendCmd(__VA_ARGS__)
130
#define iSifSendCmd(...) isceSifSendCmd(__VA_ARGS__)
131
#define SifWriteBackDCache(...) sceSifWriteBackDCache(__VA_ARGS__)
132
133
// Send mode bits
135
#define SIF_CMD_M_INTR 0x01
137
#define SIF_CMD_M_WBDC 0x04
138
139
#endif
/* __SIFCMD_COMMON_H__ */
SifCmdHeader_t
struct t_SifCmdHeader SifCmdHeader_t
RESET_ARG_MAX
#define RESET_ARG_MAX
Definition
sifcmd-common.h:81
SifCmdSRegData_t
struct t_SifCmdSRegData SifCmdSRegData_t
_iop_reset_pkt
Definition
sifcmd-common.h:84
t_SifCmdHandlerData
Definition
sifcmd-common.h:68
t_SifCmdHeader
Definition
sifcmd-common.h:24
t_SifCmdHeader::dest
void * dest
Definition
sifcmd-common.h:30
t_SifCmdHeader::opt
u32 opt
Definition
sifcmd-common.h:34
t_SifCmdHeader::psize
u32 psize
Definition
sifcmd-common.h:26
t_SifCmdHeader::dsize
u32 dsize
Definition
sifcmd-common.h:28
t_SifCmdHeader::cid
int cid
Definition
sifcmd-common.h:32
t_SifCmdSRegData
Definition
sifcmd-common.h:56
t_SifCmdSysHandlerData
Definition
sifcmd-common.h:74
tamtypes.h
core
common
include
sifcmd-common.h
Generated by
1.18.0