L4Re Operating System Framework
Interface and Usage Documentation
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
h
i
k
m
o
p
r
s
t
u
w
Functions
a
b
c
k
m
r
s
t
w
Variables
Typedefs
Enumerations
Enumerator
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
_
a
b
c
d
e
f
g
i
k
m
n
o
p
r
s
t
v
w
Enumerations
a
c
d
e
f
i
m
n
p
q
r
s
t
v
Enumerator
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
w
x
Related Symbols
Files
File List
Globals
All
_
a
b
d
e
f
g
l
m
n
o
p
r
s
Functions
_
b
e
f
g
l
o
p
Typedefs
e
g
l
p
Enumerations
e
l
p
Enumerator
a
d
e
f
l
n
p
r
s
Macros
_
e
g
l
m
p
s
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
goos_svr
1
// vi:set ft=cpp: -*- Mode: C++ -*-
2
/*
3
* (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
4
* Alexander Warg <warg@os.inf.tu-dresden.de>
5
* economic rights: Technische Universität Dresden (Germany)
6
*
7
* License: see LICENSE.spdx (in this directory or the directories above)
8
*/
9
10
#pragma once
11
12
#include <
l4/re/dataspace
>
13
#include <l4/re/video/goos>
14
#include <
l4/re/video/goos-sys.h
>
15
16
#include <
l4/sys/capability
>
17
#include <l4/sys/cxx/ipc_legacy>
18
19
namespace
L4Re
{
namespace
Util {
namespace
Video {
20
25
class
Goos_svr
26
{
27
typedef
L4Re::Video::Goos::Rights Rights;
28
protected
:
30
L4::Cap<L4Re::Dataspace>
_fb_ds
;
32
L4Re::Video::Goos::Info
_screen_info
;
34
L4Re::Video::View::Info
_view_info
;
35
36
public
:
37
L4_RPC_LEGACY_DISPATCH(
L4Re::Video::Goos
);
42
L4::Cap<L4Re::Dataspace>
get_fb
()
const
{
return
_fb_ds
; }
43
48
L4Re::Video::Goos::Info
const
*
screen_info
()
const
{
return
&
_screen_info
; }
49
54
L4Re::Video::View::Info
const
*
view_info
()
const
{
return
&
_view_info
; }
55
66
virtual
int
refresh
(
int
x,
int
y,
int
w,
int
h)
67
{ (void)x; (void)y; (void)w; (void)h;
return
-
L4_ENOSYS
; }
66
virtual
int
refresh
(
int
x,
int
y,
int
w,
int
h) {
…
}
68
69
78
void
init_infos
()
79
{
80
using
L4Re::Video::View
;
81
82
_view_info
.
flags
= View::F_none;
83
84
_view_info
.
view_index
= 0;
85
_view_info
.
xpos
= 0;
86
_view_info
.
ypos
= 0;
87
_view_info
.
width
=
_screen_info
.
width
;
88
_view_info
.
height
=
_screen_info
.
height
;
89
_view_info
.
pixel_info
=
_screen_info
.
pixel_info
;
90
_view_info
.
buffer_index
= 0;
91
}
78
void
init_infos
() {
…
}
92
96
virtual
~Goos_svr
() {}
97
98
long
op_view_info(Rights,
unsigned
idx,
L4Re::Video::View::Info
&info)
99
{
100
if
(idx != 0)
101
return
-
L4_ERANGE
;
102
103
info =
_view_info
;
104
return
L4_EOK
;
105
}
106
107
long
op_info(Rights,
L4Re::Video::Goos::Info
&info)
108
{
109
info =
_screen_info
;
110
return
L4_EOK
;
111
}
112
113
long
op_get_static_buffer(Rights,
unsigned
idx,
114
L4::Ipc::Cap<L4Re::Dataspace>
&ds)
115
{
116
if
(idx != 0)
117
return
-
L4_ERANGE
;
118
119
ds =
L4::Ipc::Cap<L4Re::Dataspace>
(
_fb_ds
,
L4_CAP_FPAGE_RW
);
120
return
L4_EOK
;
121
}
122
123
long
op_refresh(Rights,
int
x,
int
y,
int
w,
int
h)
124
{
return
refresh
(x, y, w, h); }
125
126
long
op_view_refresh(Rights,
unsigned
idx,
int
x,
int
y,
int
w,
int
h)
127
{
128
if
(idx != 0)
129
return
-
L4_ERANGE
;
130
131
return
refresh
(x, y, w, h);
132
}
133
134
long
op_set_view_info(Rights,
unsigned
,
L4Re::Video::View::Info
)
135
{
return
-
L4_ENOSYS
; }
136
137
long
op_view_stack(Rights,
unsigned
,
unsigned
,
bool
)
138
{
return
-
L4_ENOSYS
; }
139
140
long
op_delete_view(Rights,
unsigned
)
141
{
return
-
L4_ENOSYS
; }
142
143
long
op_create_view(Rights)
144
{
return
-
L4_ENOSYS
; }
145
146
long
op_create_buffer(Rights,
unsigned
long
,
147
L4::Ipc::Cap<L4Re::Dataspace>
&)
148
{
return
-
L4_ENOSYS
; }
149
150
long
op_delete_buffer(Rights,
unsigned
)
151
{
return
-
L4_ENOSYS
; }
152
};
25
class
Goos_svr
{
…
};
153
154
155
}}}
capability
L4::Cap related definitions.
L4Re::Util::Video::Goos_svr
Goos server class.
Definition
goos_svr:26
L4Re::Util::Video::Goos_svr::~Goos_svr
virtual ~Goos_svr()
Destructor.
Definition
goos_svr:96
L4Re::Util::Video::Goos_svr::_screen_info
L4Re::Video::Goos::Info _screen_info
Goos information.
Definition
goos_svr:32
L4Re::Util::Video::Goos_svr::_view_info
L4Re::Video::View::Info _view_info
View information.
Definition
goos_svr:34
L4Re::Util::Video::Goos_svr::get_fb
L4::Cap< L4Re::Dataspace > get_fb() const
Return framebuffer memory dataspace.
Definition
goos_svr:42
L4Re::Util::Video::Goos_svr::_fb_ds
L4::Cap< L4Re::Dataspace > _fb_ds
Goos memory dataspace.
Definition
goos_svr:30
L4Re::Util::Video::Goos_svr::refresh
virtual int refresh(int x, int y, int w, int h)
Refresh area of the framebuffer.
Definition
goos_svr:66
L4Re::Util::Video::Goos_svr::init_infos
void init_infos()
Initialize the view information structure of this object.
Definition
goos_svr:78
L4Re::Util::Video::Goos_svr::view_info
L4Re::Video::View::Info const * view_info() const
View information structure.
Definition
goos_svr:54
L4Re::Util::Video::Goos_svr::screen_info
L4Re::Video::Goos::Info const * screen_info() const
Goos information structure.
Definition
goos_svr:48
L4Re::Video::Goos
Class that abstracts framebuffers.
Definition
goos:225
L4Re::Video::View
View of a framebuffer.
Definition
goos:40
L4::Cap
C++ interface for capabilities.
Definition
capability.h:219
L4::Ipc::Cap
Capability type for RPC interfaces (see L4::Cap<T>).
Definition
ipc_types:699
dataspace
Dataspace interface.
goos-sys.h
Goos protocol definition.
L4_ERANGE
@ L4_ERANGE
Range error.
Definition
err.h:48
L4_ENOSYS
@ L4_ENOSYS
No sys.
Definition
err.h:50
L4_EOK
@ L4_EOK
Ok.
Definition
err.h:32
L4_CAP_FPAGE_RW
@ L4_CAP_FPAGE_RW
Read and interface specific 'W' right for capability flexpages.
Definition
__l4_fpage.h:192
L4Re
L4Re C++ Interfaces.
Definition
cmd_control:14
L4Re::Video::Goos::Info
Information structure of a Goos.
Definition
goos:238
L4Re::Video::Goos::Info::height
unsigned long height
Height.
Definition
goos:240
L4Re::Video::Goos::Info::width
unsigned long width
Width.
Definition
goos:239
L4Re::Video::Goos::Info::pixel_info
Pixel_info pixel_info
Pixel information.
Definition
goos:244
L4Re::Video::View::Info
Information structure of a view.
Definition
goos:92
L4Re::Video::View::Info::pixel_info
Pixel_info pixel_info
Pixel information.
Definition
goos:102
L4Re::Video::View::Info::height
unsigned long height
Height of the view in pixels.
Definition
goos:99
L4Re::Video::View::Info::width
unsigned long width
Width of the view in pixels.
Definition
goos:98
L4Re::Video::View::Info::buffer_index
unsigned buffer_index
Number of the buffer used for this view.
Definition
goos:103
L4Re::Video::View::Info::xpos
unsigned long xpos
X position in pixels of the view in the Goos.
Definition
goos:96
L4Re::Video::View::Info::view_index
unsigned view_index
Index of the view.
Definition
goos:94
L4Re::Video::View::Info::ypos
unsigned long ypos
Y position in pixels of the view in the Goos.
Definition
goos:97
L4Re::Video::View::Info::flags
unsigned flags
Flags, see Flags and V_flags.
Definition
goos:93
l4
re
util
video
goos_svr
Generated on Mon Mar 3 2025 23:08:49 for L4Re Operating System Framework by
1.9.8