/* * \brief Component-local implementation of a PD session * \author Norman Feske * \date 2016-04-29 */ /* * Copyright (C) 2016-2017 Genode Labs GmbH * * This file is part of the Genode OS framework, which is distributed * under the terms of the GNU Affero General Public License version 3. */ #ifndef _INCLUDE__BASE__INTERNAL__LOCAL_PD_SESSION_H_ #define _INCLUDE__BASE__INTERNAL__LOCAL_PD_SESSION_H_ /* Genode includes */ #include #include /* base-internal includes */ #include #include #include #include namespace Genode { struct Local_pd_session; } struct Genode::Local_pd_session : Expanding_pd_session_client { Region_map_mmap _address_space { false }; Region_map_mmap _stack_area { true, stack_area_virtual_size() }; Region_map_mmap _linker_area { true, Pd_session::LINKER_AREA_SIZE }; Local_pd_session(Parent &parent, Pd_session_capability pd) : Expanding_pd_session_client(parent, pd) { } Capability address_space() override { return Local_capability::local_cap(&_address_space); } Capability stack_area() override { return Local_capability::local_cap(&_stack_area); } Capability linker_area() override { return Local_capability::local_cap(&_linker_area); } }; #endif /* _INCLUDE__BASE__INTERNAL__LOCAL_PD_SESSION_H_ */