page.h 638 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2021-01-29 lizhirui first version
  9. */
  10. #ifndef __PAGE_H__
  11. #define __PAGE_H__
  12. typedef struct tag_region
  13. {
  14. size_t start;
  15. size_t end;
  16. }rt_region_t;
  17. rt_size_t rt_page_bits(rt_size_t size);
  18. void *rt_pages_alloc(rt_size_t size_bits);
  19. void rt_page_ref_inc(void *addr, uint32_t size_bits);
  20. void rt_pages_free(void *addr,rt_size_t size_bits);
  21. void rt_pageinfo_dump();
  22. void rt_page_get_info(size_t *total_nr, size_t *free_nr);
  23. void rt_page_init(rt_region_t reg);
  24. #endif