Kea 3.1.1
filesystem.h File Reference
#include <exceptions/exceptions.h>
#include <sys/stat.h>
#include <string>
#include <boost/shared_ptr.hpp>
+ Include dependency graph for filesystem.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  isc::util::file::Path
 Paths on a filesystem. More...
 
class  isc::util::file::PathChecker
 Embodies a supported path against which file paths can be validated. More...
 
class  isc::util::file::SecurityError
 A generic exception that is thrown if a parameter given violates security and enforcement is true. More...
 
class  isc::util::file::SecurityWarn
 A generic exception that is thrown if a parameter given violates security check but enforcement is lax. More...
 
struct  isc::util::file::TemporaryDirectory
 

Namespaces

namespace  isc
 Defines the logger used by the top-level component of kea-lfc.
 
namespace  isc::util
 
namespace  isc::util::file
 

Typedefs

typedef boost::shared_ptr< PathCheckerisc::util::file::PathCheckerPtr
 Defines a pointer to a PathChecker.
 

Functions

bool isc::util::file::amRunningAsRoot ()
 Indicates if current user is root.
 
bool isc::util::file::exists (const std::string &path)
 Check if there is a file or directory at the given path.
 
string isc::util::file::getContent (const std::string &file_name)
 Get the content of a regular file.
 
mode_t isc::util::file::getPermissions (const std::string path)
 Fetches the file permissions mask.
 
bool isc::util::file::hasPermissions (const std::string path, const mode_t &permissions)
 Check if there if file or directory has the given permissions.
 
bool isc::util::file::isDir (const std::string &path)
 Check if there is a directory at the given path.
 
bool isc::util::file::isFile (const std::string &path)
 Check if there is a file at the given path.
 
bool isc::util::file::isSocket (const std::string &path)
 Check if there is a socket at the given path.
 
void isc::util::file::setUmask ()
 Set umask (at least 0027 i.e. no group write and no other access).