Subversion Repositories HelenOS-historic

Rev

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