1*433d6423SLionel Sambuc
2*433d6423SLionel Sambuc #include "syslib.h"
3*433d6423SLionel Sambuc
4*433d6423SLionel Sambuc #include <minix/vm.h>
5*433d6423SLionel Sambuc #include <string.h>
6*433d6423SLionel Sambuc
7*433d6423SLionel Sambuc /*===========================================================================*
8*433d6423SLionel Sambuc * vm_procctl *
9*433d6423SLionel Sambuc *===========================================================================*/
vm_procctl(endpoint_t ep,int param,vir_bytes m1,vir_bytes len,int flags)10*433d6423SLionel Sambuc static int vm_procctl(endpoint_t ep, int param,
11*433d6423SLionel Sambuc vir_bytes m1, vir_bytes len, int flags)
12*433d6423SLionel Sambuc {
13*433d6423SLionel Sambuc message m;
14*433d6423SLionel Sambuc int result;
15*433d6423SLionel Sambuc
16*433d6423SLionel Sambuc memset(&m, 0, sizeof(m));
17*433d6423SLionel Sambuc
18*433d6423SLionel Sambuc m.VMPCTL_WHO = ep;
19*433d6423SLionel Sambuc m.VMPCTL_PARAM = param;
20*433d6423SLionel Sambuc m.VMPCTL_M1 = m1;
21*433d6423SLionel Sambuc m.VMPCTL_LEN = len;
22*433d6423SLionel Sambuc m.VMPCTL_FLAGS = flags;
23*433d6423SLionel Sambuc
24*433d6423SLionel Sambuc result = _taskcall(VM_PROC_NR, VM_PROCCTL, &m);
25*433d6423SLionel Sambuc return(result);
26*433d6423SLionel Sambuc }
27*433d6423SLionel Sambuc
vm_procctl_clear(endpoint_t ep)28*433d6423SLionel Sambuc int vm_procctl_clear(endpoint_t ep)
29*433d6423SLionel Sambuc {
30*433d6423SLionel Sambuc return vm_procctl(ep, VMPPARAM_CLEAR, 0, 0, 0);
31*433d6423SLionel Sambuc }
32*433d6423SLionel Sambuc
vm_procctl_handlemem(endpoint_t ep,vir_bytes m1,vir_bytes len,int writeflag)33*433d6423SLionel Sambuc int vm_procctl_handlemem(endpoint_t ep, vir_bytes m1, vir_bytes len,
34*433d6423SLionel Sambuc int writeflag)
35*433d6423SLionel Sambuc {
36*433d6423SLionel Sambuc return vm_procctl(ep, VMPPARAM_HANDLEMEM, m1, len, writeflag);
37*433d6423SLionel Sambuc }
38*433d6423SLionel Sambuc
39