page.h 697 B

1234567891011121314151617181920212223242526272829303132333435363738
  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_pages_free(void *addr, uint32_t size_bits);
  22. void rt_pageinfo_dump(void);
  23. size_t rt_page_bits(size_t size);
  24. void rt_page_get_info(size_t *total_nr, size_t *free_nr);
  25. #endif
  26. #endif /*__PAGE_H__*/