powerd++  0.4.4
Classes | Namespaces | Typedefs | Functions
sysctl.hpp File Reference

Implements safer c++ wrappers for the sysctl() interface. More...

#include "error.hpp"
#include <memory>
#include <cassert>
#include <sys/types.h>
#include <sys/sysctl.h>
Include dependency graph for sysctl.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sys::ctl::error
 The domain error type. More...
 
class  sys::ctl::Sysctl< MibDepth >
 Represents a sysctl MIB address. More...
 
class  sys::ctl::Sysctl< 0 >
 This is a specialisation of Sysctl for sysctls using symbolic names. More...
 
class  sys::ctl::Sync< T, SysctlT >
 This is a wrapper around Sysctl that allows semantically transparent use of a sysctl. More...
 
class  sys::ctl::Once< T, SysctlT >
 A read once representation of a Sysctl. More...
 

Namespaces

 sys
 Wrappers around native system interfaces.
 
 sys::ctl
 This namespace contains safer c++ wrappers for the sysctl() interface.
 

Typedefs

typedef int sys::ctl::mib_t
 Management Information Base identifier type (see sysctl(3)).
 
template<typename T , size_t MibDepth = 0>
using sys::ctl::SysctlSync = Sync< T, Sysctl< MibDepth > >
 A convenience alias around Sync. More...
 
template<typename T , size_t MibDepth = 0>
using sys::ctl::SysctlOnce = Once< T, Sysctl< MibDepth > >
 A convenience alias around Once. More...
 

Functions

void sys::ctl::sysctl_raw (mib_t const *name, u_int const namelen, void *const oldp, size_t *const oldlenp, void const *const newp, size_t const newlen)
 A wrapper around the sysctl() function. More...
 
template<size_t MibDepth>
void sys::ctl::sysctl_get (mib_t const (&mib)[MibDepth], void *const oldp, size_t &oldlen)
 Returns a sysctl() value to a buffer. More...
 
template<size_t MibDepth>
void sys::ctl::sysctl_set (mib_t const (&mib)[MibDepth], void const *const newp, size_t const newlen)
 Sets a sysctl() value. More...
 
template<typename ... ArgTs>
 sys::ctl::Sysctl (mib_t const, ArgTs const ...) -> Sysctl<(1+sizeof...(ArgTs))>
 Create a Sysctl from a set of predefined MIBs. More...
 
 sys::ctl::Sysctl (char const *const) -> Sysctl< 0 >
 Create a Sysctl<0> by name.
 
 sys::ctl::Sysctl () -> Sysctl< 0 >
 Default construct a Sysctl<0>.
 

Detailed Description

Implements safer c++ wrappers for the sysctl() interface.


Class Documentation

◆ sys::ctl::error

struct sys::ctl::error

The domain error type.