1 /*
2 * \brief I/O-memory session interface
3 * \author Christian Helmuth
4 * \date 2006-08-01
5 */
6
7 /*
8 * Copyright (C) 2006-2013 Genode Labs GmbH
9 *
10 * This file is part of the Genode OS framework, which is distributed
11 * under the terms of the GNU General Public License version 2.
12 */
13
14 #ifndef _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_
15 #define _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_
16
17 #include <dataspace/capability.h>
18 #include <session/session.h>
19
20 namespace Genode {
21
22 struct Io_mem_dataspace : Dataspace { };
23
24 typedef Capability<Io_mem_dataspace> Io_mem_dataspace_capability;
25
26 struct Io_mem_session : Session
27 {
28 static const char *service_name() { return "IO_MEM"; }
29
30 virtual ~Io_mem_session() { }
31
32 /**
33 * Request dataspace containing the IO_MEM session data
34 *
35 * \return capability to IO_MEM dataspace
36 * (may be invalid)
37 */
38 virtual Io_mem_dataspace_capability dataspace() = 0;
39
40
41 /*********************
42 ** RPC declaration **
43 *********************/
44
45 GENODE_RPC(Rpc_dataspace, Io_mem_dataspace_capability, dataspace);
46
47 GENODE_RPC_INTERFACE(Rpc_dataspace);
48 };
49 }
50
51 #endif /* _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_ */