#include <mach/vm_page_size.h> also included by
<mach/mach.h>mach/vm_page_size.h
variablevm_page_size
Globally interesting numbers.
These macros assume vm_page_size is a power-of-2.
extern vm_size_t vm_page_size
variablevm_page_mask
extern vm_size_t vm_page_mask
variablevm_page_shift
extern int vm_page_shift
macrotrunc_page
These macros assume vm_page_size is a power-of-2.
#define trunc_page(x) ((x) & (~(vm_page_size - 1)))
macroround_page
#define round_page(x) trunc_page((x) + (vm_page_size - 1))
macromach_vm_trunc_page
Page-size rounding macros for the fixed-width VM types.
#define mach_vm_trunc_page(x) ((mach_vm_offset_t)(x) & ~((signed)vm_page_mask))
macromach_vm_round_page
#define mach_vm_round_page(x) (((mach_vm_offset_t)(x) + vm_page_mask) & ~((signed)vm_page_mask))
variablevm_kernel_page_size
extern vm_size_t vm_kernel_page_size
variablevm_kernel_page_mask
extern vm_size_t vm_kernel_page_mask
variablevm_kernel_page_shift
extern int vm_kernel_page_shift
macrotrunc_page_kernel
#define trunc_page_kernel(x) ((x) & (~vm_kernel_page_mask))
macroround_page_kernel
#define round_page_kernel(x) trunc_page_kernel((x) + vm_kernel_page_mask)