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