Exemple #1
0
void cmd80000009_BIND(RPC_PACKET_BIND *packet, struct tag_rpc_common *common){
	RPC_PACKET_END *epacket;
	struct sifcmd_RPC_SERVER_DATA *s;

	epacket = (RPC_PACKET_END *)rpc_get_fpacket(common);

	epacket->packet.paddr=packet->packet.paddr;
	epacket->command=0x80000009;
	epacket->client=packet->client;
	
	s = search_svdata(packet->fno, common);
	if (s == NULL){
		epacket->server=0;
		epacket->buff  =0;
		epacket->cbuff =0;
	}else{
		epacket->server=s;
		epacket->buff  =s->buff;
		epacket->cbuff =s->cbuff;
	}
	iSifSendCmd(0x80000008, epacket, 0x40, 0, 0, 0);
}
Exemple #2
0
/* Command 0x80000009 */
static void _request_bind(SifRpcBindPkt_t *bind, void *data)
{
	SifRpcRendPkt_t *rend;
	SifRpcServerData_t *server;

	rend = _rpc_get_fpacket(data);
	rend->pkt_addr = bind->pkt_addr;
	rend->client = bind->client;
	rend->cid = 0x80000009;

	server = search_svdata(bind->sid, data);
	if (!server) {
		rend->server = NULL;
		rend->buff   = NULL;
		rend->cbuff  = NULL;
	} else {
		rend->server = server;
		rend->buff   = server->buff;
		rend->cbuff  = server->cbuff;
	}

	iSifSendCmd(0x80000008, rend, 64, NULL, NULL, 0);
}