paul@0 | 1 | #pragma once |
paul@0 | 2 | |
paul@30 | 3 | #include <systypes/base.h> |
paul@0 | 4 | |
paul@0 | 5 | #define PAGE_SIZE 4096 |
paul@0 | 6 | |
paul@0 | 7 | |
paul@0 | 8 | |
paul@0 | 9 | /* Address arithmetic. */ |
paul@0 | 10 | |
paul@91 | 11 | length_t page(unsigned int n); |
paul@91 | 12 | |
paul@91 | 13 | unsigned int page_order(length_t size); |
paul@0 | 14 | |
paul@91 | 15 | length_t round(length_t value, length_t increment); |
paul@0 | 16 | |
paul@91 | 17 | offset_t round_offset(offset_t value, length_t increment); |
paul@0 | 18 | |
paul@91 | 19 | length_t round_multiple(length_t value, length_t increment); |
paul@0 | 20 | |
paul@91 | 21 | length_t trunc(length_t value, length_t increment); |
paul@0 | 22 | |
paul@91 | 23 | offset_t trunc_offset(offset_t value, length_t increment); |
paul@0 | 24 | |
paul@91 | 25 | length_t trunc_multiple(length_t value, length_t increment); |
paul@91 | 26 | |
paul@91 | 27 | length_t max_multiple(length_t start, length_t end, length_t increment); |
paul@0 | 28 | |
paul@0 | 29 | // vim: tabstop=4 expandtab shiftwidth=4 |