Loading...
Searching...
No Matches
cap
Go to the documentation of this file.
// -*- Mode: C++ -*-
// vim:ft=cpp
/*
* (c) 2009 Adam Lackorzynski <adam@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 <l4/sys/task>
namespace L4Re { namespace Util {
L4_CV static inline l4_msgtag_t cap_release(L4::Cap<void> cap)
{
return l4_task_unmap(L4_BASE_TASK_CAP,
l4_obj_fpage(cap.cap(), 0, L4_FPAGE_RWX),
L4_FP_ALL_SPACES);
}
}}
L4::Cap_base::cap
l4_cap_idx_t cap() const noexcept
Return capability selector.
Definition capability.h:49
L4_BASE_TASK_CAP
@ L4_BASE_TASK_CAP
Capability selector for the current task.
Definition consts.h:327
l4_obj_fpage
l4_fpage_t l4_obj_fpage(l4_cap_idx_t obj, unsigned int order, unsigned char rights) L4_NOTHROW
Create a kernel-object flexpage.
Definition __l4_fpage.h:715
L4_FPAGE_RWX
@ L4_FPAGE_RWX
Read-write-execute flexpage.
Definition __l4_fpage.h:125
l4_msgtag_t
struct l4_msgtag_t l4_msgtag_t
Message tag data structure.
l4_task_unmap
l4_msgtag_t l4_task_unmap(l4_cap_idx_t task, l4_fpage_t fpage, l4_umword_t map_mask) L4_NOTHROW
Revoke rights from the task.
Definition task.h:440
L4_FP_ALL_SPACES
@ L4_FP_ALL_SPACES
Flag to tell the unmap operation to revoke permissions from all child mappings including the mapping ...
Definition consts.h:183
L4_CV
#define L4_CV
Define calling convention.
Definition linkage.h:33
L4Re::Util
Documentation of the L4 Runtime Environment utility functionality in C++.
Definition l4re.dox:21
L4Re
L4Re C++ Interfaces.
Definition cmd_control:14
task
Common task related definitions.