2011-12-22 15:19:25 +00:00
|
|
|
/*
|
|
|
|
* \brief Client-side pd session interface
|
|
|
|
* \author Christian Helmuth
|
|
|
|
* \date 2006-07-12
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2013-01-10 20:44:47 +00:00
|
|
|
* Copyright (C) 2006-2013 Genode Labs GmbH
|
2011-12-22 15:19:25 +00:00
|
|
|
*
|
|
|
|
* 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 <pd_session/capability.h>
|
|
|
|
#include <base/rpc_client.h>
|
|
|
|
|
2015-03-04 20:12:14 +00:00
|
|
|
namespace Genode { struct Pd_session_client; }
|
2011-12-22 15:19:25 +00:00
|
|
|
|
|
|
|
|
2015-03-04 20:12:14 +00:00
|
|
|
struct Genode::Pd_session_client : Rpc_client<Pd_session>
|
|
|
|
{
|
|
|
|
explicit Pd_session_client(Pd_session_capability session)
|
|
|
|
: Rpc_client<Pd_session>(session) { }
|
2011-12-22 15:19:25 +00:00
|
|
|
|
2015-03-04 20:12:14 +00:00
|
|
|
int bind_thread(Thread_capability thread) override {
|
|
|
|
return call<Rpc_bind_thread>(thread); }
|
2013-02-11 10:44:04 +00:00
|
|
|
|
2015-03-04 20:12:14 +00:00
|
|
|
int assign_parent(Parent_capability parent) override {
|
|
|
|
return call<Rpc_assign_parent>(parent); }
|
|
|
|
|
2015-04-14 10:04:10 +00:00
|
|
|
/**
|
|
|
|
* Dummy stub for PCI-device assignment operation
|
|
|
|
*
|
|
|
|
* The assign_pci function exists only in the NOVA-specific version of the
|
|
|
|
* PD-session interface. This empty dummy stub merely exists to maintain
|
|
|
|
* API compatibility accross all base platforms so that drivers don't need
|
|
|
|
* to distinguish NOVA from non-NOVA.
|
|
|
|
*/
|
2015-03-04 20:12:14 +00:00
|
|
|
bool assign_pci(addr_t) { return false; }
|
|
|
|
};
|
2011-12-22 15:19:25 +00:00
|
|
|
|
|
|
|
#endif /* _INCLUDE__PD_SESSION__CLIENT_H_ */
|