/* * \brief Client-side PCI-session interface * \author Norman Feske * \date 2008-01-28 */ /* * Copyright (C) 2008-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__PCI_SESSION__CLIENT_H_ #define _INCLUDE__PCI_SESSION__CLIENT_H_ #include #include namespace Pci { struct Session_client; } struct Pci::Session_client : public Genode::Rpc_client { Session_client(Session_capability session) : Genode::Rpc_client(session) { } Device_capability first_device(unsigned device_class = 0, unsigned class_mask = 0) override { return call(device_class, class_mask); } Device_capability next_device(Device_capability prev_device, unsigned device_class = 0, unsigned class_mask = 0) override { return call(prev_device, device_class, class_mask); } void release_device(Device_capability device) override { call(device); } Genode::Io_mem_dataspace_capability config_extended(Device_capability device_cap) override { return call(device_cap); } Genode::Ram_dataspace_capability alloc_dma_buffer(Genode::size_t size) override { return call(size); } void free_dma_buffer(Genode::Ram_dataspace_capability cap) override { call(cap); } }; #endif /* _INCLUDE__PCI_SESSION__CLIENT_H_ */