void rpc_push_str(const char* v) { uint32_t slen = strlen(v); rpc_push_uint(slen); _rpc_mr = rpc_marshall(_rpc_mr, v, slen); }
void rpc_push_buf_array(void* v, size_t sz, uint32_t count) { char *rv = (char*)v; rpc_push_uint(count); for (uint32_t i = 0; i < count; i++) { rpc_push_buf(rv + i * sz, sz); } }
refos_err_t proc_nice(int threadID, int priority) { int rpc__error_; refos_err_t __ret__; memset(&__ret__, 0, sizeof(refos_err_t)); rpc_init("proc_nice", RPC_PROC_NICE); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_uint(threadID); rpc_push_uint(priority); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(&__ret__, sizeof(refos_err_t)); rpc_release(); return __ret__; }
refos_err_t proc_window_map(seL4_CPtr window, uint32_t windowOffset, uint32_t srcAddr) { int rpc__error_; refos_err_t __ret__; memset(&__ret__, 0, sizeof(refos_err_t)); rpc_init("proc_window_map", RPC_PROC_WINDOW_MAP); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_cptr(window); rpc_push_uint(windowOffset); rpc_push_uint(srcAddr); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(&__ret__, sizeof(refos_err_t)); rpc_release(); return __ret__; }
seL4_CPtr proc_create_mem_window_internal(uint32_t vaddr, uint32_t size, uint32_t permissions, uint32_t flags, refos_err_t* errno) { int rpc__error_; seL4_CPtr __ret__; memset(&__ret__, 0, sizeof(seL4_CPtr)); rpc_init("proc_create_mem_window_internal", RPC_PROC_CREATE_MEM_WINDOW_INTERNAL); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_uint(vaddr); rpc_push_uint(size); rpc_push_uint(permissions); rpc_push_uint(flags); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(errno, sizeof(refos_err_t)); __ret__ = (seL4_CPtr) rpc_pop_cptr(); __ret__ = rpc_copyout_cptr(__ret__); rpc_release(); return __ret__; }
refos_err_t proc_exit(int32_t status) { int rpc__error_; refos_err_t __ret__; memset(&__ret__, 0, sizeof(refos_err_t)); rpc_init("proc_exit", RPC_PROC_EXIT); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_uint(status); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(&__ret__, sizeof(refos_err_t)); rpc_release(); return __ret__; }
seL4_CPtr proc_get_irq_handler(int irq) { int rpc__error_; seL4_CPtr __ret__; memset(&__ret__, 0, sizeof(seL4_CPtr)); rpc_init("proc_get_irq_handler", RPC_PROC_GET_IRQ_HANDLER); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_uint(irq); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } __ret__ = (seL4_CPtr) rpc_pop_cptr(); __ret__ = rpc_copyout_cptr(__ret__); rpc_release(); return __ret__; }
refos_err_t proc_set_parambuffer(seL4_CPtr dataspace, uint32_t size) { int rpc__error_; refos_err_t __ret__; memset(&__ret__, 0, sizeof(refos_err_t)); rpc_init("proc_set_parambuffer", RPC_PROC_SET_PARAMBUFFER); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_cptr(dataspace); rpc_push_uint(size); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(&__ret__, sizeof(refos_err_t)); rpc_release(); return __ret__; }
seL4_CPtr proc_get_mem_window(uint32_t vaddr) { int rpc__error_; seL4_CPtr __ret__; memset(&__ret__, 0, sizeof(seL4_CPtr)); rpc_init("proc_get_mem_window", RPC_PROC_GET_MEM_WINDOW); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_uint(vaddr); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } __ret__ = (seL4_CPtr) rpc_pop_cptr(); __ret__ = rpc_copyout_cptr(__ret__); rpc_release(); return __ret__; }
refos_err_t proc_resize_mem_window(seL4_CPtr window, uint32_t size) { int rpc__error_; refos_err_t __ret__; memset(&__ret__, 0, sizeof(refos_err_t)); rpc_init("proc_resize_mem_window", RPC_PROC_RESIZE_MEM_WINDOW); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_cptr(window); rpc_push_uint(size); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(&__ret__, sizeof(refos_err_t)); rpc_release(); return __ret__; }
int proc_clone_internal(seL4_Word entryPoint, seL4_Word childStack, int flags, seL4_Word arg, refos_err_t* errno) { int rpc__error_; int __ret__; memset(&__ret__, 0, sizeof(int)); rpc_init("proc_clone_internal", RPC_PROC_CLONE_INTERNAL); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_buf(&entryPoint, sizeof(seL4_Word)); rpc_push_buf(&childStack, sizeof(seL4_Word)); rpc_push_uint(flags); rpc_push_buf(&arg, sizeof(seL4_Word)); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(errno, sizeof(refos_err_t)); __ret__ = (int) rpc_pop_uint(); rpc_release(); return __ret__; }
refos_err_t proc_new_proc(char* name, char* params, bool block, int32_t priority, int32_t* status) { int rpc__error_; refos_err_t __ret__; memset(&__ret__, 0, sizeof(refos_err_t)); rpc_init("proc_new_proc", RPC_PROC_NEW_PROC); rpc_set_dest(REFOS_PROCSERV_EP); rpc_push_str(name); rpc_push_str(params); rpc_push_buf(&block, sizeof(bool)); rpc_push_uint(priority); rpc__error_ = rpc_call_server(); if (rpc__error_) { rpc_release(); return __ret__; } rpc_pop_buf(status, sizeof(int32_t)); rpc_pop_buf(&__ret__, sizeof(refos_err_t)); rpc_release(); return __ret__; }