Rev 1278 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1278 | Rev 1297 | ||
|---|---|---|---|
| Line 39... | Line 39... | ||
| 39 | */ |
39 | */ |
| 40 | 40 | ||
| 41 | #ifndef __CAP_H__ |
41 | #ifndef __CAP_H__ |
| 42 | #define __CAP_H__ |
42 | #define __CAP_H__ |
| 43 | 43 | ||
| - | 44 | #include <syscall/sysarg64.h> |
|
| 44 | #include <arch/types.h> |
45 | #include <arch/types.h> |
| 45 | #include <typedefs.h> |
46 | #include <typedefs.h> |
| 46 | 47 | ||
| 47 | /** |
48 | /** |
| 48 | * CAP_CAP allows its holder to grant/revoke arbitrary |
49 | * CAP_CAP allows its holder to grant/revoke arbitrary |
| Line 61... | Line 62... | ||
| 61 | * to other tasks. |
62 | * to other tasks. |
| 62 | */ |
63 | */ |
| 63 | #define CAP_IO_MANAGER (1<<2) |
64 | #define CAP_IO_MANAGER (1<<2) |
| 64 | 65 | ||
| 65 | /** |
66 | /** |
| 66 | * CAP_PREEMPT_CONTROL allows its holder to disable interrupts |
67 | * CAP_PREEMPT_CONTROL allows its holder to disable/enable preemption. |
| 67 | */ |
68 | */ |
| 68 | #define CAP_PREEMPT_CONTROL (1<<3) |
69 | #define CAP_PREEMPT_CONTROL (1<<3) |
| - | 70 | ||
| - | 71 | /** |
|
| - | 72 | * CAP_IRQ_REG entitles its holder to register IRQ handlers. |
|
| - | 73 | */ |
|
| - | 74 | #define CAP_IRQ_REG (1<<4) |
|
| 69 | 75 | ||
| 70 | typedef __u32 cap_t; |
76 | typedef __u32 cap_t; |
| 71 | 77 | ||
| 72 | extern void cap_set(task_t *t, cap_t caps); |
78 | extern void cap_set(task_t *t, cap_t caps); |
| 73 | extern cap_t cap_get(task_t *t); |
79 | extern cap_t cap_get(task_t *t); |
| 74 | 80 | ||
| - | 81 | extern __native sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps); |
|
| - | 82 | extern __native sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps); |
|
| - | 83 | ||
| 75 | #endif |
84 | #endif |