xref: /minix3/minix/lib/libsys/vm_procctl.c (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
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