diff --git a/include/l4/api/capability.h b/include/l4/api/capability.h index 229b475..771c411 100644 --- a/include/l4/api/capability.h +++ b/include/l4/api/capability.h @@ -15,18 +15,16 @@ #define CAP_CONTROL_READ 0x00000001 #define CAP_CONTROL_SHARE 0x00000002 #define CAP_CONTROL_GRANT 0x00000003 -#define CAP_CONTROL_REPLICATE 0x00000005 -#define CAP_CONTROL_SPLIT 0x00000006 -#define CAP_CONTROL_DEDUCE 0x00000007 -#define CAP_CONTROL_DESTROY 0x00000008 +#define CAP_CONTROL_REPLICATE 0x00000004 +#define CAP_CONTROL_SPLIT 0x00000005 +#define CAP_CONTROL_DEDUCE 0x00000006 +#define CAP_CONTROL_DESTROY 0x00000007 #define CAP_SHARE_MASK 0x00000003 #define CAP_SHARE_SINGLE 0x00000001 -#define CAP_SHARE_ALL 0x00000002 #define CAP_GRANT_MASK 0x0000000F #define CAP_GRANT_SINGLE 0x00000001 -#define CAP_GRANT_ALL 0x00000002 #define CAP_GRANT_IMMUTABLE 0x00000004 #define CAP_SPLIT_MASK 0x0000000F diff --git a/src/api/cap.c b/src/api/cap.c index b3a76d1..11b7986 100644 --- a/src/api/cap.c +++ b/src/api/cap.c @@ -69,6 +69,7 @@ int cap_share_single(struct capability *user) return 0; } +#if 0 /* Shares the whole list */ int cap_share_all(void) { @@ -76,18 +77,23 @@ int cap_share_all(void) ¤t->space->cap_list); return 0; } +#endif int cap_share(struct capability *cap, unsigned int flags) { if (flags & CAP_SHARE_SINGLE) cap_share_single(cap); - else if (flags & CAP_SHARE_ALL) - cap_share_all(); else return -EINVAL; + return 0; } +#if 0 + +/* + * Currently unused. API hasn't settled. + */ /* Grants all caps */ int cap_grant_all(struct capability *req, unsigned int flags) { @@ -134,6 +140,8 @@ out_err: return err; } +#endif + int cap_grant_single(struct capability *req, unsigned int flags) { struct capability *cap; @@ -176,8 +184,6 @@ int cap_grant(struct capability *cap, unsigned int flags) { if (flags & CAP_GRANT_SINGLE) cap_grant_single(cap, flags); - else if (flags & CAP_GRANT_ALL) - cap_grant_all(cap, flags); else return -EINVAL; return 0;