PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
sifrpc.h File Reference
#include <sifcmd.h>
+ Include dependency graph for sifrpc.h:

Go to the source code of this file.

Data Structures

struct  t_SifRpcPktHeader
 
struct  t_SifRpcRendPkt
 
struct  t_SifRpcOtherDataPkt
 
struct  t_SifRpcBindPkt
 
struct  t_SifRpcCallPkt
 
struct  t_SifRpcServerData
 
struct  t_SifRpcHeader
 
struct  t_SifRpcClientData
 
struct  t_SifRpcReceiveData
 
struct  t_SifRpcDataQueue
 

Macros

#define SIF_RPC_M_NOWAIT   0x01
 
#define SIF_RPC_M_NOWBDC   0x02
 

Typedefs

typedef void *(* SifRpcFunc_t) (int fno, void *buffer, int length)
 
typedef void(* SifRpcEndFunc_t) (void *end_param)
 
typedef struct t_SifRpcPktHeader SifRpcPktHeader_t
 
typedef struct t_SifRpcRendPkt SifRpcRendPkt_t
 
typedef struct t_SifRpcOtherDataPkt SifRpcOtherDataPkt_t
 
typedef struct t_SifRpcBindPkt SifRpcBindPkt_t
 
typedef struct t_SifRpcCallPkt SifRpcCallPkt_t
 
typedef struct t_SifRpcServerData SifRpcServerData_t
 
typedef struct t_SifRpcHeader SifRpcHeader_t
 
typedef struct t_SifRpcClientData SifRpcClientData_t
 
typedef struct t_SifRpcReceiveData SifRpcReceiveData_t
 
typedef struct t_SifRpcDataQueue SifRpcDataQueue_t
 

Functions

void SifInitRpc (int mode)
 
void SifExitRpc (void)
 
int SifBindRpc (SifRpcClientData_t *client, int rpc_number, int mode)
 
int SifCallRpc (SifRpcClientData_t *client, int rpc_number, int mode, void *send, int ssize, void *receive, int rsize, SifRpcEndFunc_t end_function, void *end_param)
 
int SifRpcGetOtherData (SifRpcReceiveData_t *rd, void *src, void *dest, int size, int mode)
 
int SifCheckStatRpc (SifRpcClientData_t *cd)
 
SifRpcDataQueue_tSifSetRpcQueue (SifRpcDataQueue_t *q, int thread_id)
 
SifRpcDataQueue_tSifRemoveRpcQueue (SifRpcDataQueue_t *qd)
 
SifRpcServerData_tSifRegisterRpc (SifRpcServerData_t *srv, int sid, SifRpcFunc_t func, void *buff, SifRpcFunc_t cfunc, void *cbuff, SifRpcDataQueue_t *qd)
 
SifRpcServerData_tSifRemoveRpc (SifRpcServerData_t *sd, SifRpcDataQueue_t *queue)
 
SifRpcServerData_tSifGetNextRequest (SifRpcDataQueue_t *qd)
 
void SifExecRequest (SifRpcServerData_t *srv)
 
void SifRpcLoop (SifRpcDataQueue_t *q)
 

Detailed Description

EE SIF RPC commands prototypes

Definition in file sifrpc.h.


Data Structure Documentation

◆ t_SifRpcPktHeader

struct t_SifRpcPktHeader

Definition at line 39 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcPktHeader:
Data Fields
struct t_SifCmdHeader sifcmd
int rec_id
void * pkt_addr
int rpc_id

◆ t_SifRpcRendPkt

struct t_SifRpcRendPkt

Definition at line 47 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcRendPkt:
Data Fields
struct t_SifCmdHeader sifcmd
int rec_id
void * pkt_addr
int rpc_id
struct t_SifRpcClientData * client
u32 cid
struct t_SifRpcServerData * server
void * buff
void * cbuff

◆ t_SifRpcOtherDataPkt

struct t_SifRpcOtherDataPkt

Definition at line 61 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcOtherDataPkt:
Data Fields
struct t_SifCmdHeader sifcmd
int rec_id
void * pkt_addr
int rpc_id
struct t_SifRpcReceiveData * receive
void * src
void * dest
int size

◆ t_SifRpcBindPkt

struct t_SifRpcBindPkt

Definition at line 74 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcBindPkt:
Data Fields
struct t_SifCmdHeader sifcmd
int rec_id
void * pkt_addr
int rpc_id
struct t_SifRpcClientData * client
int sid

◆ t_SifRpcCallPkt

struct t_SifRpcCallPkt

Definition at line 84 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcCallPkt:
Data Fields
struct t_SifCmdHeader sifcmd
int rec_id
void * pkt_addr
int rpc_id
struct t_SifRpcClientData * client
int rpc_number
int send_size
void * receive
int recv_size
int rmode
struct t_SifRpcServerData * server

◆ t_SifRpcServerData

struct t_SifRpcServerData

Definition at line 99 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcServerData:
Data Fields
int sid
SifRpcFunc_t func
void * buff
int size
SifRpcFunc_t cfunc
void * cbuff
int size2
struct t_SifRpcClientData * client
void * pkt_addr
int rpc_number
void * receive
int rsize
int rmode
int rid
struct t_SifRpcServerData * link
struct t_SifRpcServerData * next
struct t_SifRpcDataQueue * base

◆ t_SifRpcHeader

struct t_SifRpcHeader

Definition at line 126 of file sifrpc.h.

Data Fields
void * pkt_addr
u32 rpc_id
int sema_id
u32 mode

◆ t_SifRpcClientData

struct t_SifRpcClientData

Definition at line 135 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcClientData:
Data Fields
struct t_SifRpcHeader hdr
u32 command
void * buff
void * cbuff
SifRpcEndFunc_t end_function
void * end_param
struct t_SifRpcServerData * server

◆ t_SifRpcReceiveData

struct t_SifRpcReceiveData

Definition at line 146 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcReceiveData:
Data Fields
struct t_SifRpcHeader hdr
void * src
void * dest
int size

◆ t_SifRpcDataQueue

struct t_SifRpcDataQueue

Definition at line 154 of file sifrpc.h.

+ Collaboration diagram for t_SifRpcDataQueue:
Data Fields
int thread_id
int active
struct t_SifRpcServerData * link
struct t_SifRpcServerData * start
struct t_SifRpcServerData * end
struct t_SifRpcDataQueue * next

Macro Definition Documentation

◆ SIF_RPC_M_NOWAIT

#define SIF_RPC_M_NOWAIT   0x01

Don't wait for end function

Definition at line 24 of file sifrpc.h.

◆ SIF_RPC_M_NOWBDC

#define SIF_RPC_M_NOWBDC   0x02

Don't write back the D cache

Definition at line 26 of file sifrpc.h.

Typedef Documentation

◆ SifRpcFunc_t

typedef void *(* SifRpcFunc_t) (int fno, void *buffer, int length)

Definition at line 32 of file sifrpc.h.

◆ SifRpcEndFunc_t

typedef void(* SifRpcEndFunc_t) (void *end_param)

Definition at line 33 of file sifrpc.h.