page.h 751 B

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