static sg_error sg_mem_init_comp(unsigned id) { ssize_t pagesize; #if defined(HAVE_STRUCT_VMTOTAL) && \ !(defined(HAVE_STRUCT_UVMEXP_SYSCTL) && defined(VM_UVMEXP2)) && \ !(defined(HAVE_STRUCT_UVMEXP) && defined(VM_UVMEXP)) && \ !defined(DARWIN) size_t len = lengthof(vmtotal_mib); #endif GLOBAL_SET_ID(mem,id); #if defined(HAVE_STRUCT_VMTOTAL) && \ !(defined(HAVE_STRUCT_UVMEXP_SYSCTL) && defined(VM_UVMEXP2)) && \ !(defined(HAVE_STRUCT_UVMEXP) && defined(VM_UVMEXP)) && \ !defined(DARWIN) if( -1 == sysctlnametomib( "vm.vmtotal", vmtotal_mib, &len ) ) { RETURN_WITH_SET_ERROR_WITH_ERRNO("mem", SG_ERROR_SYSCTLNAMETOMIB, "vm.vmtotal"); } #endif if((pagesize = sg_get_sys_page_size()) == -1) { RETURN_WITH_SET_ERROR_WITH_ERRNO("mem", SG_ERROR_SYSCONF, "_SC_PAGESIZE"); } #if defined(HAVE_HOST_STATISTICS) || defined(HAVE_HOST_STATISTICS64) self_host_port = mach_host_self(); #endif return SG_ERROR_NONE; }
static sg_error sg_swap_init_comp(unsigned id) { ssize_t pagesize; #if defined(HAVE_STRUCT_XSWDEV) size_t len = lengthof(swapinfo_mib); #endif GLOBAL_SET_ID(swap,id); if((pagesize = sg_get_sys_page_size()) == -1) { RETURN_WITH_SET_ERROR_WITH_ERRNO("swap", SG_ERROR_SYSCONF, "_SC_PAGESIZE"); } #if defined(HAVE_STRUCT_XSWDEV) if( sysctlnametomib("vm.swap_info", swapinfo_mib, &len) < 0 ) { if( sysctlnametomib("vm.swap_info_array", swapinfo_mib, &len) < 0 ) { RETURN_WITH_SET_ERROR_WITH_ERRNO("mem", SG_ERROR_SYSCTLNAMETOMIB, "vm.swap_info + vm.swap_info_array"); } else { swapinfo_array = true; swapinfo_sysctl_name = "vm.swap_info_array"; } } else { swapinfo_array = false; swapinfo_sysctl_name = "vm.swap_info"; } #endif return SG_ERROR_NONE; }