1/*
2 * Copyright 2002, Axel D��rfler, axeld@pinc-software.de. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include <OS.h>
8
9#include <libroot_private.h>
10
11#include "syscalls.h"
12
13
14area_id
15create_area(const char *name, void **address, uint32 addressSpec, size_t size,
16	uint32 lock, uint32 protection)
17{
18	if (__gABIVersion < B_HAIKU_ABI_GCC_2_HAIKU)
19		protection |= B_EXECUTE_AREA | B_CLONEABLE_AREA;
20	return _kern_create_area(name, address, addressSpec, size, lock, protection);
21}
22
23
24area_id
25clone_area(const char *name, void **address, uint32 addressSpec,
26	uint32 protection, area_id sourceArea)
27{
28	if (__gABIVersion < B_HAIKU_ABI_GCC_2_HAIKU)
29		protection |= B_EXECUTE_AREA | B_CLONEABLE_AREA;
30	return _kern_clone_area(name, address, addressSpec, protection, sourceArea);
31}
32
33
34area_id
35find_area(const char *name)
36{
37	return _kern_find_area(name);
38}
39
40
41area_id
42area_for(void *address)
43{
44	return _kern_area_for(address);
45}
46
47
48status_t
49delete_area(area_id id)
50{
51	return _kern_delete_area(id);
52}
53
54
55status_t
56resize_area(area_id id, size_t newSize)
57{
58	return _kern_resize_area(id, newSize);
59}
60
61
62status_t
63set_area_protection(area_id id, uint32 protection)
64{
65	if (__gABIVersion < B_HAIKU_ABI_GCC_2_HAIKU)
66		protection |= B_EXECUTE_AREA;
67	return _kern_set_area_protection(id, protection);
68}
69
70
71status_t
72_get_area_info(area_id id, area_info *areaInfo, size_t size)
73{
74	// size is not yet used, but may, if area_info changes
75	(void)size;
76
77	return _kern_get_area_info(id, areaInfo);
78}
79
80
81status_t
82_get_next_area_info(team_id team, ssize_t *cookie, area_info *areaInfo, size_t size)
83{
84	// size is not yet used, but may, if area_info changes
85	(void)size;
86
87	return _kern_get_next_area_info(team, cookie, areaInfo);
88}
89
90