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
ipc_legacy
1
// vi:set ft=cpp: -*- Mode: C++ -*-
2
/*
3
* Copyright (C) 2015, 2017, 2024 Kernkonzept GmbH.
4
* Author(s): Alexander Warg <alexander.warg@kernkonzept.com>
5
*
6
* License: see LICENSE.spdx (in this directory or the directories above)
7
*/
8
#pragma once
9
10
#include <l4/sys/cxx/ipc_epiface>
11
#ifndef L4_RPC_DISABLE_LEGACY_DISPATCH
12
#define L4_RPC_LEGACY_DISPATCH(IFACE) \
13
template<typename IOS> \
14
int dispatch(unsigned rights, IOS &ios) \
15
{ \
16
typedef ::L4::Ipc::Detail::Dispatch<IFACE> Dispatch; \
17
l4_msgtag_t r = Dispatch::f(this, ios.tag(), rights, ios.utcb()); \
18
ios.set_ipc_params(r); \
19
return r.label(); \
20
} \
21
\
22
template<typename IOS> \
23
int p_dispatch(IFACE *, unsigned rights, IOS &ios) \
24
{ \
25
using ::L4::Ipc::Msg::dispatch_call; \
26
l4_msgtag_t r; \
27
r = dispatch_call<typename IFACE::Rpcs>(this, ios.utcb(), \
28
ios.tag(), rights); \
29
ios.set_ipc_params(r); \
30
return r.label(); \
31
}
32
33
#define L4_RPC_LEGACY_USING(IFACE) \
34
using IFACE::p_dispatch
35
36
#else
37
#define L4_RPC_LEGACY_DISPATCH(IFACE)
38
#define L4_RPC_LEGACY_USING(IFACE)
39
#endif
l4
sys
cxx
ipc_legacy
Generated on Mon Mar 3 2025 23:08:50 for L4Re Operating System Framework by
1.9.8