headers/bsd: Add sys/queue.h.
[haiku.git] / src / system / libroot / os / area.c
blob3c921332ace9bfb9cf8073eb8c43cec53bb02842
1 /*
2 ** Copyright 2002, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3 ** Distributed under the terms of the MIT License.
4 */
7 #include <OS.h>
9 #include <libroot_private.h>
11 #include "syscalls.h"
14 area_id
15 create_area(const char *name, void **address, uint32 addressSpec, size_t size,
16 uint32 lock, uint32 protection)
18 if (__gABIVersion < B_HAIKU_ABI_GCC_2_HAIKU)
19 protection |= B_EXECUTE_AREA;
20 return _kern_create_area(name, address, addressSpec, size, lock, protection);
24 area_id
25 clone_area(const char *name, void **address, uint32 addressSpec,
26 uint32 protection, area_id sourceArea)
28 if (__gABIVersion < B_HAIKU_ABI_GCC_2_HAIKU)
29 protection |= B_EXECUTE_AREA;
30 return _kern_clone_area(name, address, addressSpec, protection, sourceArea);
34 area_id
35 find_area(const char *name)
37 return _kern_find_area(name);
41 area_id
42 area_for(void *address)
44 return _kern_area_for(address);
48 status_t
49 delete_area(area_id id)
51 return _kern_delete_area(id);
55 status_t
56 resize_area(area_id id, size_t newSize)
58 return _kern_resize_area(id, newSize);
62 status_t
63 set_area_protection(area_id id, uint32 protection)
65 if (__gABIVersion < B_HAIKU_ABI_GCC_2_HAIKU)
66 protection |= B_EXECUTE_AREA;
67 return _kern_set_area_protection(id, protection);
71 status_t
72 _get_area_info(area_id id, area_info *areaInfo, size_t size)
74 // size is not yet used, but may, if area_info changes
75 (void)size;
77 return _kern_get_area_info(id, areaInfo);
81 status_t
82 _get_next_area_info(team_id team, ssize_t *cookie, area_info *areaInfo, size_t size)
84 // size is not yet used, but may, if area_info changes
85 (void)size;
87 return _kern_get_next_area_info(team, cookie, areaInfo);