Inheritance diagram for L4::Task:
Collaboration diagram for L4::Task:Public Member Functions | |
| l4_msgtag_t | map (Cap< Task > const &src_task, l4_fpage_t const &snd_fpage, l4_addr_t snd_base, l4_utcb_t *utcb=l4_utcb()) throw () |
| Map resources available in the source task to a destination task. | |
| l4_msgtag_t | unmap (l4_fpage_t const &fpage, l4_umword_t map_mask, l4_utcb_t *utcb=l4_utcb()) throw () |
| Revoke rights from the task. | |
| l4_msgtag_t | unmap_batch (l4_fpage_t const *fpages, unsigned num_fpages, l4_umword_t map_mask, l4_utcb_t *utcb=l4_utcb()) throw () |
| Revoke rights from a task. | |
| l4_msgtag_t | delete_obj (L4::Cap< void > obj, l4_utcb_t *utcb=l4_utcb()) throw () |
| Release capability and delete object. | |
| l4_msgtag_t | release_cap (L4::Cap< void > cap, l4_utcb_t *utcb=l4_utcb()) throw () |
| Release capability. | |
| l4_msgtag_t | cap_valid (Cap< void > const &cap, l4_utcb_t *utcb=l4_utcb()) throw () |
| Test whether a capability selector points to a valid capability. | |
| l4_msgtag_t | cap_has_child (Cap< void > const &cap, l4_utcb_t *utcb=l4_utcb()) throw () |
| Test whether a capability has child mappings (in another task). | |
| l4_msgtag_t | cap_equal (Cap< void > const &cap_a, Cap< void > const &cap_b, l4_utcb_t *utcb=l4_utcb()) throw () |
| Test whether two capabilities point to the same object with the same rights. | |
| l4_msgtag_t | add_ku_mem (l4_fpage_t const &fpage, l4_utcb_t *utcb=l4_utcb()) throw () |
| Add kernel-user memory. | |
Additional Inherited Members | |
Protected Member Functions inherited from L4::Kobject | |
| l4_cap_idx_t | cap () const throw () |
| Return capability selector. | |
#include <l4/sys/task>
|
inline |
Map resources available in the source task to a destination task.
| dst_task | Capability selector of destination task |
| src_task | Capability selector of source task |
| snd_fpage | Send flexpage that describes an area in the address space or object space of the source task |
| snd_base | Send base that describes an offset in the receive window of the destination task. |
This method allows for asynchronous rights delegation from one task to another. It can be used to share memory as well as to delegate access to objects.
Definition at line 50 of file task.
References L4::Cap_base::cap(), and L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Revoke rights from the task.
| task | Capability selector of destination task |
| fpage | Flexpage that describes an area in the address space or object space of the destination task |
| map_mask | Unmap mask, see l4_unmap_flags_t |
This method allows to revoke rights from the destination task and from all the tasks that got the rights delegated from that task (i.e., this operation does a recursive rights revocation).
Definition at line 59 of file task.
References L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Revoke rights from a task.
| task | Capability selector of destination task |
| fpages | An array of flexpages that describes an area in the address space or object space of the destination task each |
| num_fpages | The size of the fpages array in elements (number of fpages sent). |
| map_mask | Unmap mask, see l4_unmap_flags_t |
This method allows to revoke rights from the destination task and from all the tasks that got the rights delegated from that task (i.e., this operation does a recursive rights revocation).
Definition at line 68 of file task.
References L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Release capability and delete object.
| task | Capability selector of destination task |
| obj | Capability selector of object to delete |
The object will be deleted if the obj has sufficient rights. No error will be reported if the rights are insufficient, however, the capability is removed in all cases.This is operating calls l4_task_unmap() with L4_FP_DELETE_OBJ.
Definition at line 78 of file task.
References L4::Cap_base::cap(), and L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Release capability.
| task | Capability selector of destination task |
| cap | Capability selector to release |
This operation unmaps the capability from the specified task.
Definition at line 86 of file task.
References L4::Cap_base::cap(), and L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Test whether a capability selector points to a valid capability.
| task | Capability selector of the destination task to do the lookup in |
| cap | Capability selector to look up in the destination task |
Definition at line 94 of file task.
References L4::Cap_base::cap(), and L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Test whether a capability has child mappings (in another task).
| task | Capability selector of the destination task to do the lookup in |
| cap | Capability selector to look up in the destination task |
Definition at line 102 of file task.
References L4::Cap_base::cap(), and L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Test whether two capabilities point to the same object with the same rights.
| task | Capability selector of the destination task to do the lookup in |
| cap_a | Capability selector to compare |
| cap_b | Capability selector to compare |
Definition at line 110 of file task.
References L4::Cap_base::cap(), and L4::Kobject::cap().
Here is the call graph for this function:
|
inline |
Add kernel-user memory.
| task | Capability selector of the task to add the memory to |
| ku_mem | Flexpage describing the virtual area the memory goes to. |
Definition at line 119 of file task.
References L4::Kobject::cap().
Here is the call graph for this function: