1
2 #include "syslib.h"
3
4 #include <string.h>
5 #include <minix/vm.h>
6
7 /*===========================================================================*
8 * vm_info_stats *
9 *===========================================================================*/
vm_info_stats(struct vm_stats_info * vsi)10 int vm_info_stats(struct vm_stats_info *vsi)
11 {
12 message m;
13
14 memset(&m, 0, sizeof(m));
15 m.m_lsys_vm_info.what = VMIW_STATS;
16 m.m_lsys_vm_info.ptr = vsi;
17
18 return _taskcall(VM_PROC_NR, VM_INFO, &m);
19 }
20
21 /*===========================================================================*
22 * vm_info_usage *
23 *===========================================================================*/
vm_info_usage(endpoint_t who,struct vm_usage_info * vui)24 int vm_info_usage(endpoint_t who, struct vm_usage_info *vui)
25 {
26 message m;
27
28 memset(&m, 0, sizeof(m));
29 m.m_lsys_vm_info.what = VMIW_USAGE;
30 m.m_lsys_vm_info.ep = who;
31 m.m_lsys_vm_info.ptr = vui;
32
33 return _taskcall(VM_PROC_NR, VM_INFO, &m);
34 }
35
36 /*===========================================================================*
37 * vm_info_region *
38 *===========================================================================*/
vm_info_region(endpoint_t who,struct vm_region_info * vri,int count,vir_bytes * next)39 int vm_info_region(endpoint_t who, struct vm_region_info *vri,
40 int count, vir_bytes *next)
41 {
42 message m;
43 int result;
44
45 memset(&m, 0, sizeof(m));
46 m.m_lsys_vm_info.what = VMIW_REGION;
47 m.m_lsys_vm_info.ep = who;
48 m.m_lsys_vm_info.count = count;
49 m.m_lsys_vm_info.ptr = vri;
50 m.m_lsys_vm_info.next = *next;
51
52 if ((result = _taskcall(VM_PROC_NR, VM_INFO, &m)) != OK)
53 return result;
54
55 *next = m.m_lsys_vm_info.next;
56 return m.m_lsys_vm_info.count;
57 }
58
59