Logo ROOT   6.12/07
Reference Guide
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
TSystem Class Reference

Abstract base class defining a generic interface to the underlying Operating System.

This is not an ABC in the strict sense of the (C++) word. For every member function there is an implementation (often not more than a call to AbstractMethod() which prints a warning saying that the method should be overridden in a derived class), which allows a simple partial implementation for new OS'es.

Definition at line 248 of file TSystem.h.

Public Types

enum  EAclicMode { kDefault, kDebug, kOpt }
 
enum  EAclicProperties { kFlatBuildDir = BIT(0) }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kInconsistent = 0x08000000,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5),
  kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 

Public Member Functions

 TSystem (const char *name="Generic", const char *title="Generic System")
 Create a new OS interface. More...
 
virtual ~TSystem ()
 Delete the OS interface. More...
 
virtual void Abort (int code=0)
 Abort the application. More...
 
virtual int AcceptConnection (int sock)
 Accept a connection. More...
 
virtual Bool_t AccessPathName (const char *path, EAccessMode mode=kFileExists)
 Returns FALSE if one can access a file using the specified access mode. More...
 
virtual void AddDynamicPath (const char *pathname)
 Add a new directory to the dynamic path. More...
 
virtual void AddFileHandler (TFileHandler *fh)
 Add a file handler to the list of system file handlers. More...
 
virtual void AddIncludePath (const char *includePath)
 Add includePath to the already set include path. More...
 
virtual void AddLinkedLibs (const char *linkedLib)
 Add linkedLib to already set linked libs. More...
 
virtual void AddSignalHandler (TSignalHandler *sh)
 Add a signal handler to list of system signal handlers. More...
 
virtual void AddStdExceptionHandler (TStdExceptionHandler *eh)
 Add an exception handler to list of system exception handlers. More...
 
virtual void AddTimer (TTimer *t)
 Add timer to list of system timers. More...
 
virtual int AnnounceTcpService (int port, Bool_t reuse, int backlog, int tcpwindowsize=-1)
 Announce TCP/IP service. More...
 
virtual int AnnounceUdpService (int port, int backlog)
 Announce UDP service. More...
 
virtual int AnnounceUnixService (int port, int backlog)
 Announce unix domain service. More...
 
virtual int AnnounceUnixService (const char *sockpath, int backlog)
 Announce unix domain service. More...
 
virtual const char * BaseName (const char *pathname)
 Base name of a file name. Base name of /user/root is root. More...
 
void Beep (Int_t freq=-1, Int_t duration=-1, Bool_t setDefault=kFALSE)
 Beep for duration milliseconds with a tone of frequency freq. More...
 
Bool_t cd (const char *path)
 
virtual Bool_t ChangeDirectory (const char *path)
 Change directory. More...
 
virtual int Chmod (const char *file, UInt_t mode)
 Set the file permission bits. Returns -1 in case or error, 0 otherwise. More...
 
virtual void CleanCompiledMacros ()
 Remove the shared libs produced by the CompileMacro() function. More...
 
virtual void CloseConnection (int sock, Bool_t force=kFALSE)
 Close socket connection. More...
 
virtual void Closelog ()
 Close connection to system log daemon. More...
 
virtual int ClosePipe (FILE *pipe)
 Close the pipe. More...
 
virtual int CompileMacro (const char *filename, Option_t *opt="", const char *library_name="", const char *build_dir="", UInt_t dirmode=0)
 This method compiles and loads a shared library containing the code from the file "filename". More...
 
virtual char * ConcatFileName (const char *dir, const char *name)
 Concatenate a directory and a file name. User must delete returned string. More...
 
virtual int CopyFile (const char *from, const char *to, Bool_t overwrite=kFALSE)
 Copy a file. More...
 
virtual const char * DirName (const char *pathname)
 Return the directory name in pathname. More...
 
virtual void DispatchOneEvent (Bool_t pendingOnly=kFALSE)
 Dispatch a single event. More...
 
char * DynamicPathName (const char *lib, Bool_t quiet=kFALSE)
 Find a dynamic library called lib using the system search paths. More...
 
virtual Func_t DynFindSymbol (const char *module, const char *entry)
 Find specific entry point in specified library. More...
 
virtual Int_t Exec (const char *shellcmd)
 Execute a command. More...
 
virtual void Exit (int code, Bool_t mode=kTRUE)
 Exit the application. More...
 
virtual void ExitLoop ()
 Exit from event loop. More...
 
virtual Bool_t ExpandPathName (TString &path)
 Expand a pathname getting rid of special shell characters like ~. More...
 
virtual char * ExpandPathName (const char *path)
 Expand a pathname getting rid of special shell characters like ~. More...
 
virtual const char * FindDynamicLibrary (TString &lib, Bool_t quiet=kFALSE)
 Find a dynamic library using the system search paths. More...
 
virtual const char * FindFile (const char *search, TString &file, EAccessMode mode=kFileExists)
 Find location of file in a search path. More...
 
virtual void FreeDirectory (void *dirp)
 Free a directory. More...
 
virtual EAclicMode GetAclicMode () const
 AclicMode indicates whether the library should be built in debug mode or optimized. More...
 
virtual Int_t GetAclicProperties () const
 Return the ACLiC properties field. More...
 
void GetBeepDefaults (Int_t &freq, Int_t &duration) const
 
virtual const char * GetBuildArch () const
 Return the build architecture. More...
 
virtual const char * GetBuildCompiler () const
 Return the build compiler. More...
 
virtual const char * GetBuildCompilerVersion () const
 Return the build compiler version. More...
 
virtual const char * GetBuildDir () const
 Return the path of the build directory. More...
 
virtual const char * GetBuildNode () const
 Return the build node name. More...
 
virtual int GetCpuInfo (CpuInfo_t *info, Int_t sampleTime=1000) const
 Returns cpu load average and load info into the CpuInfo_t structure. More...
 
virtual const char * GetDirEntry (void *dirp)
 Get a directory entry. Returns 0 if no more entries. More...
 
virtual voidGetDirPtr () const
 
virtual const char * GetDynamicPath ()
 Return the dynamic path (used to find shared libraries). More...
 
virtual Int_t GetEffectiveGid ()
 Returns the effective group id. More...
 
virtual Int_t GetEffectiveUid ()
 Returns the effective user id. More...
 
virtual const char * Getenv (const char *env)
 Get environment variable. More...
 
virtual const char * GetError ()
 Return system error string. More...
 
const char * GetErrorStr () const
 
virtual const char * GetFlagsDebug () const
 Return the debug flags. More...
 
virtual const char * GetFlagsOpt () const
 Return the optimization flags. More...
 
virtual Int_t GetFPEMask ()
 Return the bitmap of conditions that trigger a floating point exception. More...
 
virtual TString GetFromPipe (const char *command)
 Execute command and return output in TString. More...
 
virtual int GetFsInfo (const char *path, Long_t *id, Long_t *bsize, Long_t *blocks, Long_t *bfree)
 Get info about a file system: fs type, block size, number of blocks, number of free blocks. More...
 
virtual Int_t GetGid (const char *group=0)
 Returns the group's id. If group = 0, returns current user's group. More...
 
virtual UserGroup_tGetGroupInfo (Int_t gid)
 Returns all group info in the UserGroup_t structure. More...
 
virtual UserGroup_tGetGroupInfo (const char *group=0)
 Returns all group info in the UserGroup_t structure. More...
 
virtual std::string GetHomeDirectory (const char *userName=0) const
 Return the user's home directory. More...
 
virtual TInetAddress GetHostByName (const char *server)
 Get Internet Protocol (IP) address of host. More...
 
virtual const char * GetIncludePath ()
 Get the list of include path. More...
 
virtual const char * GetLibraries (const char *regexp="", const char *option="", Bool_t isRegexp=kTRUE)
 Return a space separated list of loaded shared libraries. More...
 
virtual const char * GetLinkdefSuffix () const
 Return the linkdef suffix chosen by the user for ACLiC. More...
 
virtual const char * GetLinkedLibs () const
 Return the list of library linked to this executable. More...
 
virtual TSeqCollectionGetListOfFileHandlers () const
 
virtual TSeqCollectionGetListOfSignalHandlers () const
 
virtual TSeqCollectionGetListOfStdExceptionHandlers () const
 
virtual TSeqCollectionGetListOfTimers () const
 
virtual const char * GetMakeExe () const
 Return the command line use to make an executable. More...
 
virtual const char * GetMakeSharedLib () const
 Return the command line use to make a shared library. More...
 
virtual int GetMemInfo (MemInfo_t *info) const
 Returns ram and swap memory usage info into the MemInfo_t structure. More...
 
virtual const char * GetObjExt () const
 Get the object file extension. More...
 
int GetPathInfo (const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
 Get info about a file: id, size, flags, modification time. More...
 
int GetPathInfo (const char *path, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime)
 Get info about a file: id, size, flags, modification time. More...
 
virtual int GetPathInfo (const char *path, FileStat_t &buf)
 Get info about a file. More...
 
virtual TInetAddress GetPeerName (int sock)
 Get Internet Protocol (IP) address of remote host and port #. More...
 
virtual int GetPid ()
 Get process id. More...
 
virtual int GetProcInfo (ProcInfo_t *info) const
 Returns cpu and memory used by this process into the ProcInfo_t structure. More...
 
virtual int GetServiceByName (const char *service)
 Get port # of internet service. More...
 
virtual char * GetServiceByPort (int port)
 Get name of internet service. More...
 
virtual TInetAddress GetSockName (int sock)
 Get Internet Protocol (IP) address of host and port #. More...
 
virtual int GetSockOpt (int sock, int kind, int *val)
 Get socket option. More...
 
virtual const char * GetSoExt () const
 Get the shared library extension. More...
 
virtual int GetSysInfo (SysInfo_t *info) const
 Returns static system info, like OS type, CPU type, number of CPUs RAM size, etc into the SysInfo_t structure. More...
 
virtual Int_t GetUid (const char *user=0)
 Returns the user's id. If user = 0, returns current user's id. More...
 
virtual UserGroup_tGetUserInfo (Int_t uid)
 Returns all user info in the UserGroup_t structure. More...
 
virtual UserGroup_tGetUserInfo (const char *user=0)
 Returns all user info in the UserGroup_t structure. More...
 
virtual TListGetVolumes (Option_t *) const
 
virtual std::string GetWorkingDirectory () const
 Return working directory. More...
 
virtual const char * HomeDirectory (const char *userName=0)
 Return the user's home directory. More...
 
virtual const char * HostName ()
 Return the system's host name. More...
 
virtual void IgnoreInterrupt (Bool_t ignore=kTRUE)
 If ignore is true ignore the interrupt signal, else restore previous behaviour. More...
 
virtual void IgnoreSignal (ESignals sig, Bool_t ignore=kTRUE)
 If ignore is true ignore the specified signal, else restore previous behaviour. More...
 
Bool_t InControl () const
 
virtual Bool_t Init ()
 Initialize the OS interface. More...
 
virtual void InnerLoop ()
 Inner event loop. More...
 
virtual Bool_t IsAbsoluteFileName (const char *dir)
 Return true if dir is an absolute pathname. More...
 
virtual Bool_t IsFileInIncludePath (const char *name, char **fullpath=0)
 Return true if 'name' is a file that can be found in the ROOT include path or the current directory. More...
 
virtual Bool_t IsPathLocal (const char *path)
 Returns TRUE if the url in 'path' points to the local file system. More...
 
virtual int Link (const char *from, const char *to)
 Create a link from file1 to file2. More...
 
virtual void ListLibraries (const char *regexp="")
 List all loaded shared libraries. More...
 
virtual void ListSymbols (const char *module, const char *re="")
 List symbols in a shared library. More...
 
virtual int Load (const char *module, const char *entry="", Bool_t system=kFALSE)
 Load a shared library. More...
 
virtual UInt_t LoadAllLibraries ()
 Load all libraries known to ROOT via the rootmap system. More...
 
virtual int MakeDirectory (const char *name)
 Make a directory. More...
 
virtual int mkdir (const char *name, Bool_t recursive=kFALSE)
 Make a file system directory. More...
 
virtual Long_t NextTimeOut (Bool_t mode)
 Time when next timer of mode (synchronous=kTRUE or asynchronous=kFALSE) will time-out (in ms). More...
 
virtual void NotifyApplicationCreated ()
 Hook to tell TSystem that the TApplication object has been created. More...
 
virtual TTime Now ()
 Get current time in milliseconds since 0:00 Jan 1 1995. More...
 
virtual int OpenConnection (const char *server, int port, int tcpwindowsize=-1, const char *protocol="tcp")
 Open a connection to another host. More...
 
virtual voidOpenDirectory (const char *name)
 Open a directory. Returns 0 if directory does not exist. More...
 
virtual void Openlog (const char *name, Int_t options, ELogFacility facility)
 Open connection to system log daemon. More...
 
virtual FILE * OpenPipe (const char *command, const char *mode)
 Open a pipe. More...
 
virtual const char * PrependPathName (const char *dir, TString &name)
 Concatenate a directory and a file name. More...
 
virtual Bool_t ProcessEvents ()
 Process pending events (GUI, timers, sockets). More...
 
const char * pwd ()
 
virtual int RecvBuf (int sock, void *buffer, int length)
 Receive a buffer headed by a length indicator. More...
 
virtual int RecvRaw (int sock, void *buffer, int length, int flag)
 Receive exactly length bytes into buffer. More...
 
virtual Int_t RedirectOutput (const char *name, const char *mode="a", RedirectHandle_t *h=0)
 Redirect standard output (stdout, stderr) to the specified file. More...
 
virtual TFileHandlerRemoveFileHandler (TFileHandler *fh)
 Remove a file handler from the list of file handlers. More...
 
void RemoveOnExit (TObject *obj)
 Objects that should be deleted on exit of the OS interface. More...
 
virtual TSignalHandlerRemoveSignalHandler (TSignalHandler *sh)
 Remove a signal handler from list of signal handlers. More...
 
virtual TStdExceptionHandlerRemoveStdExceptionHandler (TStdExceptionHandler *eh)
 Remove an exception handler from list of exception handlers. More...
 
virtual TTimerRemoveTimer (TTimer *t)
 Remove timer from list of system timers. More...
 
virtual int Rename (const char *from, const char *to)
 Rename a file. More...
 
virtual void ResetSignal (ESignals sig, Bool_t reset=kTRUE)
 If reset is true reset the signal handler for the specified signal to the default handler, else restore previous behaviour. More...
 
virtual void ResetSignals ()
 Reset signals handlers to previous behaviour. More...
 
virtual void ResetTimer (TTimer *)
 
virtual void Run ()
 System event loop. More...
 
virtual Int_t Select (TList *active, Long_t timeout)
 Select on active file descriptors (called by TMonitor). More...
 
virtual Int_t Select (TFileHandler *fh, Long_t timeout)
 Select on active file descriptors (called by TMonitor). More...
 
virtual int SendBuf (int sock, const void *buffer, int length)
 Send a buffer headed by a length indicator. More...
 
virtual int SendRaw (int sock, const void *buffer, int length, int flag)
 Send exactly length bytes from buffer. More...
 
virtual void SetAclicMode (EAclicMode mode)
 AclicMode indicates whether the library should be built in debug mode or optimized. More...
 
virtual void SetBuildDir (const char *build_dir, Bool_t isflat=kFALSE)
 Set the location where ACLiC will create libraries and use as a scratch area. More...
 
virtual void SetDisplay ()
 Set DISPLAY environment variable based on utmp entry. Only for UNIX. More...
 
virtual void SetDynamicPath (const char *pathname)
 Set the dynamic path to a new value. More...
 
virtual void Setenv (const char *name, const char *value)
 Set environment variable. More...
 
void SetErrorStr (const char *errstr)
 Set the system error string. More...
 
virtual void SetFlagsDebug (const char *)
 FlagsDebug should contain the options to pass to the C++ compiler in order to compile the library in debug mode. More...
 
virtual void SetFlagsOpt (const char *)
 FlagsOpt should contain the options to pass to the C++ compiler in order to compile the library in optimized mode. More...
 
virtual Int_t SetFPEMask (Int_t mask=kDefaultMask)
 Set which conditions trigger a floating point exception. More...
 
virtual void SetIncludePath (const char *includePath)
 IncludePath should contain the list of compiler flags to indicate where to find user defined header files. More...
 
virtual void SetLinkdefSuffix (const char *suffix)
 The 'suffix' will be appended to the name of a script loaded by ACLiC and used to locate any eventual additional linkdef information that ACLiC should used to produce the dictionary. More...
 
virtual void SetLinkedLibs (const char *linkedLibs)
 LinkedLibs should contain the library directory and list of libraries needed to recreate the current executable. More...
 
virtual void SetMakeExe (const char *directives)
 Directives has the same syntax as the argument of SetMakeSharedLib but is used to create an executable. More...
 
virtual void SetMakeSharedLib (const char *directives)
 Directives should contain the description on how to compile and link a shared lib. More...
 
virtual void SetObjExt (const char *objExt)
 Set object files extension, should be either .o, .obj, etc. More...
 
virtual void SetProgname (const char *name)
 Set the application name (from command line, argv[0]) and copy it in gProgName. More...
 
virtual int SetSockOpt (int sock, int kind, int val)
 Set socket option. More...
 
virtual void SetSoExt (const char *soExt)
 Set shared library extension, should be either .so, .sl, .a, .dll, etc. More...
 
virtual void ShowOutput (RedirectHandle_t *h)
 Display the content associated with the redirection described by the opaque handle 'h'. More...
 
virtual void Sleep (UInt_t milliSec)
 Sleep milliSec milli seconds. More...
 
virtual TString SplitAclicMode (const char *filename, TString &mode, TString &args, TString &io) const
 This method split a filename of the form: ~~~ {.cpp} [path/]macro.C[+|++[k|f|g|O|c|s|d|v|-]][(args)]. More...
 
virtual void StackTrace ()
 Print a stack trace. More...
 
virtual int Symlink (const char *from, const char *to)
 Create a symbolic link from file1 to file2. More...
 
virtual void Syslog (ELogLevel level, const char *mess)
 Send mess to syslog daemon. More...
 
virtual const char * TempDirectory () const
 Return a user configured or systemwide directory to create temporary files in. More...
 
virtual FILE * TempFileName (TString &base, const char *dir=0)
 Create a secure temporary file by appending a unique 6 letter string to base. More...
 
virtual int Umask (Int_t mask)
 Set the process file creation mode mask. More...
 
virtual const char * UnixPathName (const char *unixpathname)
 Convert from a Unix pathname to a local pathname. More...
 
virtual int Unlink (const char *name)
 Unlink, i.e. remove, a file. More...
 
virtual void Unload (const char *module)
 Unload a shared library. More...
 
virtual void Unsetenv (const char *name)
 Unset environment variable. More...
 
virtual int Utime (const char *file, Long_t modtime, Long_t actime)
 Set the a files modification and access times. More...
 
virtual char * Which (const char *search, const char *file, EAccessMode mode=kFileExists)
 Find location of file in a search path. More...
 
virtual const char * WorkingDirectory ()
 Return working directory. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Checked and record whether for this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Static Public Member Functions

static Int_t GetErrno ()
 Static function returning system error number. More...
 
static void ResetErrno ()
 Static function resetting system error number. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Member Functions

virtual Bool_t ConsistentWith (const char *path, void *dirptr=0)
 Check consistency of this helper with the one required by 'path' or 'dirptr'. More...
 
virtual void DoBeep (Int_t=-1, Int_t=-1) const
 
virtual const char * ExpandFileName (const char *fname)
 Expand a pathname getting rid of special shell characters like ~. More...
 
virtual Bool_t ExpandFileName (TString &fname)
 Expand a pathname getting rid of special shell characters like ~. More...
 
TSystemFindHelper (const char *path, void *dirptr=0)
 Create helper TSystem to handle file and directory operations that might be special for remote file access, like via rfiod or rootd. More...
 
TStringGetLastErrorString ()
 Return the thread local storage for the custom last error message. More...
 
const TStringGetLastErrorString () const
 Return the thread local storage for the custom last error message. More...
 
virtual const char * GetLinkedLibraries ()
 Get list of shared libraries loaded at the start of the executable. More...
 
virtual void SigAlarmInterruptsSyscalls (Bool_t)
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Static Protected Member Functions

static const char * StripOffProto (const char *path, const char *proto)
 

Protected Attributes

EAclicMode fAclicMode
 
Int_t fAclicProperties
 
Int_t fBeepDuration
 
Int_t fBeepFreq
 
TString fBuildArch
 
TString fBuildCompiler
 
TString fBuildCompilerVersion
 
TString fBuildDir
 
TString fBuildNode
 
TSeqCollectionfCompiled
 
Bool_t fDone
 
TSeqCollectionfFileHandler
 
TString fFlagsDebug
 
TString fFlagsOpt
 
TSeqCollectionfHelpers
 
TString fHostname
 
TString fIncludePath
 
Bool_t fInControl
 
Bool_t fInsideNotify
 
Int_t fLevel
 
TString fLinkdefSuffix
 
TString fLinkedLibs
 
TString fListLibs
 
TString fListPaths
 
TString fMakeExe
 
TString fMakeSharedLib
 
Int_t fMaxrfd
 
Int_t fMaxwfd
 
Int_t fNfd
 Signals that were trapped. More...
 
TString fObjExt
 
TSeqCollectionfOnExitList
 
TFdSet * fReadmask
 
TFdSet * fReadready
 Files that should be checked for write events. More...
 
Int_t fSigcnt
 
TSeqCollectionfSignalHandler
 
TFdSet * fSignals
 Files with writes waiting. More...
 
TString fSoExt
 
TSeqCollectionfStdExceptionHandler
 
TSeqCollectionfTimers
 
TString fWdpath
 
TFdSet * fWritemask
 Files that should be checked for read events. More...
 
TFdSet * fWriteready
 Files with reads waiting. More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Private Member Functions

 TSystem (const TSystem &)
 
Bool_t ExpandFileName (const char *fname, char *xname, const int kBufSize)
 Private method for pathname expansion. More...
 
TSystemoperator= (const TSystem &)
 

#include <TSystem.h>

Inheritance diagram for TSystem:
[legend]

Member Enumeration Documentation

◆ EAclicMode

Enumerator
kDefault 
kDebug 
kOpt 

Definition at line 251 of file TSystem.h.

◆ EAclicProperties

Enumerator
kFlatBuildDir 

Definition at line 252 of file TSystem.h.

Constructor & Destructor Documentation

◆ TSystem() [1/2]

TSystem::TSystem ( const TSystem )
private

◆ TSystem() [2/2]

TSystem::TSystem ( const char *  name = "Generic",
const char *  title = "Generic System" 
)

Create a new OS interface.

Definition at line 108 of file TSystem.cxx.

◆ ~TSystem()

TSystem::~TSystem ( )
virtual

Delete the OS interface.

Definition at line 146 of file TSystem.cxx.

Member Function Documentation

◆ Abort()

void TSystem::Abort ( int  code = 0)
virtual

Abort the application.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 732 of file TSystem.cxx.

◆ AcceptConnection()

int TSystem::AcceptConnection ( int  sock)
virtual

Accept a connection.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2410 of file TSystem.cxx.

◆ AccessPathName()

Bool_t TSystem::AccessPathName ( const char *  path,
EAccessMode  mode = kFileExists 
)
virtual

Returns FALSE if one can access a file using the specified access mode.

The file name must not contain any special shell characters line ~ or $, in those cases first call ExpandPathName(). Attention, bizarre convention of return value!!

Reimplemented in TWinNTSystem, TUnixSystem, TNetSystem, TWebSystem, TDCacheSystem, TXNetSystem, TAlienSystem, TRFIOSystem, THDFSSystem, TGFALSystem, and TChirpSystem.

Definition at line 1276 of file TSystem.cxx.

◆ AddDynamicPath()

void TSystem::AddDynamicPath ( const char *  pathname)
virtual

Add a new directory to the dynamic path.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1760 of file TSystem.cxx.

◆ AddFileHandler()

void TSystem::AddFileHandler ( TFileHandler h)
virtual

Add a file handler to the list of system file handlers.

Only adds the handler if it is not already in the list of file handlers.

Reimplemented in TWinNTSystem, TUnixSystem, and TMacOSXSystem.

Definition at line 562 of file TSystem.cxx.

◆ AddIncludePath()

void TSystem::AddIncludePath ( const char *  includePath)
virtual

Add includePath to the already set include path.

Definition at line 4025 of file TSystem.cxx.

◆ AddLinkedLibs()

void TSystem::AddLinkedLibs ( const char *  linkedLib)
virtual

Add linkedLib to already set linked libs.

Definition at line 4036 of file TSystem.cxx.

◆ AddSignalHandler()

void TSystem::AddSignalHandler ( TSignalHandler h)
virtual

Add a signal handler to list of system signal handlers.

Only adds the handler if it is not already in the list of signal handlers.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 540 of file TSystem.cxx.

◆ AddStdExceptionHandler()

void TSystem::AddStdExceptionHandler ( TStdExceptionHandler eh)
virtual

Add an exception handler to list of system exception handlers.

Only adds the handler if it is not already in the list of exception handlers.

Definition at line 619 of file TSystem.cxx.

◆ AddTimer()

void TSystem::AddTimer ( TTimer t)
virtual

Add timer to list of system timers.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 479 of file TSystem.cxx.

◆ AnnounceTcpService()

int TSystem::AnnounceTcpService ( int  port,
Bool_t  reuse,
int  backlog,
int  tcpwindowsize = -1 
)
virtual

Announce TCP/IP service.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2374 of file TSystem.cxx.

◆ AnnounceUdpService()

int TSystem::AnnounceUdpService ( int  port,
int  backlog 
)
virtual

Announce UDP service.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2383 of file TSystem.cxx.

◆ AnnounceUnixService() [1/2]

int TSystem::AnnounceUnixService ( int  port,
int  backlog 
)
virtual

Announce unix domain service.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2392 of file TSystem.cxx.

◆ AnnounceUnixService() [2/2]

int TSystem::AnnounceUnixService ( const char *  sockpath,
int  backlog 
)
virtual

Announce unix domain service.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2401 of file TSystem.cxx.

◆ BaseName()

const char * TSystem::BaseName ( const char *  pathname)
virtual

Base name of a file name. Base name of /user/root is root.

Reimplemented in TWinNTSystem.

Definition at line 932 of file TSystem.cxx.

◆ Beep()

void TSystem::Beep ( Int_t  freq = -1,
Int_t  duration = -1,
Bool_t  setDefault = kFALSE 
)

Beep for duration milliseconds with a tone of frequency freq.

Defaults to printing the \a character to stdout. If freq or duration is <0 respectively, use default value. If setDefault is set, only set the frequency and duration as new defaults, but don't beep. If default freq or duration is <0, never beep (silence)

Definition at line 332 of file TSystem.cxx.

◆ cd()

Bool_t TSystem::cd ( const char *  path)
inline

Definition at line 404 of file TSystem.h.

◆ ChangeDirectory()

Bool_t TSystem::ChangeDirectory ( const char *  path)
virtual

Change directory.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 860 of file TSystem.cxx.

◆ Chmod()

int TSystem::Chmod ( const char *  file,
UInt_t  mode 
)
virtual

Set the file permission bits. Returns -1 in case or error, 0 otherwise.

Reimplemented in TWinNTSystem, TUnixSystem, TAlienSystem, and TChirpSystem.

Definition at line 1482 of file TSystem.cxx.

◆ CleanCompiledMacros()

void TSystem::CleanCompiledMacros ( )
virtual

Remove the shared libs produced by the CompileMacro() function.

Definition at line 4209 of file TSystem.cxx.

◆ CloseConnection()

void TSystem::CloseConnection ( int  sock,
Bool_t  force = kFALSE 
)
virtual

Close socket connection.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2419 of file TSystem.cxx.

◆ Closelog()

void TSystem::Closelog ( )
virtual

Close connection to system log daemon.

Reimplemented in TUnixSystem.

Definition at line 1667 of file TSystem.cxx.

◆ ClosePipe()

int TSystem::ClosePipe ( FILE *  pipe)
virtual

Close the pipe.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 679 of file TSystem.cxx.

◆ CompileMacro()

int TSystem::CompileMacro ( const char *  filename,
Option_t opt = "",
const char *  library_specified = "",
const char *  build_dir = "",
UInt_t  dirmode = 0 
)
virtual

This method compiles and loads a shared library containing the code from the file "filename".

The return value is true (1) in case of success and false (0) in case of error.

The possible options are:

  • k : keep the shared library after the session end.
  • f : force recompilation.
  • g : compile with debug symbol
  • O : optimized the code
  • c : compile only, do not attempt to load the library.
  • s : silence all informational output
  • v : output all information output
  • d : debug ACLiC, keep all the output files.
  • - : if buildir is set, use a flat structure (see buildir below)

If library_specified is specified, CompileMacro generates the file "library_specified".soext where soext is the shared library extension for the current platform.

If build_dir is specified, it is used as an alternative 'root' for the generation of the shared library. The library is stored in a sub-directories of 'build_dir' including the full pathname of the script unless a flat directory structure is requested ('-' option). With the '-' option the libraries are created directly in the directory 'build_dir'; in particular this means that 2 scripts with the same name in different source directory will over-write each other's library. See also TSystem::SetBuildDir.

If dirmode is not zero and we need to create the target directory, the file mode bit will be change to 'dirmode' using chmod.

If library_specified is not specified, CompileMacro generate a default name for library by taking the name of the file "filename" but replacing the dot before the extension by an underscore and by adding the shared library extension for the current platform. For example on most platform, hsimple.cxx will generate hsimple_cxx.so

It uses the directive fMakeSharedLibs to create a shared library. If loading the shared library fails, it tries to output a list of missing symbols by creating an executable (on some platforms like OSF, this does not HAVE to be an executable) containing the script. It uses the directive fMakeExe to do so. For both directives, before passing them to TSystem::Exec, it expands the variables $SourceFiles, $SharedLib, $LibName, $IncludePath, $LinkedLibs, $DepLibs, $ExeName and $ObjectFiles. See SetMakeSharedLib() for more information on those variables.

This method is used to implement the following feature:

Synopsis:

The purpose of this addition is to allow the user to use an external compiler to create a shared library from its C++ macro (scripts). Currently in order to execute a script, a user has to type at the root prompt

.X myfunc.C(arg1,arg2)

We allow them to type:

.X myfunc.C++(arg1,arg2)

or

.X myfunc.C+(arg1,arg2)

In which case an external compiler will be called to create a shared library. This shared library will then be loaded and the function myfunc will be called with the two arguments. With '++' the shared library is always recompiled. With '+' the shared library is recompiled only if it does not exist yet or the macro file is newer than the shared library.

Of course the + and ++ notation is supported in similar way for .x and .L.

Through the function TSystem::SetMakeSharedLib(), the user will be able to indicate, with shell commands, how to build a shared library (a good default will be provided). The most common change, namely where to find header files, will be available through the function TSystem::SetIncludePath(). A good default will be provided so that a typical user session should be at most:

root[1] gSystem->SetIncludePath("-I$ROOTSYS/include
-I$HOME/mypackage/include");
root[2] .x myfunc.C++(10,20);

The user may sometimes try to compile a script before it has loaded all the needed shared libraries. In this case we want to be helpfull and output a list of the unresolved symbols. So if the loading of the created shared library fails, we will try to build a executable that contains the script. The linker should then output a list of missing symbols.

To support this we provide a TSystem::SetMakeExe() function, that sets the directive telling how to create an executable. The loader will need to be informed of all the libraries available. The information about the libraries that has been loaded by .L and TSystem::Load() is accesible to the script compiler. However, the information about the libraries that have been selected at link time by the application builder (like the root libraries for root.exe) are not available and need to be explicitly listed in fLinkedLibs (either by default or by a call to TSystem::SetLinkedLibs()).

To simplify customization we could also add to the .rootrc support for the variables

Unix.*.Root.IncludePath: -I$ROOTSYS/include
WinNT.*.Root.IncludePath: -I%ROOTSYS%/include
Unix.*.Root.LinkedLibs: -L$ROOTSYS/lib -lBase ....
WinNT.*.Root.LinkedLibs: %ROOTSYS%/lib/*.lib msvcrt.lib ....

And also support for MakeSharedLibs() and MakeExe().

(the ... have to be replaced by the actual values and are here only to shorten this comment).

Definition at line 2864 of file TSystem.cxx.

◆ ConcatFileName()

char * TSystem::ConcatFileName ( const char *  dir,
const char *  name 
)
virtual

Concatenate a directory and a file name. User must delete returned string.

Definition at line 1052 of file TSystem.cxx.

◆ ConsistentWith()

Bool_t TSystem::ConsistentWith ( const char *  path,
void dirptr = 0 
)
protectedvirtual

Check consistency of this helper with the one required by 'path' or 'dirptr'.

Reimplemented in TNetSystem, TXNetSystem, TNetXNGSystem, and TDavixSystem.

Definition at line 802 of file TSystem.cxx.

◆ CopyFile()

int TSystem::CopyFile ( const char *  from,
const char *  to,
Bool_t  overwrite = kFALSE 
)
virtual

Copy a file.

If overwrite is true and file already exists the file will be overwritten. Returns 0 when successful, -1 in case of file open failure, -2 in case the file already exists and overwrite was false and -3 in case of error during copy.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1321 of file TSystem.cxx.

◆ DirName()

const char * TSystem::DirName ( const char *  pathname)
virtual

Return the directory name in pathname.

DirName of /user/root is /user. In case no dirname is specified "." is returned.

Reimplemented in TWinNTSystem.

Definition at line 1004 of file TSystem.cxx.

◆ DispatchOneEvent()

void TSystem::DispatchOneEvent ( Bool_t  pendingOnly = kFALSE)
virtual

Dispatch a single event.

Reimplemented in TWinNTSystem, TUnixSystem, and TMacOSXSystem.

Definition at line 437 of file TSystem.cxx.

◆ DoBeep()

virtual void TSystem::DoBeep ( Int_t  = -1,
Int_t  = -1 
) const
inlineprotectedvirtual

Reimplemented in TWinNTSystem.

Definition at line 313 of file TSystem.h.

◆ DynamicPathName()

char * TSystem::DynamicPathName ( const char *  lib,
Bool_t  quiet = kFALSE 
)

Find a dynamic library called lib using the system search paths.

Appends known extensions if needed. Returned string must be deleted by the user!

Definition at line 2006 of file TSystem.cxx.

◆ DynFindSymbol()

Func_t TSystem::DynFindSymbol ( const char *  module,
const char *  entry 
)
virtual

Find specific entry point in specified library.

Specify "*" for lib to search in all libraries.

Reimplemented in TUnixSystem.

Definition at line 2030 of file TSystem.cxx.

◆ Exec()

int TSystem::Exec ( const char *  shellcmd)
virtual

Execute a command.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 661 of file TSystem.cxx.

◆ Exit()

void TSystem::Exit ( int  code,
Bool_t  mode = kTRUE 
)
virtual

Exit the application.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 724 of file TSystem.cxx.

◆ ExitLoop()

void TSystem::ExitLoop ( )
virtual

Exit from event loop.

Reimplemented in TWinNTSystem.

Definition at line 400 of file TSystem.cxx.

◆ ExpandFileName() [1/3]

const char * TSystem::ExpandFileName ( const char *  fname)
protectedvirtual

Expand a pathname getting rid of special shell characters like ~.

$, etc. For Unix/Win32 compatibility use instead of $XXX when using environment variables in a pathname. If compatibility is not an issue you can use on Unix directly $XXX. This is a protected function called from the OS specific system classes, like TUnixSystem and TWinNTSystem. Returns the expanded filename or 0 in case of error.

Definition at line 1079 of file TSystem.cxx.

◆ ExpandFileName() [2/3]

Bool_t TSystem::ExpandFileName ( TString fname)
protectedvirtual

Expand a pathname getting rid of special shell characters like ~.

$, etc. This function is analogous to ExpandFileName(const char *), except that it receives a TString reference of the pathname to be expanded. Returns kTRUE in case of error and kFALSE otherwise.

Definition at line 1097 of file TSystem.cxx.

◆ ExpandFileName() [3/3]

Bool_t TSystem::ExpandFileName ( const char *  fname,
char *  xname,
const int  kBufSize 
)
private

Private method for pathname expansion.

Returns kTRUE in case of error and kFALSE otherwise.

Definition at line 1113 of file TSystem.cxx.

◆ ExpandPathName() [1/2]

Bool_t TSystem::ExpandPathName ( TString path)
virtual

Expand a pathname getting rid of special shell characters like ~.

$, etc. For Unix/Win32 compatibility use instead of $XXX when using environment variables in a pathname. If compatibility is not an issue you can use on Unix directly $XXX.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1254 of file TSystem.cxx.

◆ ExpandPathName() [2/2]

char * TSystem::ExpandPathName ( const char *  path)
virtual

Expand a pathname getting rid of special shell characters like ~.

$, etc. For Unix/Win32 compatibility use instead of $XXX when using environment variables in a pathname. If compatibility is not an issue you can use on Unix directly $XXX. The user must delete returned string.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1265 of file TSystem.cxx.

◆ FindDynamicLibrary()

const char * TSystem::FindDynamicLibrary ( TString lib,
Bool_t  quiet = kFALSE 
)
virtual

Find a dynamic library using the system search paths.

lib will be updated to contain the absolute filename if found. Returns lib if found, or NULL if a library called lib was not found. This function does not open the library.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2020 of file TSystem.cxx.

◆ FindFile()

const char * TSystem::FindFile ( const char *  search,
TString file,
EAccessMode  mode = kFileExists 
)
virtual

Find location of file in a search path.

Return value points to TString for compatibility with Which(const char *, const char *, EAccessMode). Returns 0 in case file is not found.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1512 of file TSystem.cxx.

◆ FindHelper()

TSystem * TSystem::FindHelper ( const char *  path,
void dirptr = 0 
)
protected

Create helper TSystem to handle file and directory operations that might be special for remote file access, like via rfiod or rootd.

Definition at line 752 of file TSystem.cxx.

◆ FreeDirectory()

void TSystem::FreeDirectory ( void dirp)
virtual

◆ GetAclicMode()

TSystem::EAclicMode TSystem::GetAclicMode ( ) const
virtual

AclicMode indicates whether the library should be built in debug mode or optimized.

The values are:

Definition at line 3832 of file TSystem.cxx.

◆ GetAclicProperties()

Int_t TSystem::GetAclicProperties ( ) const
virtual

Return the ACLiC properties field.

See EAclicProperties for details on the semantic of each bit.

Definition at line 3760 of file TSystem.cxx.

◆ GetBeepDefaults()

void TSystem::GetBeepDefaults ( Int_t freq,
Int_t duration 
) const
inline

Definition at line 342 of file TSystem.h.

◆ GetBuildArch()

const char * TSystem::GetBuildArch ( ) const
virtual

Return the build architecture.

Definition at line 3768 of file TSystem.cxx.

◆ GetBuildCompiler()

const char * TSystem::GetBuildCompiler ( ) const
virtual

Return the build compiler.

Definition at line 3776 of file TSystem.cxx.

◆ GetBuildCompilerVersion()

const char * TSystem::GetBuildCompilerVersion ( ) const
virtual

Return the build compiler version.

Definition at line 3784 of file TSystem.cxx.

◆ GetBuildDir()

const char * TSystem::GetBuildDir ( ) const
virtual

Return the path of the build directory.

Definition at line 3800 of file TSystem.cxx.

◆ GetBuildNode()

const char * TSystem::GetBuildNode ( ) const
virtual

Return the build node name.

Definition at line 3792 of file TSystem.cxx.

◆ GetCpuInfo()

int TSystem::GetCpuInfo ( CpuInfo_t info,
Int_t  sampleTime = 1000 
) const
virtual

Returns cpu load average and load info into the CpuInfo_t structure.

Returns -1 in case of error, 0 otherwise. Use sampleTime to set the interval over which the CPU load will be measured, in ms (default 1000).

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2498 of file TSystem.cxx.

◆ GetDirEntry()

const char * TSystem::GetDirEntry ( void dirp)
virtual

Get a directory entry. Returns 0 if no more entries.

Reimplemented in TWinNTSystem, TUnixSystem, TNetSystem, TWebSystem, TDCacheSystem, TXNetSystem, TRFIOSystem, THDFSSystem, TGFALSystem, TNetXNGSystem, TDavixSystem, TChirpSystem, and TAlienSystem.

Definition at line 851 of file TSystem.cxx.

◆ GetDirPtr()

virtual void* TSystem::GetDirPtr ( ) const
inlinevirtual

Reimplemented in TWebSystem, TNetSystem, TDCacheSystem, TXNetSystem, TRFIOSystem, TGFALSystem, and TAlienSystem.

Definition at line 397 of file TSystem.h.

◆ GetDynamicPath()

const char * TSystem::GetDynamicPath ( )
virtual

Return the dynamic path (used to find shared libraries).

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1768 of file TSystem.cxx.

◆ GetEffectiveGid()

Int_t TSystem::GetEffectiveGid ( )
virtual

Returns the effective group id.

The effective group id corresponds to the set id bit on the file being executed.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1564 of file TSystem.cxx.

◆ GetEffectiveUid()

Int_t TSystem::GetEffectiveUid ( )
virtual

Returns the effective user id.

The effective id corresponds to the set id bit on the file being executed.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1545 of file TSystem.cxx.

◆ Getenv()

const char * TSystem::Getenv ( const char *  env)
virtual

Get environment variable.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 1638 of file TSystem.cxx.

◆ GetErrno()

Int_t TSystem::GetErrno ( )
static

Static function returning system error number.

Definition at line 268 of file TSystem.cxx.

◆ GetError()

const char * TSystem::GetError ( )
virtual

Return system error string.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 258 of file TSystem.cxx.

◆ GetErrorStr()

const char* TSystem::GetErrorStr ( ) const
inline

Definition at line 333 of file TSystem.h.

◆ GetFlagsDebug()

const char * TSystem::GetFlagsDebug ( ) const
virtual

Return the debug flags.

Definition at line 3812 of file TSystem.cxx.

◆ GetFlagsOpt()

const char * TSystem::GetFlagsOpt ( ) const
virtual

Return the optimization flags.

Definition at line 3820 of file TSystem.cxx.

◆ GetFPEMask()

Int_t TSystem::GetFPEMask ( )
virtual

Return the bitmap of conditions that trigger a floating point exception.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 640 of file TSystem.cxx.

◆ GetFromPipe()

TString TSystem::GetFromPipe ( const char *  command)
virtual

Execute command and return output in TString.

Definition at line 688 of file TSystem.cxx.

◆ GetFsInfo()

int TSystem::GetFsInfo ( const char *  path,
Long_t id,
Long_t bsize,
Long_t blocks,
Long_t bfree 
)
virtual

Get info about a file system: fs type, block size, number of blocks, number of free blocks.

Reimplemented in TWinNTSystem, TUnixSystem, TAlienSystem, and TChirpSystem.

Definition at line 1448 of file TSystem.cxx.

◆ GetGid()

Int_t TSystem::GetGid ( const char *  group = 0)
virtual

Returns the group's id. If group = 0, returns current user's group.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1554 of file TSystem.cxx.

◆ GetGroupInfo() [1/2]

UserGroup_t * TSystem::GetGroupInfo ( Int_t  gid)
virtual

Returns all group info in the UserGroup_t structure.

The only active fields in the UserGroup_t structure for this call are:

  • fGid and fGroup The returned structure must be deleted by the user. In case of error 0 is returned.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1598 of file TSystem.cxx.

◆ GetGroupInfo() [2/2]

UserGroup_t * TSystem::GetGroupInfo ( const char *  group = 0)
virtual

Returns all group info in the UserGroup_t structure.

The only active fields in the UserGroup_t structure for this call are:

  • fGid and fGroup If group = 0, returns current user's group. The returned structure must be deleted by the user. In case of error 0 is returned.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1611 of file TSystem.cxx.

◆ GetHomeDirectory()

std::string TSystem::GetHomeDirectory ( const char *  userName = 0) const
virtual

Return the user's home directory.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 893 of file TSystem.cxx.

◆ GetHostByName()

TInetAddress TSystem::GetHostByName ( const char *  server)
virtual

Get Internet Protocol (IP) address of host.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2320 of file TSystem.cxx.

◆ GetIncludePath()

const char * TSystem::GetIncludePath ( )
virtual

Get the list of include path.

Definition at line 3858 of file TSystem.cxx.

◆ GetLastErrorString() [1/2]

TString & TSystem::GetLastErrorString ( )
protected

Return the thread local storage for the custom last error message.

Definition at line 2096 of file TSystem.cxx.

◆ GetLastErrorString() [2/2]

const TString & TSystem::GetLastErrorString ( ) const
protected

Return the thread local storage for the custom last error message.

Definition at line 2105 of file TSystem.cxx.

◆ GetLibraries()

const char * TSystem::GetLibraries ( const char *  regexp = "",
const char *  options = "",
Bool_t  isRegexp = kTRUE 
)
virtual

Return a space separated list of loaded shared libraries.

Regexp is a wildcard expression, see TRegexp::MakeWildcard. This list is of a format suitable for a linker, i.e it may contain -Lpathname and/or -lNameOfLib. Option can be any of:

  • S: shared libraries loaded at the start of the executable, because they were specified on the link line.
  • D: shared libraries dynamically loaded after the start of the program. For MacOS only:
  • L: list the .dylib rather than the .so (this is intended for linking) This options is not the default

Reimplemented in TWinNTSystem.

Definition at line 2132 of file TSystem.cxx.

◆ GetLinkdefSuffix()

const char * TSystem::GetLinkdefSuffix ( ) const
virtual

Return the linkdef suffix chosen by the user for ACLiC.

See TSystem::CompileMacro for more details.

Definition at line 3878 of file TSystem.cxx.

◆ GetLinkedLibraries()

const char * TSystem::GetLinkedLibraries ( )
protectedvirtual

Get list of shared libraries loaded at the start of the executable.

Returns 0 in case list cannot be obtained or in case of error.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2114 of file TSystem.cxx.

◆ GetLinkedLibs()

const char * TSystem::GetLinkedLibs ( ) const
virtual

Return the list of library linked to this executable.

See TSystem::CompileMacro for more details.

Definition at line 3869 of file TSystem.cxx.

◆ GetListOfFileHandlers()

virtual TSeqCollection* TSystem::GetListOfFileHandlers ( ) const
inlinevirtual

Definition at line 364 of file TSystem.h.

◆ GetListOfSignalHandlers()

virtual TSeqCollection* TSystem::GetListOfSignalHandlers ( ) const
inlinevirtual

Definition at line 361 of file TSystem.h.

◆ GetListOfStdExceptionHandlers()

virtual TSeqCollection* TSystem::GetListOfStdExceptionHandlers ( ) const
inlinevirtual

Definition at line 367 of file TSystem.h.

◆ GetListOfTimers()

virtual TSeqCollection* TSystem::GetListOfTimers ( ) const
inlinevirtual

Definition at line 375 of file TSystem.h.

◆ GetMakeExe()

const char * TSystem::GetMakeExe ( ) const
virtual

Return the command line use to make an executable.

See TSystem::CompileMacro for more details.

Definition at line 3850 of file TSystem.cxx.

◆ GetMakeSharedLib()

const char * TSystem::GetMakeSharedLib ( ) const
virtual

Return the command line use to make a shared library.

See TSystem::CompileMacro for more details.

Definition at line 3841 of file TSystem.cxx.

◆ GetMemInfo()

int TSystem::GetMemInfo ( MemInfo_t info) const
virtual

Returns ram and swap memory usage info into the MemInfo_t structure.

Returns -1 in case of error, 0 otherwise.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2508 of file TSystem.cxx.

◆ GetObjExt()

const char * TSystem::GetObjExt ( ) const
virtual

Get the object file extension.

Definition at line 3898 of file TSystem.cxx.

◆ GetPathInfo() [1/3]

int TSystem::GetPathInfo ( const char *  path,
Long_t id,
Long_t size,
Long_t flags,
Long_t modtime 
)

Get info about a file: id, size, flags, modification time.

  • Id is (statbuf.st_dev << 24) + statbuf.st_ino
  • Size is the file size
  • Flags is file type: 0 is regular file, bit 0 set executable, bit 1 set directory, bit 2 set special file (socket, fifo, pipe, etc.) Modtime is modification time. The function returns 0 in case of success and 1 if the file could not be stat'ed.

Definition at line 1374 of file TSystem.cxx.

◆ GetPathInfo() [2/3]

int TSystem::GetPathInfo ( const char *  path,
Long_t id,
Long64_t size,
Long_t flags,
Long_t modtime 
)

Get info about a file: id, size, flags, modification time.

  • Id is (statbuf.st_dev << 24) + statbuf.st_ino
  • Size is the file size
  • Flags is file type: 0 is regular file, bit 0 set executable, bit 1 set directory, bit 2 set special file (socket, fifo, pipe, etc.) Modtime is modification time. The function returns 0 in case of success and 1 if the file could not be stat'ed.

Definition at line 1404 of file TSystem.cxx.

◆ GetPathInfo() [3/3]

int TSystem::GetPathInfo ( const char *  path,
FileStat_t buf 
)
virtual

Get info about a file.

Info is returned in the form of a FileStat_t structure (see TSystem.h). The function returns 0 in case of success and 1 if the file could not be stat'ed.

Reimplemented in TWinNTSystem, TUnixSystem, TNetSystem, TWebSystem, TDCacheSystem, TXNetSystem, TRFIOSystem, THDFSSystem, TGFALSystem, TAlienSystem, TNetXNGSystem, TDavixSystem, and TChirpSystem.

Definition at line 1438 of file TSystem.cxx.

◆ GetPeerName()

TInetAddress TSystem::GetPeerName ( int  sock)
virtual

Get Internet Protocol (IP) address of remote host and port #.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2329 of file TSystem.cxx.

◆ GetPid()

int TSystem::GetPid ( )
virtual

Get process id.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 715 of file TSystem.cxx.

◆ GetProcInfo()

int TSystem::GetProcInfo ( ProcInfo_t info) const
virtual

Returns cpu and memory used by this process into the ProcInfo_t structure.

Returns -1 in case of error, 0 otherwise.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2518 of file TSystem.cxx.

◆ GetServiceByName()

int TSystem::GetServiceByName ( const char *  service)
virtual

Get port # of internet service.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2347 of file TSystem.cxx.

◆ GetServiceByPort()

char * TSystem::GetServiceByPort ( int  port)
virtual

Get name of internet service.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2356 of file TSystem.cxx.

◆ GetSockName()

TInetAddress TSystem::GetSockName ( int  sock)
virtual

Get Internet Protocol (IP) address of host and port #.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2338 of file TSystem.cxx.

◆ GetSockOpt()

int TSystem::GetSockOpt ( int  sock,
int  kind,
int *  val 
)
virtual

Get socket option.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2474 of file TSystem.cxx.

◆ GetSoExt()

const char * TSystem::GetSoExt ( ) const
virtual

Get the shared library extension.

Definition at line 3890 of file TSystem.cxx.

◆ GetSysInfo()

int TSystem::GetSysInfo ( SysInfo_t info) const
virtual

Returns static system info, like OS type, CPU type, number of CPUs RAM size, etc into the SysInfo_t structure.

Returns -1 in case of error, 0 otherwise.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2487 of file TSystem.cxx.

◆ GetUid()

Int_t TSystem::GetUid ( const char *  user = 0)
virtual

Returns the user's id. If user = 0, returns current user's id.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1535 of file TSystem.cxx.

◆ GetUserInfo() [1/2]

UserGroup_t * TSystem::GetUserInfo ( Int_t  uid)
virtual

Returns all user info in the UserGroup_t structure.

The returned structure must be deleted by the user. In case of error 0 is returned.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1574 of file TSystem.cxx.

◆ GetUserInfo() [2/2]

UserGroup_t * TSystem::GetUserInfo ( const char *  user = 0)
virtual

Returns all user info in the UserGroup_t structure.

If user = 0, returns current user's id info. The returned structure must be deleted by the user. In case of error 0 is returned.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1585 of file TSystem.cxx.

◆ GetVolumes()

virtual TList* TSystem::GetVolumes ( Option_t ) const
inlinevirtual

Reimplemented in TWinNTSystem.

Definition at line 435 of file TSystem.h.

◆ GetWorkingDirectory()

std::string TSystem::GetWorkingDirectory ( ) const
virtual

Return working directory.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 877 of file TSystem.cxx.

◆ HomeDirectory()

const char * TSystem::HomeDirectory ( const char *  userName = 0)
virtual

Return the user's home directory.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 885 of file TSystem.cxx.

◆ HostName()

const char * TSystem::HostName ( )
virtual

Return the system's host name.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 311 of file TSystem.cxx.

◆ IgnoreInterrupt()

void TSystem::IgnoreInterrupt ( Bool_t  ignore = kTRUE)
virtual

If ignore is true ignore the interrupt signal, else restore previous behaviour.

Typically call ignore interrupt before writing to disk.

Definition at line 610 of file TSystem.cxx.

◆ IgnoreSignal()

void TSystem::IgnoreSignal ( ESignals  sig,
Bool_t  ignore = kTRUE 
)
virtual

If ignore is true ignore the specified signal, else restore previous behaviour.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 601 of file TSystem.cxx.

◆ InControl()

Bool_t TSystem::InControl ( ) const
inline

Definition at line 349 of file TSystem.h.

◆ Init()

Bool_t TSystem::Init ( )
virtual

Initialize the OS interface.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 190 of file TSystem.cxx.

◆ InnerLoop()

void TSystem::InnerLoop ( )
virtual

Inner event loop.

Definition at line 408 of file TSystem.cxx.

◆ IsAbsoluteFileName()

Bool_t TSystem::IsAbsoluteFileName ( const char *  dir)
virtual

Return true if dir is an absolute pathname.

Reimplemented in TWinNTSystem.

Definition at line 949 of file TSystem.cxx.

◆ IsFileInIncludePath()

Bool_t TSystem::IsFileInIncludePath ( const char *  name,
char **  fullpath = 0 
)
virtual

Return true if 'name' is a file that can be found in the ROOT include path or the current directory.

If 'name' contains any ACLiC style information (e.g. trailing +[+][g|O]), it will be striped off 'name'. If fullpath is != 0, the full path to the file is returned in *fullpath, which must be deleted by the caller.

Definition at line 964 of file TSystem.cxx.

◆ IsPathLocal()

Bool_t TSystem::IsPathLocal ( const char *  path)
virtual

Returns TRUE if the url in 'path' points to the local file system.

This is used to avoid going through the NIC card for local operations.

Reimplemented in TWinNTSystem, TUnixSystem, TXNetSystem, TNetXNGSystem, and TDavixSystem.

Definition at line 1285 of file TSystem.cxx.

◆ Link()

int TSystem::Link ( const char *  from,
const char *  to 
)
virtual

Create a link from file1 to file2.

Reimplemented in TWinNTSystem, TUnixSystem, TChirpSystem, and TAlienSystem.

Definition at line 1339 of file TSystem.cxx.

◆ ListLibraries()

void TSystem::ListLibraries ( const char *  regexp = "")
virtual

List all loaded shared libraries.

Regexp is a wildcard expression, see TRegexp::MakeWildcard.

Reimplemented in TUnixSystem.

Definition at line 2059 of file TSystem.cxx.

◆ ListSymbols()

void TSystem::ListSymbols ( const char *  module,
const char *  re = "" 
)
virtual

List symbols in a shared library.

Reimplemented in TUnixSystem.

Definition at line 2050 of file TSystem.cxx.

◆ Load()

int TSystem::Load ( const char *  module,
const char *  entry = "",
Bool_t  system = kFALSE 
)
virtual

Load a shared library.

Returns 0 on successful loading, 1 in case lib was already loaded, -1 in case lib does not exist or in case of error and -2 in case of version mismatch. When entry is specified the loaded lib is searched for this entry point (return -1 when entry does not exist, 0 otherwise). When the system flag is kTRUE, the library is considered a permanent system library that should not be unloaded during the course of the session.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1829 of file TSystem.cxx.

◆ LoadAllLibraries()

UInt_t TSystem::LoadAllLibraries ( )
virtual

Load all libraries known to ROOT via the rootmap system.

Returns the number of top level libraries successfully loaded.

Definition at line 1956 of file TSystem.cxx.

◆ MakeDirectory()

int TSystem::MakeDirectory ( const char *  name)
virtual

Make a directory.

Returns 0 in case of success and -1 if the directory could not be created (either already exists or illegal path name).

Reimplemented in TWinNTSystem, TUnixSystem, TNetSystem, TWebSystem, TDCacheSystem, TXNetSystem, TRFIOSystem, THDFSSystem, TGFALSystem, TDavixSystem, TNetXNGSystem, TChirpSystem, and TAlienSystem.

Definition at line 825 of file TSystem.cxx.

◆ mkdir()

int TSystem::mkdir ( const char *  name,
Bool_t  recursive = kFALSE 
)
virtual

Make a file system directory.

Returns 0 in case of success and -1 if the directory could not be created (either already exists or illegal path name). If 'recursive' is true, makes parent directories as needed.

Reimplemented in TWinNTSystem, and TAlienSystem.

Definition at line 904 of file TSystem.cxx.

◆ NextTimeOut()

Long_t TSystem::NextTimeOut ( Bool_t  mode)
virtual

Time when next timer of mode (synchronous=kTRUE or asynchronous=kFALSE) will time-out (in ms).

Definition at line 502 of file TSystem.cxx.

◆ NotifyApplicationCreated()

void TSystem::NotifyApplicationCreated ( )
virtual

Hook to tell TSystem that the TApplication object has been created.

Reimplemented in TWinNTSystem.

Definition at line 319 of file TSystem.cxx.

◆ Now()

TTime TSystem::Now ( )
virtual

Get current time in milliseconds since 0:00 Jan 1 1995.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 471 of file TSystem.cxx.

◆ OpenConnection()

int TSystem::OpenConnection ( const char *  server,
int  port,
int  tcpwindowsize = -1,
const char *  protocol = "tcp" 
)
virtual

Open a connection to another host.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2365 of file TSystem.cxx.

◆ OpenDirectory()

void * TSystem::OpenDirectory ( const char *  name)
virtual

Open a directory. Returns 0 if directory does not exist.

Reimplemented in TWinNTSystem, TUnixSystem, TNetSystem, TWebSystem, TDCacheSystem, TXNetSystem, TRFIOSystem, THDFSSystem, TGFALSystem, TDavixSystem, TNetXNGSystem, TChirpSystem, and TAlienSystem.

Definition at line 834 of file TSystem.cxx.

◆ Openlog()

void TSystem::Openlog ( const char *  name,
Int_t  options,
ELogFacility  facility 
)
virtual

Open connection to system log daemon.

For the use of the options and facility see the Unix openlog man page.

Reimplemented in TUnixSystem.

Definition at line 1650 of file TSystem.cxx.

◆ OpenPipe()

FILE * TSystem::OpenPipe ( const char *  command,
const char *  mode 
)
virtual

Open a pipe.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 670 of file TSystem.cxx.

◆ operator=()

TSystem& TSystem::operator= ( const TSystem )
private

◆ PrependPathName()

const char * TSystem::PrependPathName ( const char *  dir,
TString name 
)
virtual

Concatenate a directory and a file name.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1062 of file TSystem.cxx.

◆ ProcessEvents()

Bool_t TSystem::ProcessEvents ( )
virtual

Process pending events (GUI, timers, sockets).

Returns the result of TROOT::IsInterrupted(). The interrupt flag (TROOT::SetInterrupt()) can be set during the handling of the events. This mechanism allows macros running in tight calculating loops to be interrupted by some GUI event (depending on the interval with which this method is called). For example hitting ctrl-c in a canvas will set the interrupt flag.

Reimplemented in TWinNTSystem.

Definition at line 424 of file TSystem.cxx.

◆ pwd()

const char* TSystem::pwd ( )
inline

Definition at line 405 of file TSystem.h.

◆ RecvBuf()

int TSystem::RecvBuf ( int  sock,
void buffer,
int  length 
)
virtual

Receive a buffer headed by a length indicator.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2447 of file TSystem.cxx.

◆ RecvRaw()

int TSystem::RecvRaw ( int  sock,
void buffer,
int  length,
int  flag 
)
virtual

Receive exactly length bytes into buffer.

Use opt to receive out-of-band data or to have a peek at what is in the buffer (see TSocket).

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2428 of file TSystem.cxx.

◆ RedirectOutput()

Int_t TSystem::RedirectOutput ( const char *  name,
const char *  mode = "a",
RedirectHandle_t h = 0 
)
virtual

Redirect standard output (stdout, stderr) to the specified file.

If the file argument is 0 the output is set again to stderr, stdout. The second argument specifies whether the output should be added to the file ("a", default) or the file be truncated before ("w"). The implementations of this function save internally the current state into a static structure.

The call can be made reentrant by specifying the opaque structure pointed by 'h', which is filled with the relevant information. The handle 'h' obtained on the first call must then be used in any subsequent call, included ShowOutput, to display the redirected output. Returns 0 on success, -1 in case of error.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1688 of file TSystem.cxx.

◆ RemoveFileHandler()

TFileHandler * TSystem::RemoveFileHandler ( TFileHandler h)
virtual

Remove a file handler from the list of file handlers.

Returns the handler or 0 if the handler was not in the list of file handlers.

Reimplemented in TWinNTSystem, TUnixSystem, and TMacOSXSystem.

Definition at line 572 of file TSystem.cxx.

◆ RemoveOnExit()

void TSystem::RemoveOnExit ( TObject obj)

Objects that should be deleted on exit of the OS interface.

Definition at line 300 of file TSystem.cxx.

◆ RemoveSignalHandler()

TSignalHandler * TSystem::RemoveSignalHandler ( TSignalHandler h)
virtual

Remove a signal handler from list of signal handlers.

Returns the handler or 0 if the handler was not in the list of signal handlers.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 550 of file TSystem.cxx.

◆ RemoveStdExceptionHandler()

TStdExceptionHandler * TSystem::RemoveStdExceptionHandler ( TStdExceptionHandler eh)
virtual

Remove an exception handler from list of exception handlers.

Returns the handler or 0 if the handler was not in the list of exception handlers.

Definition at line 629 of file TSystem.cxx.

◆ RemoveTimer()

TTimer * TSystem::RemoveTimer ( TTimer ti)
virtual

Remove timer from list of system timers.

Returns removed timer or 0 if timer was not active.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 489 of file TSystem.cxx.

◆ Rename()

int TSystem::Rename ( const char *  from,
const char *  to 
)
virtual

Rename a file.

Reimplemented in TWinNTSystem, TUnixSystem, TChirpSystem, and TAlienSystem.

Definition at line 1330 of file TSystem.cxx.

◆ ResetErrno()

void TSystem::ResetErrno ( )
static

Static function resetting system error number.

Definition at line 284 of file TSystem.cxx.

◆ ResetSignal()

void TSystem::ResetSignal ( ESignals  sig,
Bool_t  reset = kTRUE 
)
virtual

If reset is true reset the signal handler for the specified signal to the default handler, else restore previous behaviour.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 584 of file TSystem.cxx.

◆ ResetSignals()

void TSystem::ResetSignals ( )
virtual

Reset signals handlers to previous behaviour.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 592 of file TSystem.cxx.

◆ ResetTimer()

virtual void TSystem::ResetTimer ( TTimer )
inlinevirtual

Reimplemented in TUnixSystem.

Definition at line 378 of file TSystem.h.

◆ Run()

void TSystem::Run ( )
virtual

System event loop.

Definition at line 351 of file TSystem.cxx.

◆ Select() [1/2]

Int_t TSystem::Select ( TList active,
Long_t  timeout 
)
virtual

Select on active file descriptors (called by TMonitor).

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 453 of file TSystem.cxx.

◆ Select() [2/2]

Int_t TSystem::Select ( TFileHandler fh,
Long_t  timeout 
)
virtual

Select on active file descriptors (called by TMonitor).

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 461 of file TSystem.cxx.

◆ SendBuf()

int TSystem::SendBuf ( int  sock,
const void buffer,
int  length 
)
virtual

Send a buffer headed by a length indicator.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2456 of file TSystem.cxx.

◆ SendRaw()

int TSystem::SendRaw ( int  sock,
const void buffer,
int  length,
int  flag 
)
virtual

Send exactly length bytes from buffer.

Use opt to send out-of-band data (see TSocket).

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2438 of file TSystem.cxx.

◆ SetAclicMode()

void TSystem::SetAclicMode ( EAclicMode  mode)
virtual

AclicMode indicates whether the library should be built in debug mode or optimized.

The values are:

Definition at line 3948 of file TSystem.cxx.

◆ SetBuildDir()

void TSystem::SetBuildDir ( const char *  build_dir,
Bool_t  isflat = kFALSE 
)
virtual

Set the location where ACLiC will create libraries and use as a scratch area.

If isflast is flase, then the libraries are actually stored in sub-directories of 'build_dir' including the full pathname of the script. If the script is location at /full/path/name/macro.C the library will be located at 'build_dir+/full/path/name/macro_C.so' If 'isflat' is true, then no subdirectory is created and the library is created directly in the directory 'build_dir'. Note that in this mode there is a risk than 2 script of the same in different source directory will over-write each other.

Definition at line 3916 of file TSystem.cxx.

◆ SetDisplay()

void TSystem::SetDisplay ( )
virtual

Set DISPLAY environment variable based on utmp entry. Only for UNIX.

Reimplemented in TUnixSystem.

Definition at line 239 of file TSystem.cxx.

◆ SetDynamicPath()

void TSystem::SetDynamicPath ( const char *  pathname)
virtual

Set the dynamic path to a new value.

If the value of 'path' is zero, the dynamic path is reset to its default value.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1779 of file TSystem.cxx.

◆ Setenv()

void TSystem::Setenv ( const char *  name,
const char *  value 
)
virtual

Set environment variable.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 1622 of file TSystem.cxx.

◆ SetErrorStr()

void TSystem::SetErrorStr ( const char *  errstr)

Set the system error string.

This string will be used by GetError(). To be used in case one does not want or can use the system error string (e.g. because error is generated by a third party POSIX like library that does not use standard errno).

Definition at line 249 of file TSystem.cxx.

◆ SetFlagsDebug()

void TSystem::SetFlagsDebug ( const char *  flags)
virtual

FlagsDebug should contain the options to pass to the C++ compiler in order to compile the library in debug mode.

Definition at line 3927 of file TSystem.cxx.

◆ SetFlagsOpt()

void TSystem::SetFlagsOpt ( const char *  flags)
virtual

FlagsOpt should contain the options to pass to the C++ compiler in order to compile the library in optimized mode.

Definition at line 3936 of file TSystem.cxx.

◆ SetFPEMask()

Int_t TSystem::SetFPEMask ( Int_t  mask = kDefaultMask)
virtual

Set which conditions trigger a floating point exception.

Return the previous set of conditions.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 650 of file TSystem.cxx.

◆ SetIncludePath()

void TSystem::SetIncludePath ( const char *  includePath)
virtual

IncludePath should contain the list of compiler flags to indicate where to find user defined header files.

It is used to expand $IncludePath in the directives given to SetMakeSharedLib() and SetMakeExe(), e.g.:

gSystem->SetInclude("-I$ROOTSYS/include -Imydirectory/include");

the default value of IncludePath on Unix is:

"-I$ROOTSYS/include "

and on Windows:

"/I%ROOTSYS%/include "

Definition at line 4060 of file TSystem.cxx.

◆ SetLinkdefSuffix()

void TSystem::SetLinkdefSuffix ( const char *  suffix)
virtual

The 'suffix' will be appended to the name of a script loaded by ACLiC and used to locate any eventual additional linkdef information that ACLiC should used to produce the dictionary.

So by default, when doing .L MyScript.cxx, ACLiC will look for a file name MyScript_linkdef and having one of the .h (.hpp, etc.) extensions. If such a file exist, it will be added to the end of the linkdef file used to created the ACLiC dictionary. This effectively enable the full customization of the creation of the dictionary. It should be noted that the file is intended as a linkdef fragment, so usually you would not list the typical:

#pragma link off ....

Definition at line 4093 of file TSystem.cxx.

◆ SetLinkedLibs()

void TSystem::SetLinkedLibs ( const char *  linkedLibs)
virtual

LinkedLibs should contain the library directory and list of libraries needed to recreate the current executable.

It is used to expand $LinkedLibs in the directives given to SetMakeSharedLib() and SetMakeExe() The default value on Unix is: root-config --glibs

Definition at line 4071 of file TSystem.cxx.

◆ SetMakeExe()

void TSystem::SetMakeExe ( const char *  directives)
virtual

Directives has the same syntax as the argument of SetMakeSharedLib but is used to create an executable.

This creation is used as a means to output a list of unresolved symbols, when loading a shared library has failed. The required variable is $ExeName rather than $SharedLib, e.g.:

"g++ -Wall -fPIC $IncludePath $SourceFiles
-o $ExeName $LinkedLibs -L/usr/X11R6/lib -lX11 -lm -ldl -rdynamic");

Definition at line 3964 of file TSystem.cxx.

◆ SetMakeSharedLib()

void TSystem::SetMakeSharedLib ( const char *  directives)
virtual

Directives should contain the description on how to compile and link a shared lib.

This description can be any valid shell command, including the use of ';' to separate several instructions. However, shell specific construct should be avoided. In particular this description can contain environment variables, like $ROOTSYS (or ROOTSYS% on windows).

Five special variables will be expanded before execution:
Variable name Expands to
------------- ----------
$SourceFiles Name of source files to be compiled
$SharedLib Name of the shared library being created
$LibName Name of shared library without extension
$BuildDir Directory where the files will be created
$IncludePath value of fIncludePath
$LinkedLibs value of fLinkedLibs
$DepLibs libraries on which this library depends on
$ObjectFiles Name of source files to be compiler with
their extension changed to .o or .obj
$Opt location of the optimization/debug options

e.g.:

"KCC -n32 --strict $IncludePath -K0 \$Opt $SourceFile
--no_exceptions --signed_chars --display_error_number
--diag_suppress 68 -o $SharedLib");
gSystem->setMakeSharedLib(
"Cxx $IncludePath -c $SourceFile;
ld -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx -expect_unresolved
\$Opt -shared /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o
-o $SharedLib $ObjectFile -lcxxstd -lcxx -lexc -lots -lc"
"$HOME/mygcc/bin/g++ \$Opt -Wall -fPIC $IncludePath $SourceFile
-shared -o $SharedLib");
"cl -DWIN32 -D_WIN32 -D_MT -D_DLL -MD /O2 /G5 /MD -DWIN32
-D_WINDOWS $IncludePath $SourceFile
/link -PDB:NONE /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO
$LinkedLibs -entry:_DllMainCRTStartup@12 -dll /out:$SharedLib")

Definition at line 4016 of file TSystem.cxx.

◆ SetObjExt()

void TSystem::SetObjExt ( const char *  objExt)
virtual

Set object files extension, should be either .o, .obj, etc.

Definition at line 4110 of file TSystem.cxx.

◆ SetProgname()

void TSystem::SetProgname ( const char *  name)
virtual

Set the application name (from command line, argv[0]) and copy it in gProgName.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 231 of file TSystem.cxx.

◆ SetSockOpt()

int TSystem::SetSockOpt ( int  sock,
int  kind,
int  val 
)
virtual

Set socket option.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 2465 of file TSystem.cxx.

◆ SetSoExt()

void TSystem::SetSoExt ( const char *  soExt)
virtual

Set shared library extension, should be either .so, .sl, .a, .dll, etc.

Definition at line 4102 of file TSystem.cxx.

◆ ShowOutput()

void TSystem::ShowOutput ( RedirectHandle_t h)
virtual

Display the content associated with the redirection described by the opaque handle 'h'.

Definition at line 1698 of file TSystem.cxx.

◆ SigAlarmInterruptsSyscalls()

virtual void TSystem::SigAlarmInterruptsSyscalls ( Bool_t  )
inlineprotectedvirtual

Reimplemented in TUnixSystem.

Definition at line 311 of file TSystem.h.

◆ Sleep()

void TSystem::Sleep ( UInt_t  milliSec)
virtual

Sleep milliSec milli seconds.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 445 of file TSystem.cxx.

◆ SplitAclicMode()

TString TSystem::SplitAclicMode ( const char *  filename,
TString aclicMode,
TString arguments,
TString io 
) const
virtual

This method split a filename of the form: ~~~ {.cpp} [path/]macro.C[+|++[k|f|g|O|c|s|d|v|-]][(args)].

~~~ It stores the ACliC mode [+|++[options]] in 'mode', the arguments (including parenthesis) in arg and the I/O indirection in io

Definition at line 4124 of file TSystem.cxx.

◆ StackTrace()

void TSystem::StackTrace ( )
virtual

Print a stack trace.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 740 of file TSystem.cxx.

◆ StripOffProto()

static const char* TSystem::StripOffProto ( const char *  path,
const char *  proto 
)
inlinestaticprotected

Definition at line 315 of file TSystem.h.

◆ Symlink()

int TSystem::Symlink ( const char *  from,
const char *  to 
)
virtual

Create a symbolic link from file1 to file2.

Reimplemented in TWinNTSystem, TUnixSystem, TChirpSystem, and TAlienSystem.

Definition at line 1348 of file TSystem.cxx.

◆ Syslog()

void TSystem::Syslog ( ELogLevel  level,
const char *  mess 
)
virtual

Send mess to syslog daemon.

Level is the logging level and mess the message that will be written on the log.

Reimplemented in TUnixSystem.

Definition at line 1659 of file TSystem.cxx.

◆ TempDirectory()

const char * TSystem::TempDirectory ( ) const
virtual

Return a user configured or systemwide directory to create temporary files in.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1458 of file TSystem.cxx.

◆ TempFileName()

FILE * TSystem::TempFileName ( TString base,
const char *  dir = 0 
)
virtual

Create a secure temporary file by appending a unique 6 letter string to base.

The file will be created in a standard (system) directory or in the directory provided in dir. The full filename is returned in base and a filepointer is returned for safely writing to the file (this avoids certain security problems). Returns 0 in case of error.

Reimplemented in TWinNTSystem, and TUnixSystem.

Definition at line 1473 of file TSystem.cxx.

◆ Umask()

int TSystem::Umask ( Int_t  mask)
virtual

Set the process file creation mode mask.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 1491 of file TSystem.cxx.

◆ UnixPathName()

const char * TSystem::UnixPathName ( const char *  name)
virtual

Convert from a Unix pathname to a local pathname.

E.g. from /user/root to \user\root.

Reimplemented in TWinNTSystem.

Definition at line 1044 of file TSystem.cxx.

◆ Unlink()

int TSystem::Unlink ( const char *  name)
virtual

Unlink, i.e. remove, a file.

Reimplemented in TWinNTSystem, TUnixSystem, TNetSystem, TWebSystem, TXNetSystem, TRFIOSystem, THDFSSystem, TDavixSystem, TNetXNGSystem, TAlienSystem, and TChirpSystem.

Definition at line 1357 of file TSystem.cxx.

◆ Unload()

void TSystem::Unload ( const char *  module)
virtual

Unload a shared library.

Reimplemented in TUnixSystem.

Definition at line 2038 of file TSystem.cxx.

◆ Unsetenv()

void TSystem::Unsetenv ( const char *  name)
virtual

Unset environment variable.

Reimplemented in TUnixSystem.

Definition at line 1630 of file TSystem.cxx.

◆ Utime()

int TSystem::Utime ( const char *  file,
Long_t  modtime,
Long_t  actime 
)
virtual

Set the a files modification and access times.

If actime = 0 it will be set to the modtime. Returns 0 on success and -1 in case of error.

Reimplemented in TWinNTSystem, TUnixSystem, TAlienSystem, and TChirpSystem.

Definition at line 1501 of file TSystem.cxx.

◆ Which()

char * TSystem::Which ( const char *  search,
const char *  wfil,
EAccessMode  mode = kFileExists 
)
virtual

Find location of file in a search path.

User must delete returned string. Returns 0 in case file is not found.

Definition at line 1522 of file TSystem.cxx.

◆ WorkingDirectory()

const char * TSystem::WorkingDirectory ( )
virtual

Return working directory.

Reimplemented in TWinNTSystem, TUnixSystem, and TAlienSystem.

Definition at line 869 of file TSystem.cxx.

Member Data Documentation

◆ fAclicMode

EAclicMode TSystem::fAclicMode
protected

Definition at line 296 of file TSystem.h.

◆ fAclicProperties

Int_t TSystem::fAclicProperties
protected

Definition at line 300 of file TSystem.h.

◆ fBeepDuration

Int_t TSystem::fBeepDuration
protected

Definition at line 270 of file TSystem.h.

◆ fBeepFreq

Int_t TSystem::fBeepFreq
protected

Definition at line 269 of file TSystem.h.

◆ fBuildArch

TString TSystem::fBuildArch
protected

Definition at line 284 of file TSystem.h.

◆ fBuildCompiler

TString TSystem::fBuildCompiler
protected

Definition at line 285 of file TSystem.h.

◆ fBuildCompilerVersion

TString TSystem::fBuildCompilerVersion
protected

Definition at line 286 of file TSystem.h.

◆ fBuildDir

TString TSystem::fBuildDir
protected

Definition at line 288 of file TSystem.h.

◆ fBuildNode

TString TSystem::fBuildNode
protected

Definition at line 287 of file TSystem.h.

◆ fCompiled

TSeqCollection* TSystem::fCompiled
protected

Definition at line 301 of file TSystem.h.

◆ fDone

Bool_t TSystem::fDone
protected

Definition at line 273 of file TSystem.h.

◆ fFileHandler

TSeqCollection* TSystem::fFileHandler
protected

Definition at line 278 of file TSystem.h.

◆ fFlagsDebug

TString TSystem::fFlagsDebug
protected

Definition at line 289 of file TSystem.h.

◆ fFlagsOpt

TString TSystem::fFlagsOpt
protected

Definition at line 290 of file TSystem.h.

◆ fHelpers

TSeqCollection* TSystem::fHelpers
protected

Definition at line 302 of file TSystem.h.

◆ fHostname

TString TSystem::fHostname
protected

Definition at line 267 of file TSystem.h.

◆ fIncludePath

TString TSystem::fIncludePath
protected

Definition at line 292 of file TSystem.h.

◆ fInControl

Bool_t TSystem::fInControl
protected

Definition at line 272 of file TSystem.h.

◆ fInsideNotify

Bool_t TSystem::fInsideNotify
protected

Definition at line 268 of file TSystem.h.

◆ fLevel

Int_t TSystem::fLevel
protected

Definition at line 274 of file TSystem.h.

◆ fLinkdefSuffix

TString TSystem::fLinkdefSuffix
protected

Definition at line 299 of file TSystem.h.

◆ fLinkedLibs

TString TSystem::fLinkedLibs
protected

Definition at line 293 of file TSystem.h.

◆ fListLibs

TString TSystem::fListLibs
protected

Definition at line 282 of file TSystem.h.

◆ fListPaths

TString TSystem::fListPaths
protected

Definition at line 291 of file TSystem.h.

◆ fMakeExe

TString TSystem::fMakeExe
protected

Definition at line 298 of file TSystem.h.

◆ fMakeSharedLib

TString TSystem::fMakeSharedLib
protected

Definition at line 297 of file TSystem.h.

◆ fMaxrfd

Int_t TSystem::fMaxrfd
protected

Definition at line 263 of file TSystem.h.

◆ fMaxwfd

Int_t TSystem::fMaxwfd
protected

Definition at line 264 of file TSystem.h.

◆ fNfd

Int_t TSystem::fNfd
protected

Signals that were trapped.

Definition at line 262 of file TSystem.h.

◆ fObjExt

TString TSystem::fObjExt
protected

Definition at line 295 of file TSystem.h.

◆ fOnExitList

TSeqCollection* TSystem::fOnExitList
protected

Definition at line 280 of file TSystem.h.

◆ fReadmask

TFdSet* TSystem::fReadmask
protected

Definition at line 257 of file TSystem.h.

◆ fReadready

TFdSet* TSystem::fReadready
protected

Files that should be checked for write events.

Definition at line 259 of file TSystem.h.

◆ fSigcnt

Int_t TSystem::fSigcnt
protected

Definition at line 265 of file TSystem.h.

◆ fSignalHandler

TSeqCollection* TSystem::fSignalHandler
protected

Definition at line 277 of file TSystem.h.

◆ fSignals

TFdSet* TSystem::fSignals
protected

Files with writes waiting.

Definition at line 261 of file TSystem.h.

◆ fSoExt

TString TSystem::fSoExt
protected

Definition at line 294 of file TSystem.h.

◆ fStdExceptionHandler

TSeqCollection* TSystem::fStdExceptionHandler
protected

Definition at line 279 of file TSystem.h.

◆ fTimers

TSeqCollection* TSystem::fTimers
protected

Definition at line 276 of file TSystem.h.

◆ fWdpath

TString TSystem::fWdpath
protected

Definition at line 266 of file TSystem.h.

◆ fWritemask

TFdSet* TSystem::fWritemask
protected

Files that should be checked for read events.

Definition at line 258 of file TSystem.h.

◆ fWriteready

TFdSet* TSystem::fWriteready
protected

Files with reads waiting.

Definition at line 260 of file TSystem.h.

Libraries for TSystem:
[legend]

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