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; }
//-------------------------------------------------------------- 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; }
//-------------------------------------------------------------- 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; }