L4Re Operating System Framework
Interface and Usage Documentation
•All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
typeinfo_svr
Go to the documentation of this file.
1// vi:set ft=cpp: -*- Mode: C++ -*-
6/*
7 * (c) 2010 Alexander Warg <warg@os.inf.tu-dresden.de>
8 * economic rights: Technische Universität Dresden (Germany)
9 *
10 * License: see LICENSE.spdx (in this directory or the directories above)
11 */
12
13#pragma once
14
15#include <l4/sys/meta>
16#include <l4/sys/cxx/ipc_epiface>
17
18namespace L4 { namespace Util {
19
20template<typename KO, typename IOS>
21long handle_meta_request(IOS &ios)
22{
23 using L4::Ipc::Msg::dispatch_call;
24 typedef L4::Ipc::Detail::Meta_svr<KO> Msvr;
25 typedef L4::Meta::Rpcs Rpcs;
26 Msvr *svr = nullptr;
27 l4_msgtag_t tag = dispatch_call<Rpcs>(svr, ios.utcb(), ios.tag(), 0);
28 ios.set_ipc_params(tag);
29 return tag.label();
30}
31
32}}
L4 low-level kernel interface.
Standard list of RPCs of an interface.
Definition __typeinfo.h:428
Message tag data structure.
Definition types.h:153
long label() const L4_NOTHROW
Get the protocol value.
Definition types.h:157
Meta interface for getting dynamic type information about objects behind capabilities.