int mscbbus_exit(MSCBBUS_INFO * info) { mscb_exit(info->fd); return SUCCESS; }
int server_execute(int index, void *prpc_param[]) { int status; switch (index) { default: abort(); break; case RPC_MSCB_INIT: status = mscb_init(CSTRING(0), CINT(1), CINT(2)); break; case RPC_MSCB_EXIT: status = mscb_exit(CINT(0)); break; case RPC_MSCB_REBOOT: status = mscb_reboot(CINT(0), CINT(1)); break; case RPC_MSCB_RESET: status = mscb_reset(CINT(0)); break; case RPC_MSCB_PING: status = mscb_ping(CINT(0), CINT(1)); break; case RPC_MSCB_INFO: status = mscb_info(CINT(0), CINT(1), CARRAY(2)); break; case RPC_MSCB_INFO_VARIABLE: status = mscb_info_variable(CINT(0), CINT(1), CINT(2), CARRAY(3)); break; case RPC_MSCB_SET_ADDR: status = mscb_set_addr(CINT(0), CINT(1), CINT(2), CINT(3)); break; case RPC_MSCB_SET_NAME: status = mscb_set_name(CINT(0), CINT(1), CSTRING(2)); break; case RPC_MSCB_WRITE_GROUP: status = mscb_write_group(CINT(0), CINT(1), CBYTE(2), CARRAY(3), CINT(4)); break; case RPC_MSCB_WRITE: status = mscb_write(CINT(0), CINT(1), CBYTE(2), CARRAY(3), CINT(4)); break; case RPC_MSCB_FLASH: status = mscb_flash(CINT(0), CINT(1)); break; case RPC_MSCB_UPLOAD: status = mscb_upload(CINT(0), CINT(1), CARRAY(2), CINT(3), CINT(4)); break; case RPC_MSCB_READ: status = mscb_read(CINT(0), CINT(1), CBYTE(2), CARRAY(3), CPINT(4)); break; case RPC_MSCB_READ_RANGE: status = mscb_read_range(CINT(0), CINT(1), CBYTE(2), CBYTE(3), CARRAY(4), CPINT(5)); break; case RPC_MSCB_ECHO: status = mscb_echo(CINT(0), CINT(1), CBYTE(2), CPBYTE(3)); break; case RPC_MSCB_USER: status = mscb_user(CINT(0), CINT(1), CARRAY(2), CINT(3), CARRAY(4), CPINT(5)); break; case RPC_MSCB_ADDR: status = mscb_addr(CINT(0), CINT(1), CINT(2), CINT(3), CINT(4)); break; } return status; }