/* * \brief Client-side pd session interface * \author Christian Helmuth * \date 2006-07-12 */ /* * Copyright (C) 2006-2013 Genode Labs GmbH * * This file is part of the Genode OS framework, which is distributed * under the terms of the GNU General Public License version 2. */ #ifndef _INCLUDE__PD_SESSION__CLIENT_H_ #define _INCLUDE__PD_SESSION__CLIENT_H_ #include #include namespace Genode { struct Pd_session_client; } struct Genode::Pd_session_client : Rpc_client { explicit Pd_session_client(Pd_session_capability session) : Rpc_client(session) { } int bind_thread(Thread_capability thread) override { return call(thread); } int assign_parent(Capability parent) override { return call(parent); } bool assign_pci(addr_t pci_config_memory_address, uint16_t bdf) override { return call(pci_config_memory_address, bdf); } Signal_source_capability alloc_signal_source() override { return call(); } void free_signal_source(Signal_source_capability cap) override { call(cap); } Signal_context_capability alloc_context(Signal_source_capability source, unsigned long imprint) override { return call(source, imprint); } void free_context(Signal_context_capability cap) override { call(cap); } void submit(Signal_context_capability receiver, unsigned cnt = 1) override { call(receiver, cnt); } }; #endif /* _INCLUDE__PD_SESSION__CLIENT_H_ */