sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
sifrpc.c File Reference
#include <tamtypes.h>
#include <ps2lib_err.h>
#include <kernel.h>
#include <sifcmd.h>
#include <sifrpc.h>
#include <iopcontrol.h>

Go to the source code of this file.

Classes

struct  rpc_data

Macros

#define RPC_PACKET_SIZE   64
#define PACKET_F_ALLOC   0x01

Functions

struct rpc_data __attribute__ ((aligned(64)))
void * _rpc_get_packet (struct rpc_data *rpc_data)
void * _rpc_get_fpacket (struct rpc_data *rpc_data)
int sceSifBindRpc (SifRpcClientData_t *cd, int sid, int mode)
int sceSifCallRpc (SifRpcClientData_t *cd, int rpc_number, int mode, void *sendbuf, int ssize, void *recvbuf, int rsize, SifRpcEndFunc_t end_function, void *end_param)
int sceSifGetOtherData (SifRpcReceiveData_t *rd, void *src, void *dest, int size, int mode)
void sceSifInitRpc (int mode)
void sceSifExitRpc (void)
void sceSifRegisterRpc (SifRpcServerData_t *sd, int sid, SifRpcFunc_t func, void *buf, SifRpcFunc_t cfunc, void *cbuf, SifRpcDataQueue_t *qd)
SifRpcServerData_t * sceSifRemoveRpc (SifRpcServerData_t *sd, SifRpcDataQueue_t *qd)
void sceSifSetRpcQueue (SifRpcDataQueue_t *qd, int thread_id)
SifRpcDataQueue_t * sceSifRemoveRpcQueue (SifRpcDataQueue_t *qd)
SifRpcServerData_t * sceSifGetNextRequest (SifRpcDataQueue_t *qd)
void sceSifExecRequest (SifRpcServerData_t *sd)
void sceSifRpcLoop (SifRpcDataQueue_t *qd)
int sceSifCheckStatRpc (SifRpcClientData_t *cd)

Variables

int pid
void * pkt_table
int pkt_table_len
int unused1
int unused2
u8 * rdata_table
int rdata_table_len
u8 * client_table
int client_table_len
int rdata_table_idx
void * active_queue
struct rpc_data _sif_rpc_data

Detailed Description

EE SIF RPC commands MRB: This file now contains the SIF routines included with libpsware. Bug reports welcome.

Definition in file sifrpc.c.

Macro Definition Documentation

◆ PACKET_F_ALLOC

#define PACKET_F_ALLOC   0x01

Set if the packet has been allocated

Definition at line 29 of file sifrpc.c.

◆ RPC_PACKET_SIZE

#define RPC_PACKET_SIZE   64

Definition at line 26 of file sifrpc.c.

Function Documentation

◆ _rpc_get_fpacket()

void * _rpc_get_fpacket ( struct rpc_data * rpc_data)

Definition at line 98 of file sifrpc.c.

◆ _rpc_get_packet()

void * _rpc_get_packet ( struct rpc_data * rpc_data)

Definition at line 59 of file sifrpc.c.

◆ sceSifBindRpc()

int sceSifBindRpc ( SifRpcClientData_t * cd,
int sid,
int mode )

Definition at line 108 of file sifrpc.c.

◆ sceSifCallRpc()

int sceSifCallRpc ( SifRpcClientData_t * cd,
int rpc_number,
int mode,
void * sendbuf,
int ssize,
void * recvbuf,
int rsize,
SifRpcEndFunc_t end_function,
void * end_param )

Definition at line 156 of file sifrpc.c.

◆ sceSifCheckStatRpc()

int sceSifCheckStatRpc ( SifRpcClientData_t * cd)

Definition at line 650 of file sifrpc.c.

◆ sceSifExecRequest()

void sceSifExecRequest ( SifRpcServerData_t * sd)

Definition at line 585 of file sifrpc.c.

◆ sceSifExitRpc()

void sceSifExitRpc ( void )

Definition at line 449 of file sifrpc.c.

◆ sceSifGetNextRequest()

SifRpcServerData_t * sceSifGetNextRequest ( SifRpcDataQueue_t * qd)

Definition at line 559 of file sifrpc.c.

◆ sceSifGetOtherData()

int sceSifGetOtherData ( SifRpcReceiveData_t * rd,
void * src,
void * dest,
int size,
int mode )

Definition at line 220 of file sifrpc.c.

◆ sceSifInitRpc()

void sceSifInitRpc ( int mode)

Definition at line 392 of file sifrpc.c.

◆ sceSifRegisterRpc()

void sceSifRegisterRpc ( SifRpcServerData_t * sd,
int sid,
SifRpcFunc_t func,
void * buf,
SifRpcFunc_t cfunc,
void * cbuf,
SifRpcDataQueue_t * qd )

Definition at line 455 of file sifrpc.c.

◆ sceSifRemoveRpc()

SifRpcServerData_t * sceSifRemoveRpc ( SifRpcServerData_t * sd,
SifRpcDataQueue_t * qd )

Definition at line 484 of file sifrpc.c.

◆ sceSifRemoveRpcQueue()

SifRpcDataQueue_t * sceSifRemoveRpcQueue ( SifRpcDataQueue_t * qd)

Definition at line 535 of file sifrpc.c.

◆ sceSifRpcLoop()

void sceSifRpcLoop ( SifRpcDataQueue_t * qd)

Definition at line 638 of file sifrpc.c.

◆ sceSifSetRpcQueue()

void sceSifSetRpcQueue ( SifRpcDataQueue_t * qd,
int thread_id )

Definition at line 508 of file sifrpc.c.

Variable Documentation

◆ _sif_rpc_data

struct rpc_data _sif_rpc_data

Definition at line 274 of file sifrpc.c.

◆ active_queue

void* active_queue

Definition at line 10 of file sifrpc.c.

◆ client_table

u8 client_table

Definition at line 7 of file sifrpc.c.

◆ client_table_len

int client_table_len

Definition at line 8 of file sifrpc.c.

◆ pid

int pid

Definition at line 0 of file sifrpc.c.

◆ pkt_table

u8 pkt_table

Definition at line 1 of file sifrpc.c.

◆ pkt_table_len

int pkt_table_len

Definition at line 2 of file sifrpc.c.

◆ rdata_table

u8 rdata_table

Definition at line 5 of file sifrpc.c.

◆ rdata_table_idx

int rdata_table_idx

Definition at line 9 of file sifrpc.c.

◆ rdata_table_len

int rdata_table_len

Definition at line 6 of file sifrpc.c.

◆ unused1

int unused1

Definition at line 3 of file sifrpc.c.

◆ unused2

int unused2

Definition at line 4 of file sifrpc.c.