17f4dd379Sjsg /* Public domain. */ 27f4dd379Sjsg 37f4dd379Sjsg #ifndef _LINUX_CAPABILITY_H 47f4dd379Sjsg #define _LINUX_CAPABILITY_H 57f4dd379Sjsg 67f4dd379Sjsg #include <sys/param.h> 77f4dd379Sjsg #include <sys/systm.h> 87f4dd379Sjsg #include <sys/ucred.h> 97f4dd379Sjsg #include <machine/cpu.h> 107f4dd379Sjsg 117f4dd379Sjsg #define CAP_SYS_ADMIN 0x1 12c8763d5dSjsg #define CAP_SYS_NICE 0x2 13c8763d5dSjsg 14c8763d5dSjsg static inline bool capable(int cap)157f4dd379Sjsgcapable(int cap) 167f4dd379Sjsg { 17c8763d5dSjsg switch (cap) { 18c8763d5dSjsg case CAP_SYS_ADMIN: 19c8763d5dSjsg case CAP_SYS_NICE: 205f63ba22Sbenno return suser(curproc) == 0; 21c8763d5dSjsg default: 22c8763d5dSjsg panic("unhandled capability"); 23c8763d5dSjsg } 247f4dd379Sjsg } 257f4dd379Sjsg 26*ad8b1aafSjsg static inline bool perfmon_capable(void)27*ad8b1aafSjsgperfmon_capable(void) 28*ad8b1aafSjsg { 29*ad8b1aafSjsg return false; 30*ad8b1aafSjsg } 31*ad8b1aafSjsg 327f4dd379Sjsg #endif 33