Ejemplo n.º 1
0
Archivo: dma.c Proyecto: jgraef/meinOS
int main(int argc,char *argv[]) {
  dma_init();
  rpc_func(dma_start,"iiii",sizeof(int)*4);
  rpc_func(dma_stop,"i",sizeof(int));
  rpc_func(dma_isready,"i",sizeof(int));
  rpc_mainloop(-1);

  return 0;
}
Ejemplo n.º 2
0
//--------------------------------------------------------------
void *cb_rpc_S_0400(u32 fno, void *buf, int size)
{
	// Rpc Callback function

	register int i;

	if (mcman_type == XMCMAN) {
		for (i=0; i<16; i++) { // retrieve correct function number for xmcserv
			if (fno == XMCSERV_RpcCmd[0][i]) {
				fno = XMCSERV_RpcCmd[1][i];
				break;
			}
		}
	}
	else { // retrieve correct function number for mcserv
		fno -= 112;
		if (fno > 16)
			return (void *)&rpc_stat;
	}

	// Get function pointer
	rpc_func = (void *)rpc_funcs_array[fno];

	// Call needed rpc func
	rpc_stat.rpc_func_ret = rpc_func();

	McReplaceBadBlock();

	return (void *)&rpc_stat;
}
Ejemplo n.º 3
0
//--------------------------------------------------------------
void *cb_rpc_S_0A10(u32 fno, void *buf, int size)
{
	// Rpc Callback function

	if (fno >= 16)
		return (void *)&rpc_stat;

	// Get function pointer
	rpc_func = (void *)rpc_funcs_array[fno];

	// Call needed rpc func
	rpc_stat.rpc_func_ret = rpc_func();

	//return (void *)&rpc_stat;
	return (void *)buf;
}