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;
23
struct
Io_mem_session;
24
25
typedef
Capability<
Io_mem_dataspace
>
Io_mem_dataspace_capability
;
26
}
27
28
29
struct
Genode::
Io_mem_dataspace :
Dataspace
{
}
;
30
31
32
struct
Genode::
Io_mem_session :
Session
33
{
34
static
const
char *
service_name(
)
{
return
"IO_MEM"
;
}
35
36
virtual
~
Io_mem_session(
)
{
}
37
38
/**
39
* Request dataspace containing the IO_MEM session data
40
*
41
* \return capability to IO_MEM dataspace
42
* (may be invalid)
43
*/
44
virtual
Io_mem_dataspace_capability
dataspace(
)
=
0
;
45
46
47
/*********************
48
** RPC declaration **
49
*********************/
50
51
GENODE_RPC
(
Rpc_dataspace,
Io_mem_dataspace_capability,
dataspace)
;
52
GENODE_RPC_INTERFACE
(
Rpc_dataspace)
;
53
}
;
54
55
#
endif /* _INCLUDE__IO_MEM_SESSION__IO_MEM_SESSION_H_ */