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