RSC  0.16.0
rsc::os Namespace Reference

Classes

struct  _PROCESS_BASIC_INFORMATION
 
struct  _UNICODE_STRING
 
class  DeleteHandle
 
struct  GetMachineType
 
struct  GetRelease
 
struct  GetSysname
 

Typedefs

typedef unsigned int PID
 
typedef NTSTATUS(NTAPI * _NtQueryInformationProcess) (HANDLE ProcessHandle, DWORD ProcessInformationClass, PVOID ProcessInformation, DWORD ProcessInformationLength, PDWORD ReturnLength)
 
typedef struct rsc::os::_UNICODE_STRING UNICODE_STRING
 
typedef struct rsc::os::_UNICODE_STRINGPUNICODE_STRING
 
typedef struct rsc::os::_PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
 
typedef struct rsc::os::_PROCESS_BASIC_INFORMATIONPPROCESS_BASIC_INFORMATION
 

Functions

RSC_EXPORT std::string currentMachineType ()
 Determine and return the machine type, usually CPU architecture, of the local machine. More...
 
RSC_EXPORT std::string currentMachineVersion ()
 Determine and return the version within its type, usually the CPU identification string, of the local machine. More...
 
RSC_EXPORT std::string currentSoftwareType ()
 Determine and return the type of the operating system, usually the kernel name, running on the local machine. More...
 
RSC_EXPORT std::string currentSoftwareVersion ()
 Determine and return the version of the operating system within its type, usually the kernel version string, running on the local machine. More...
 
RSC_EXPORT std::string currentHostname ()
 Determine and return the hostname of the local machine. More...
 
RSC_EXPORT std::string currentHostId ()
 Determine and return a unique id string of the local machine. More...
 
RSC_EXPORT boost::posix_time::ptime currentBootTime ()
 Return the boot time of the local machine. More...
 
std::string tryFile (const std::string &filename)
 
std::string hostId ()
 
std::string procFilename (PID pid, const std::string &filename)
 
PID currentProcessId ()
 Return the id the current process. More...
 
std::vector< std::string > getCommandlineComponents (PID pid)
 
std::string getProgramName (PID pid)
 Return the name of the program executed in the process designated by pid. More...
 
std::string currentProgramName ()
 Return the name of the program executed in the current process. More...
 
std::string getExecutablePath (PID pid)
 Return the absolute path of the executable file that is executed in the process designated by pid. More...
 
std::string currentExecutablePath ()
 Return the absolute path of the executable file that is executed in the current process. More...
 
std::vector< std::string > getCommandlineArguments (PID pid)
 Return the list of commandline arguments of the process designated by pid. More...
 
std::vector< std::string > currentCommandlineArguments ()
 Return the list of commandline arguments of the current process. More...
 
boost::posix_time::ptime getProcessStartTime (PID pid)
 Return the start time of the process designated by pid. More...
 
boost::posix_time::ptime currentProcessStartTime ()
 Return the start time of the current process. More...
 
std::string uidToName (uid_t id)
 
std::string getExecutingUser (PID pid)
 Return login- or account-name of the user executing pid. More...
 
std::string currentExecutingUser ()
 Return the login- or account-name of the user executing the current process. More...
 
std::string callWithUtsname (const std::string &context, boost::function1< std::string, const utsname & > thunk)
 
std::string GetLastErrorString ()
 
PVOID GetPebAddress (boost::shared_ptr< void > processHandle)
 

Variables

const unsigned int HOSTNAME_MAX_LENGTH = 1024
 
const unsigned int HOST_ID_MAX_LENGTH = 1024
 

Typedef Documentation

typedef NTSTATUS(NTAPI * rsc::os::_NtQueryInformationProcess) (HANDLE ProcessHandle, DWORD ProcessInformationClass, PVOID ProcessInformation, DWORD ProcessInformationLength, PDWORD ReturnLength)

Definition at line 92 of file Win32ProcessInfo.cpp.

Function Documentation

std::string rsc::os::callWithUtsname ( const std::string &  context,
boost::function1< std::string, const utsname & >  thunk 
)

Definition at line 47 of file PosixUtilities.cpp.

Referenced by currentMachineType(), currentSoftwareType(), and currentSoftwareVersion().

Here is the caller graph for this function:

std::vector< std::string > rsc::os::getCommandlineComponents ( PID  pid)

Definition at line 59 of file LinuxProcessInfo.cpp.

References procFilename().

Referenced by getCommandlineArguments(), and getProgramName().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string rsc::os::GetLastErrorString ( )

Definition at line 36 of file Win32Common.cpp.

Referenced by rsc::os::DeleteHandle::operator()().

Here is the caller graph for this function:

PVOID rsc::os::GetPebAddress ( boost::shared_ptr< void >  processHandle)

Definition at line 115 of file Win32ProcessInfo.cpp.

References rsc::os::_PROCESS_BASIC_INFORMATION::PebBaseAddress.

Referenced by rsc::os::DeleteHandle::operator()().

Here is the caller graph for this function:

std::string rsc::os::hostId ( )

Definition at line 93 of file LinuxHostInfo.cpp.

Referenced by currentHostId().

Here is the caller graph for this function:

std::string rsc::os::procFilename ( PID  pid,
const std::string &  filename 
)

Definition at line 50 of file LinuxProcessInfo.cpp.

Referenced by getCommandlineComponents(), getExecutablePath(), getExecutingUser(), and getProcessStartTime().

Here is the caller graph for this function:

std::string rsc::os::tryFile ( const std::string &  filename)

Definition at line 84 of file LinuxHostInfo.cpp.

Referenced by currentHostId().

Here is the caller graph for this function:

std::string rsc::os::uidToName ( uid_t  id)

Definition at line 204 of file LinuxProcessInfo.cpp.

Referenced by currentExecutingUser(), and getExecutingUser().

Here is the caller graph for this function:

Variable Documentation

const unsigned int rsc::os::HOST_ID_MAX_LENGTH = 1024

Definition at line 82 of file Win32HostInfo.cpp.

const unsigned int rsc::os::HOSTNAME_MAX_LENGTH = 1024

Definition at line 96 of file PosixUtilities.cpp.

Referenced by currentHostname().