xref: /haiku/headers/private/kernel/commpage.h (revision 25a7b01d15612846f332751841da3579db313082)
1 /*
2  * Copyright 2007, Travis Geiselbrecht. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _KERNEL_COMMPAGE_H
6 #define _KERNEL_COMMPAGE_H
7 
8 #include <image.h>
9 #include <SupportDefs.h>
10 
11 #include <commpage_defs.h>
12 
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 status_t	commpage_init(void);
19 status_t	commpage_init_post_cpus(void);
20 void*		allocate_commpage_entry(int entry, size_t size);
21 addr_t		fill_commpage_entry(int entry, const void* copyFrom, size_t size);
22 image_id	get_commpage_image();
23 area_id		clone_commpage_area(team_id team, void** address);
24 
25 // implemented in the architecture specific part
26 status_t	arch_commpage_init(void);
27 status_t	arch_commpage_init_post_cpus(void);
28 
29 #ifdef __cplusplus
30 }	// extern "C"
31 #endif
32 
33 #endif	/* _KERNEL_COMMPAGE_H */
34