1 2 #include "syslib.h" 3 4 #include <string.h> 5 #include <minix/vm.h> 6 7 /*===========================================================================* 8 * vm_info_stats * 9 *===========================================================================*/ 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 *===========================================================================*/ 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 *===========================================================================*/ 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