Defines | |
| #define | L4DM_ALL_RIGHTS 0x000000FF |
Functions | |
| L4_CV int | l4dm_share (const l4dm_dataspace_t *ds, l4_threadid_t client, l4_uint32_t rights) |
| Grant dataspace access rights to a client. | |
| int | l4dm_revoke (const l4dm_dataspace_t *ds, l4_threadid_t client, l4_uint32_t rights) |
| Revoke dataspace access rights. | |
| L4_CV int | l4dm_check_rights (const l4dm_dataspace_t *ds, l4_uint32_t rights) |
| Check dataspace access rights. | |
| L4_CV int | l4dm_transfer (const l4dm_dataspace_t *ds, l4_threadid_t new_owner) |
| Transfer dataspace ownership. | |
Currently, dataspace managers implement a thread-based access control list for each dataspace.
Each dataspace is owned by a thread. Initialy, the thread which createded the dataspace owns it. The ownership can be transfered using l4dm_transfer(). The owner has full control over the dataspace, in particular only the owner can close a dataspace.
Access rights for other threads can be granted using l4dm_share(). A thread can only grant access rights to a dataspace up to the rights it owns itself on the dataspace. Access rights can be revoked using l4dm_revoke().
| #define L4DM_ALL_RIGHTS 0x000000FF |
all rights
Definition at line 54 of file dm_generic/include/consts.h.
| L4_CV int l4dm_share | ( | const l4dm_dataspace_t * | ds, | |
| l4_threadid_t | client, | |||
| l4_uint32_t | rights | |||
| ) |
Grant dataspace access rights to a client.
| ds | Dataspace descriptor | |
| client | Client thread id | |
| rights | Access rights:
|
| int l4dm_revoke | ( | const l4dm_dataspace_t * | ds, | |
| l4_threadid_t | client, | |||
| l4_uint32_t | rights | |||
| ) |
Revoke dataspace access rights.
| ds | Dataspace descriptor | |
| client | Client thread id | |
| rights | Access rights:
|
| L4_CV int l4dm_check_rights | ( | const l4dm_dataspace_t * | ds, | |
| l4_uint32_t | rights | |||
| ) |
Check dataspace access rights.
| ds | Dataspace descriptor | |
| rights | Access rights:
|
| L4_CV int l4dm_transfer | ( | const l4dm_dataspace_t * | ds, | |
| l4_threadid_t | new_owner | |||
| ) |
Transfer dataspace ownership.
| ds | Dataspace descriptor | |
| new_owner | New dataspace owner |