/* * \brief Client-side pd session interface * \author Christian Helmuth * \date 2006-07-12 */ /* * Copyright (C) 2006-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__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) { } void assign_parent(Capability parent) override { call(parent); } bool assign_pci(addr_t pci_config_memory_address, uint16_t bdf) override { return call(pci_config_memory_address, bdf); } void map(addr_t virt, addr_t size) override { call(virt, size); } 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); } Native_capability alloc_rpc_cap(Native_capability ep) override { return call(ep); } void free_rpc_cap(Native_capability cap) override { call(cap); } Capability address_space() override { return call(); } Capability stack_area() override { return call(); } Capability linker_area() override { return call(); } void ref_account(Capability pd) override { call(pd); } void transfer_quota(Capability pd, Cap_quota amount) override { call(pd, amount); } Cap_quota cap_quota() const override { return call(); } Cap_quota used_caps() const override { return call(); } Alloc_result try_alloc(size_t size, Cache cache = CACHED) override { return call(size, cache); } void free(Ram_dataspace_capability ds) override { call(ds); } size_t dataspace_size(Ram_dataspace_capability ds) const override { return ds.valid() ? Dataspace_client(ds).size() : 0; } void transfer_quota(Pd_session_capability pd_session, Ram_quota amount) override { call(pd_session, amount); } Ram_quota ram_quota() const override { return call(); } Ram_quota used_ram() const override { return call(); } Capability native_pd() override { return call(); } Managing_system_state managing_system(Managing_system_state const & state) override { return call(state); } }; #endif /* _INCLUDE__PD_SESSION__CLIENT_H_ */