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 15extern "C" { 16#endif 17 18status_t commpage_init(void); 19status_t commpage_init_post_cpus(void); 20void* allocate_commpage_entry(int entry, size_t size); 21addr_t fill_commpage_entry(int entry, const void* copyFrom, size_t size); 22image_id get_commpage_image(); 23area_id clone_commpage_area(team_id team, void** address); 24 25// implemented in the architecture specific part 26status_t arch_commpage_init(void); 27status_t arch_commpage_init_post_cpus(void); 28 29#ifdef __cplusplus 30} // extern "C" 31#endif 32 33#endif /* _KERNEL_COMMPAGE_H */ 34