xref: /minix3/minix/lib/libsys/vm_procctl.c (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1 
2 #include "syslib.h"
3 
4 #include <minix/vm.h>
5 #include <string.h>
6 
7 /*===========================================================================*
8  *                                vm_procctl				     *
9  *===========================================================================*/
vm_procctl(endpoint_t ep,int param,vir_bytes m1,vir_bytes len,int flags)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 
vm_procctl_clear(endpoint_t ep)28 int vm_procctl_clear(endpoint_t ep)
29 {
30 	return vm_procctl(ep, VMPPARAM_CLEAR, 0, 0, 0);
31 }
32 
vm_procctl_handlemem(endpoint_t ep,vir_bytes m1,vir_bytes len,int writeflag)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