Loading...
Searching...
No Matches
rcv_endpoint
Go to the documentation of this file.
// vi:set ft=cpp: -*- Mode: C++ -*-
/*
* (c) 2017 Alexander Warg <alexander.warg@kernkonzept.com>
*
* License: see LICENSE.spdx (in this directory or the directories above)
*/
#pragma once
#include <l4/sys/rcv_endpoint.h>
#include <l4/sys/snd_destination>
#include <l4/sys/types.h>
#include <l4/sys/capability>
#include <l4/sys/cxx/ipc_iface>
namespace L4 {
class Thread;
class L4_EXPORT Rcv_endpoint :
public Kobject_t<Rcv_endpoint, Kobject, L4_PROTO_KOBJECT,
Type_info::Demand_t<1> >
{
public:
L4_INLINE_RPC_OP(L4_RCV_EP_BIND_OP,
l4_msgtag_t, bind_thread, (Ipc::Cap<Thread> t, l4_umword_t label));
l4_msgtag_t bind_snd_destination(Cap<Snd_destination> snd_dst, l4_umword_t label)
{
return l4_rcv_ep_bind_snd_destination(cap(), snd_dst.cap(), label);
}
typedef L4::Typeid::Rpcs_sys<bind_thread_t> Rpcs;
};
}
capability
L4::Cap related definitions.
L4::Cap_base::cap
l4_cap_idx_t cap() const noexcept
Return capability selector.
Definition capability.h:49
L4::Cap
C++ interface for capabilities.
Definition capability.h:224
L4::Ipc::Cap
Capability type for RPC interfaces (see L4::Cap<T>).
Definition ipc_types:699
L4::Kobject_t
Helper class to create an L4Re interface class that is derived from a single base class.
Definition __typeinfo.h:750
L4::Kobject::cap
l4_cap_idx_t cap() const noexcept
Return capability selector.
Definition kobject:69
L4::Rcv_endpoint
Interface for kernel objects that allow to receive IPC from them.
Definition rcv_endpoint:33
L4::Rcv_endpoint::bind_thread
l4_msgtag_t bind_thread(Ipc::Cap< Thread > t, l4_umword_t label)
Bind the IPC receive endpoint to a thread.
L4::Rcv_endpoint::bind_snd_destination
l4_msgtag_t bind_snd_destination(Cap< Snd_destination > snd_dst, l4_umword_t label)
Bind a send destination (a thread or thread group) to an IPC receive endpoint.
Definition rcv_endpoint:101
L4::Thread
C++ L4 kernel thread interface, see Thread for the C interface.
Definition thread:55
l4_umword_t
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
l4_rcv_ep_bind_snd_destination
l4_msgtag_t l4_rcv_ep_bind_snd_destination(l4_cap_idx_t ep, l4_cap_idx_t snd_dst, l4_umword_t label)
Bind the IPC receive endpoint to a send destination (a thread).
Definition rcv_endpoint.h:138
L4_EXPORT
#define L4_EXPORT
Attribute to mark functions, variables, and data types as being exported from a library.
Definition compiler.h:214
ipc_iface
Interface Definition Language.
L4_INLINE_RPC_OP
#define L4_INLINE_RPC_OP(op, res, name, args, attr...)
Define an inline RPC call with specific opcode (type and callable).
Definition ipc_iface:497
types.h
Common L4 ABI Data Types.
L4
L4 low-level kernel interface.
Definition l4sys-l4f-groups.dox:50
rcv_endpoint.h
Receive endpoint C interface.
L4_RCV_EP_BIND_OP
@ L4_RCV_EP_BIND_OP
Bind to thread or thread group.
Definition rcv_endpoint.h:95
snd_destination
The C++ Sender destination interface.
L4::Typeid::Rpcs_sys
List of RPCs typically used for kernel interfaces.
Definition __typeinfo.h:465
l4_msgtag_t
Message tag data structure.
Definition types.h:154