LLVM API Documentation

Static Public Member Functions
llvm::sys::Process Class Reference

A collection of legacy interfaces for querying information about the current executing process. More...

#include <Process.h>

List of all members.

Static Public Member Functions

static size_t GetMallocUsage ()
 Return process memory usage. This static function will return the total amount of memory allocated by the process. This only counts the memory allocated via the malloc, calloc and realloc functions and includes any "free" holes in the allocated space.
static void GetTimeUsage (TimeValue &elapsed, TimeValue &user_time, TimeValue &sys_time)
static void PreventCoreFiles ()
 Prevent core file generation.
static Optional< std::string > GetEnv (StringRef name)
static Optional< std::string > FindInEnvPath (const std::string &EnvName, const std::string &FileName)
static std::error_code GetArgumentVector (SmallVectorImpl< const char * > &Args, ArrayRef< const char * > ArgsFromMain, SpecificBumpPtrAllocator< char > &ArgAllocator)
static bool StandardInIsUserInput ()
static bool StandardOutIsDisplayed ()
static bool StandardErrIsDisplayed ()
static bool FileDescriptorIsDisplayed (int fd)
static bool FileDescriptorHasColors (int fd)
static unsigned StandardOutColumns ()
static unsigned StandardErrColumns ()
static bool StandardOutHasColors ()
static bool StandardErrHasColors ()
static void UseANSIEscapeCodes (bool enable)
static bool ColorNeedsFlush ()
static const char * OutputColor (char c, bool bold, bool bg)
static const char * OutputBold (bool bg)
 Same as OutputColor, but only enables the bold attribute.
static const char * OutputReverse ()
static const char * ResetColor ()
 Resets the terminals colors, or returns an escape sequence to do so.
static unsigned GetRandomNumber ()

Detailed Description

A collection of legacy interfaces for querying information about the current executing process.

Definition at line 144 of file Process.h.


Member Function Documentation

Whether changing colors requires the output to be flushed. This is needed on systems that don't support escape sequences for changing colors.

Referenced by llvm::raw_fd_ostream::changeColor(), llvm::raw_fd_ostream::resetColor(), and llvm::raw_fd_ostream::reverseColor().

This function determines if the given file descriptor is displayd and supports colors.

Referenced by llvm::raw_fd_ostream::has_colors().

This function determines if the given file descriptor is connected to a "tty" or "console" window. That is, the output would be displayed to the user rather than being put on a pipe or stored in a file.

Referenced by llvm::raw_fd_ostream::is_displayed().

Optional< std::string > Process::FindInEnvPath ( const std::string &  EnvName,
const std::string &  FileName 
) [static]

This function searches for an existing file in the list of directories in a PATH like environment variable, and returns the first file found, according to the order of the entries in the PATH like environment variable.

Definition at line 72 of file Process.cpp.

References llvm::sys::path::append(), llvm::sys::EnvPathSeparator, llvm::sys::fs::exists(), GetEnv(), llvm::Optional< T >::getValue(), llvm::Optional< T >::hasValue(), llvm::SplitString(), and llvm::SmallString< InternalLen >::str().

static std::error_code llvm::sys::Process::GetArgumentVector ( SmallVectorImpl< const char * > &  Args,
ArrayRef< const char * >  ArgsFromMain,
SpecificBumpPtrAllocator< char > &  ArgAllocator 
) [static]

This function returns a SmallVector containing the arguments passed from the operating system to the program. This function expects to be handed the vector passed in from main.

static Optional<std::string> llvm::sys::Process::GetEnv ( StringRef  name) [static]

Referenced by FindInEnvPath().

static size_t llvm::sys::Process::GetMallocUsage ( ) [static]

Return process memory usage. This static function will return the total amount of memory allocated by the process. This only counts the memory allocated via the malloc, calloc and realloc functions and includes any "free" holes in the allocated space.

Referenced by getMemUsage().

Get the result of a process wide random number generator. The generator will be automatically seeded in non-deterministic fashion.

Referenced by createUniqueEntity().

static void llvm::sys::Process::GetTimeUsage ( TimeValue elapsed,
TimeValue user_time,
TimeValue sys_time 
) [static]

This static function will set user_time to the amount of CPU time spent in user (non-kernel) mode and sys_time to the amount of CPU time spent in system (kernel) mode. If the operating system does not support collection of these metrics, a zero TimeValue will be for both values.

Parameters:
elapsedReturns the TimeValue::now() giving current time
user_timeReturns the current amount of user time for the process
sys_timeReturns the current amount of system time for the process

Referenced by llvm::TimeRecord::getCurrentTime().

static const char* llvm::sys::Process::OutputBold ( bool  bg) [static]

Same as OutputColor, but only enables the bold attribute.

Referenced by llvm::raw_fd_ostream::changeColor().

static const char* llvm::sys::Process::OutputColor ( char  c,
bool  bold,
bool  bg 
) [static]

This function returns the colorcode escape sequences. If ColorNeedsFlush() is true then this function will change the colors and return an empty escape sequence. In that case it is the responsibility of the client to flush the output stream prior to calling this function.

Referenced by llvm::raw_fd_ostream::changeColor().

static const char* llvm::sys::Process::OutputReverse ( ) [static]

This function returns the escape sequence to reverse forground and background colors.

Referenced by llvm::raw_fd_ostream::reverseColor().

static void llvm::sys::Process::PreventCoreFiles ( ) [static]

Prevent core file generation.

This function makes the necessary calls to the operating system to prevent core files or any other kind of large memory dumps that can occur when a program fails.

static const char* llvm::sys::Process::ResetColor ( ) [static]

Resets the terminals colors, or returns an escape sequence to do so.

Referenced by llvm::raw_fd_ostream::resetColor().

This function determines the number of columns in the window if standard error is connected to a "tty" or "console" window. If standard error is not connected to a tty or console, or if the number of columns cannot be determined, this routine returns zero.

This function determines whether the terminal connected to standard error supports colors. If standard error is not connected to a terminal, this function returns false.

This function determines if the standard error is connected to a "tty" or "console" window. That is, the output would be displayed to the user rather than being put on a pipe or stored in a file.

This function determines if the standard input is connected directly to a user's input (keyboard probably), rather than coming from a file or pipe.

This function determines the number of columns in the window if standard output is connected to a "tty" or "console" window. If standard output is not connected to a tty or console, or if the number of columns cannot be determined, this routine returns zero.

This function determines whether the terminal connected to standard output supports colors. If standard output is not connected to a terminal, this function returns false.

This function determines if the standard output is connected to a "tty" or "console" window. That is, the output would be displayed to the user rather than being put on a pipe or stored in a file.

static void llvm::sys::Process::UseANSIEscapeCodes ( bool  enable) [static]

Enables or disables whether ANSI escape sequences are used to output colors. This only has an effect on Windows. Note: Setting this option is not thread-safe and should only be done during initialization.


The documentation for this class was generated from the following files: