39#ifndef Foam_OSspecific_H
40#define Foam_OSspecific_H
69bool hasEnv(
const std::string& envName);
73string getEnv(
const std::string& envName);
77bool setEnv(
const word&
name,
const std::string& value,
const bool overwrite);
82inline
bool env(const std::
string& envName) {
return Foam::hasEnv(envName); }
147 const
bool checkGzip = true,
148 const
bool followLink = true
161 const
bool checkGzip = true,
162 const
bool followLink = true
186 const
bool filtergz = true,
188 const
bool followLink = true
213 const
bool followLink=false
219bool mvBak(const
fileName& src, const std::
string& ext =
"bak");
233 const
bool silent = false,
235 const
bool emptyOnly = false
239unsigned int sleep(const
unsigned int sec);
245bool ping(const std::
string& destName, const label port, const label timeOut);
248bool ping(const std::
string& host, const label timeOut=10);
262int system(const std::
string& command, const
bool bg = false);
273int system(const
UList<
string>& command, const
bool bg = false);
310void*
dlSymFind(
void* handle, const std::
string& symbol,
bool required=false);
314inline
void*
dlSym(
void* handle, const std::
string& symbol)
323inline void*
dlSymFound(
void* handle,
const std::string& symbol)
An adapter for copying a list of C++ strings into a list of C-style strings for passing to C code tha...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A class for handling file names.
A class for handling character strings derived from std::string.
A class for handling words, derived from Foam::string.
bool rm(const fileName &file)
Remove a file (or its gz equivalent), returning true if successful.
fileName readLink(const fileName &link)
Return the contents (target) of a symlink.
fileName cwd()
The physical or logical current working directory path name.
string getEnv(const std::string &envName)
Get environment value for given envName.
bool setEnv(const word &name, const std::string &value, const bool overwrite)
Set an environment variable, return true on success.
time_t lastModified(const fileName &name, const bool followLink=true)
Return time of last file modification (normally follows symbolic links).
void fdClose(const int fd)
Close file descriptor.
bool exists(const fileName &name, const bool checkGzip=true, const bool followLink=true)
Does the name exist (as DIRECTORY or FILE) in the file system?
int system(const std::string &command, const bool bg=false)
Execute the specified command via the shell.
bool mkDir(const fileName &pathName, mode_t mode=0777)
Make a directory and return an error if it could not be created.
bool isAdministrator()
Is the current user the administrator (root).
bool dlClose(void *handle)
Close a dlopened library using handle. Return true if successful.
bool env(const std::string &envName)
Deprecated(2020-05) check for existence of environment variable.
List< fileName > fileNameList
List of fileName.
mode_t mode(const fileName &name, const bool followLink=true)
Return the file mode, normally following symbolic links.
static void check(const int retVal, const char *what)
unsigned int sleep(const unsigned int sec)
Sleep for the specified number of seconds.
bool chMod(const fileName &name, const mode_t mode)
Set the file/directory mode, return true on success.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
string userName()
Return the user's login name.
pid_t pgid()
Return the group PID of this process.
string hostName()
Return the system's host name, as per hostname(1).
void * dlSymFind(void *handle, const std::string &symbol, bool required=false)
Look for symbol in a dlopened library.
bool ping(const std::string &destName, const label port, const label timeOut)
Check if machine is up by pinging given port.
pid_t ppid()
Return the parent PID of this process.
off_t fileSize(const fileName &name, const bool followLink=true)
Return size of file or -1 on failure (normally follows symbolic links).
bool rmDir(const fileName &directory, const bool silent=false, const bool emptyOnly=false)
Remove a directory and its contents recursively,.
double highResLastModified(const fileName &, const bool followLink=true)
Return time of last file modification.
void * dlOpen(const fileName &libName, const bool check=true)
Open a shared library and return handle to library.
pid_t pid()
Return the PID of this process.
bool mvBak(const fileName &src, const std::string &ext="bak")
Rename to a corresponding backup file.
bool isFile(const fileName &name, const bool checkGzip=true, const bool followLink=true)
Does the name exist as a FILE in the file system?
void * dlSym(void *handle, const std::string &symbol)
Lookup a symbol in a dlopened library using handle to library.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
fileNameList dlLoaded()
Return all loaded libraries.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
bool mv(const fileName &src, const fileName &dst, const bool followLink=false)
Rename src to dst.
fileName home()
Return home directory path name for the current user.
class FOAM_DEPRECATED_FOR(2017-05, "Foam::Enum") NamedEnum
string domainName()
Deprecated(2022-01) domain name resolution may be unreliable.
bool ln(const fileName &src, const fileName &dst)
Create a softlink. dst should not exist. Returns true if successful.
bool isDir(const fileName &name, const bool followLink=true)
Does the name exist as a DIRECTORY in the file system?
void * dlSymFound(void *handle, const std::string &symbol)
Check for symbol in a dlopened library.
bool hasEnv(const std::string &envName)
True if environment variable of given name is defined.
fileNameList readDir(const fileName &directory, const fileName::Type type=fileName::Type::FILE, const bool filtergz=true, const bool followLink=true)
Read a directory and return the entries as a fileName List.
bool chDir(const fileName &dir)
Change current directory to the one specified and return true on success.
const volScalarField & cp
#define FOAM_DEPRECATED_FOR(since, replacement)