#include <mach/vm_page_size.h> also included by <mach/mach.h>

mach/vm_page_size.h

includes: Availability.h, mach/mach_types.h, sys/cdefs.h
6 variables · 6 macros

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)