61 template<
typename T >
83 template<
typename CAP_ALLOC >
92 CA(CAP_ALLOC &ca) : _ca(ca) {}
109 template<
unsigned long Unmap_flags = L4_FP_ALL_SPACES >
138 invalidate(const_cast<L4::Cap_base &>(src));
168 template<
typename T >
203 template<
typename T >
L4::Cap< T > alloc()
Allocate a capability.
Capability allocator interface.
static L4Re::Cap_alloc * get_cap_alloc(CAP_ALLOC &ca)
Construct an instance of a capability allocator.
Common task related definitions.
void invalidate()
Set this capability to invalid (L4_INVALID_CAP).
virtual ~Cap_alloc()=0
Destructor.
l4_cap_idx_t cap() const
Return capability selector.
Helper for Auto_cap and Auto_del_cap.
l4_fpage_t fpage(unsigned rights=L4_FPAGE_RWX) const
Return flex-page for the capability.
Base class for all kinds of capabilities.
bool is_valid() const
Test whether the capability is a valid capability index (i.e., not L4_INVALID_CAP).
virtual void free(L4::Cap< void > cap)=0
Free a capability.
Cap< T > cap_cast(Cap< F > const &c)
static_cast for capabilities.
virtual L4::Cap< void > alloc()=0
Allocate a capability.
C++ interface for capabilities.