17 #ifndef __LINUX_CAPABILITIES_HPP__
18 #define __LINUX_CAPABILITIES_HPP__
31 namespace capabilities {
95 const std::set<Capability>&
get(
const Type&
type)
const;
96 void set(
const Type&
type,
const std::set<Capability>& capabilities);
102 return right.effective == effective &&
103 right.permitted == permitted &&
104 right.inheritable == inheritable &&
105 right.bounding == bounding &&
106 right.ambient == ambient;
111 std::ostream& stream,
114 std::set<Capability> effective;
115 std::set<Capability> permitted;
116 std::set<Capability> inheritable;
117 std::set<Capability> bounding;
118 std::set<Capability> ambient;
196 std::set<Capability>
convert(
const CapabilityInfo& capabilityInfo);
197 CapabilityInfo
convert(
const std::set<Capability>& capabilitySet);
201 std::ostream& stream,
206 std::ostream& stream,
211 std::ostream& stream,
218 #endif // __LINUX_CAPABILITIES_HPP__
Definition: capabilities.hpp:57
Try< Nothing > setKeepCaps()
Process control interface to enforce keeping the parent process's capabilities after a change in uid/...
Encapsulation of capability value sets.
Definition: capabilities.hpp:92
Definition: capabilities.hpp:38
std::set< Capability > getAllSupportedCapabilities()
Get all capabilities supported by the system.
Definition: capabilities.hpp:42
Definition: capabilities.hpp:63
friend std::ostream & operator<<(std::ostream &stream, const ProcessCapabilities &processCapabilities)
Definition: capabilities.hpp:70
Definition: capabilities.hpp:82
Definition: capabilities.hpp:48
Definition: capabilities.hpp:59
Definition: capabilities.hpp:64
Definition: capabilities.hpp:68
Definition: capabilities.hpp:85
void drop(const Type &type, const Capability &capability)
Definition: capabilities.hpp:40
Definition: capabilities.hpp:58
static Try< Capabilities > create()
Factory method to create Capabilities object.
Capability
Definition: capabilities.hpp:35
Definition: capabilities.hpp:44
bool operator==(const ProcessCapabilities &right) const
Definition: capabilities.hpp:100
Definition: capabilities.hpp:46
Definition: capabilities.hpp:37
Definition: capabilities.hpp:52
Definition: capabilities.hpp:50
const bool ambientCapabilitiesSupported
Whether ambient capabilities are supported on this host.
Definition: capabilities.hpp:185
void add(const Type &type, const Capability &capability)
Definition: capabilities.hpp:54
Definition: capabilities.hpp:83
Definition: capabilities.hpp:84
Definition: capabilities.hpp:53
Definition: capabilities.hpp:62
Definition: capabilities.hpp:56
Definition: capabilities.hpp:72
Definition: capabilities.hpp:55
Definition: capabilities.hpp:43
Capability convert(const CapabilityInfo::Capability &capability)
Definition: capabilities.hpp:74
Definition: capabilities.hpp:39
Definition: capabilities.hpp:41
Definition: capabilities.hpp:49
Definition: capabilities.hpp:71
Definition: capabilities.hpp:60
Type
Definition: capabilities.hpp:79
Definition: capabilities.hpp:81
Definition: capabilities.hpp:73
Try< uint32_t > type(const std::string &path)
Definition: capabilities.hpp:69
std::ostream & operator<<(std::ostream &stream, const Capability &capability)
Definition: capabilities.hpp:67
Definition: capabilities.hpp:45
Definition: capabilities.hpp:61
Definition: capabilities.hpp:65
void set(const Type &type, const std::set< Capability > &capabilities)
Definition: capabilities.hpp:66
Definition: capabilities.hpp:51
Definition: capabilities.hpp:75
Provides wrapper for the linux process capabilities interface.
Definition: capabilities.hpp:131
Definition: capabilities.hpp:47
Try< Nothing > set(const ProcessCapabilities &processCapabilities)
Sets capabilities for the calling process.