L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ipc_client
Go to the documentation of this file.
1// vi:set ft=cpp: -*- Mode: C++ -*-
2/*
3 * (c) 2014 Alexander Warg <alexander.warg@kernkonzept.com>
4 *
5 * License: see LICENSE.spdx (in this directory or the directories above)
6 */
7#pragma once
8#pragma GCC system_header
9
10#include <l4/sys/cxx/ipc_basics>
11#include <l4/sys/cxx/ipc_types>
12#include <l4/sys/cxx/ipc_iface>
13#include <l4/sys/__typeinfo.h>
14#include <l4/sys/err.h>
15
20namespace L4 { namespace Ipc { namespace Msg {
21//-------------------------------------------------------------------------
22
32#define L4_RPC_DEF(name) \
33 template struct L4::Ipc::Msg::Rpc_call \
34 <name##_t, name##_t::class_type, name##_t::ipc_type, name##_t::flags_type>
35
36
38//----------------------------------------------------
39//Implementation of the RPC call
40template<typename OP, typename C, typename FLAGS, typename R, typename ...ARGS>
42Rpc_call<OP, C, R (ARGS...), FLAGS>::
43 call(L4::Cap<C> cap, typename _Elem<ARGS>::arg_type ...a, l4_utcb_t *utcb) noexcept
44{
45 return Rpc_inline_call<OP, C, R (ARGS...), FLAGS>::call(cap, a..., utcb);
46}
48
49} // namespace Msg
50} // namespace Ipc
51} // namespace L4
52
Type information handling.
C++ interface for capabilities.
Definition capability.h:219
Error codes.
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
Definition utcb.h:56
#define L4_EXPORT
Attribute to mark functions, variables, and data types as being exported from a library.
Definition compiler.h:210
Interface Definition Language.
L4 low-level kernel interface.