Loading...
Searching...
No Matches
meta
Go to the documentation of this file.
// vi:set ft=cpp: -*- Mode: C++ -*-
/*
* (c) 2008-2009 Alexander Warg <warg@os.inf.tu-dresden.de>
* economic rights: Technische Universität Dresden (Germany)
*
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include "kobject"
#include "cxx/ipc_iface"
#include "cxx/ipc_string"
namespace L4 {
class Meta : public Kobject_t<Meta, Kobject, L4_PROTO_META>
{
public:
L4_INLINE_RPC(l4_msgtag_t, num_interfaces, ());
L4_INLINE_RPC(l4_msgtag_t, interface, (l4_umword_t idx, long *proto,
L4::Ipc::String<char> *name));
L4_INLINE_RPC(l4_msgtag_t, supports, (l4_mword_t protocol));
typedef L4::Typeid::Rpcs<num_interfaces_t, interface_t, supports_t> Rpcs;
};
}
L4::Kobject_t
Helper class to create an L4Re interface class that is derived from a single base class.
Definition __typeinfo.h:750
L4::Meta
Meta interface that shall be implemented by each L4Re object and gives access to the dynamic type inf...
Definition meta:27
L4::Meta::num_interfaces
l4_msgtag_t num_interfaces()
Get the number of interfaces implemented by this object.
L4::Meta::interface
l4_msgtag_t interface(l4_umword_t idx, long *proto, L4::Ipc::String< char > *name)
Get the protocol number that must be used for the interface with the number idx.
L4::Meta::supports
l4_msgtag_t supports(l4_mword_t protocol)
Figure out if the object supports the given protocol (number).
l4_umword_t
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
l4_mword_t
signed long l4_mword_t
Signed machine word.
Definition l4int.h:37
ipc_iface
Interface Definition Language.
L4_INLINE_RPC
#define L4_INLINE_RPC(res, name, args, attr...)
Define an inline RPC call (type and callable).
Definition ipc_iface:482
L4
L4 low-level kernel interface.
Definition l4sys-l4f-groups.dox:50
L4::Typeid::Rpcs
Standard list of RPCs of an interface.
Definition __typeinfo.h:428
l4_msgtag_t
Message tag data structure.
Definition types.h:154