#define _SYSTEM 1 #define VERBOSE 0 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "glo.h" #include "proto.h" #include "util.h" /*===========================================================================* * do_rs_set_priv * *===========================================================================*/ PUBLIC int do_rs_set_priv(message *m) { int r, n, nr; struct vmproc *vmp; nr = m->VM_RS_NR; if ((r = vm_isokendpt(nr, &n)) != OK) { printf("do_rs_set_priv: message from strange source %d\n", nr); return EINVAL; } vmp = &vmproc[n]; if (m->VM_RS_BUF) { r = sys_datacopy(m->m_source, (vir_bytes) m->VM_RS_BUF, SELF, (vir_bytes) vmp->vm_call_priv_mask, sizeof(vmp->vm_call_priv_mask)); if (r != OK) return r; } return OK; }