1
/*
2
* \brief Log text output session interface
3
* \author Norman Feske
4
* \date 2006-09-15
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__LOG_SESSION__LOG_SESSION_H_
15
#
define _INCLUDE__LOG_SESSION__LOG_SESSION_H_
16
17
#
include <base/capability.h>
18
#
include <base/stdint.h>
19
#
include <base/rpc_args.h>
20
#
include <session/session.h>
21
22
namespace
Genode {
struct
Log_session;
}
23
24
25
struct
Genode::
Log_session :
Session
26
{
27
static
const
char *
service_name(
)
{
return
"LOG"
;
}
28
29
virtual
~
Log_session(
)
{
}
30
31
typedef
Rpc_in_buffer<
256
>
String
;
32
33
/**
34
* Output null-terminated string
35
*
36
* \return number of written characters
37
*/
38
virtual
size_t
write(
String const
&
string
)
=
0
;
39
40
41
/*********************
42
** RPC declaration **
43
*********************/
44
45
GENODE_RPC
(
Rpc_write,
size_t,
write,
String const
&
)
;
46
GENODE_RPC_INTERFACE
(
Rpc_write)
;
47
}
;
48
49
#
endif /* _INCLUDE__LOG_SESSION__LOG_SESSION_H_ */