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

Static Public Member Functions

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

Protected Member Functions

virtual Bool_t ConsistentWith (const char *path, void *dirptr=nullptr)
 Check consistency of this helper with the one required by 'path' or 'dirptr'.
 
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 ~.
 
virtual Bool_t ExpandFileName (TString &fname)
 Expand a pathname getting rid of special shell characters like ~.
 
TSystemFindHelper (const char *path, void *dirptr=nullptr)
 Create helper TSystem to handle file and directory operations that might be special for remote file access.
 
TStringGetLastErrorString ()
 Return the thread local storage for the custom last error message.
 
const TStringGetLastErrorString () const
 Return the thread local storage for the custom last error message.
 
virtual const char * GetLinkedLibraries ()
 Get list of shared libraries loaded at the start of the executable.
 
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).
 
void MakeZombie ()
 

Static Protected Member Functions

static const char * StripOffProto (const char *path, const char *proto)
 Strip off protocol string from specified path.
 

Protected Attributes

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

Private Member Functions

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

Additional Inherited Members

- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(3) }
 

#include <TSystem.h>

Inheritance diagram for TSystem:
[legend]

Member Enumeration Documentation

◆ EAclicMode

Enumerator
kDefault 
kDebug 
kOpt 

Definition at line 269 of file TSystem.h.

◆ EAclicProperties

Enumerator
kFlatBuildDir 

Definition at line 270 of file TSystem.h.

Constructor & Destructor Documentation

◆ TSystem() [1/2]

TSystem::TSystem ( const TSystem )
privatedelete

◆ TSystem() [2/2]

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

Create a new OS interface.

Definition at line 123 of file TSystem.cxx.

◆ ~TSystem()

TSystem::~TSystem ( )
virtual

Delete the OS interface.

Definition at line 137 of file TSystem.cxx.

Member Function Documentation

◆ Abort()

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

Abort the application.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 725 of file TSystem.cxx.

◆ AcceptConnection()

int TSystem::AcceptConnection ( int  sock)
virtual

Accept a connection.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2385 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 TDCacheSystem, TGFALSystem, TNetSystem, TWebSystem, TXNetSystem, TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1294 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 1783 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 TMacOSXSystem, TUnixSystem, and TWinNTSystem.

Definition at line 555 of file TSystem.cxx.

◆ AddIncludePath()

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

Add a directory to the already set include path.

Parameters
[in]includePathThe path to the directory.
Note
This interface is mostly relevant for ACLiC and it does not inform gInterpreter for this include path. If the TInterpreter needs to know about the include path please use gInterpreter->AddIncludePath .
Warning
The path should start with the -I prefix, i.e. gSystem->AddIncludePath("-I /path/to/my/includes").

Definition at line 4138 of file TSystem.cxx.

◆ AddLinkedLibs()

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

Add linkedLib to already set linked libs.

Definition at line 4149 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 TUnixSystem, and TWinNTSystem.

Definition at line 533 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 612 of file TSystem.cxx.

◆ AddTimer()

void TSystem::AddTimer ( TTimer t)
virtual

Add timer to list of system timers.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 472 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 TUnixSystem, and TWinNTSystem.

Definition at line 2349 of file TSystem.cxx.

◆ AnnounceUdpService()

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

Announce UDP service.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2358 of file TSystem.cxx.

◆ AnnounceUnixService() [1/2]

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

Announce unix domain service.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2376 of file TSystem.cxx.

◆ AnnounceUnixService() [2/2]

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

Announce unix domain service.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2367 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 933 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 325 of file TSystem.cxx.

◆ cd()

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

Definition at line 421 of file TSystem.h.

◆ ChangeDirectory()

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

Change directory.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 861 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1504 of file TSystem.cxx.

◆ CleanCompiledMacros()

void TSystem::CleanCompiledMacros ( )
virtual

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

Definition at line 4347 of file TSystem.cxx.

◆ CloseConnection()

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

Close socket connection.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2394 of file TSystem.cxx.

◆ Closelog()

void TSystem::Closelog ( )
virtual

Close connection to system log daemon.

Reimplemented in TUnixSystem.

Definition at line 1690 of file TSystem.cxx.

◆ ClosePipe()

int TSystem::ClosePipe ( FILE *  pipe)
virtual

Close the pipe.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 672 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);
R__EXTERN TSystem * gSystem
Definition TSystem.h:559
virtual void SetIncludePath(const char *includePath)
IncludePath should contain the list of compiler flags to indicate where to find user defined header f...
Definition TSystem.cxx:4173

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 helpful 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 accessible 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 ....
#define I(x, y, z)

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 2834 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 1069 of file TSystem.cxx.

◆ ConsistentWith()

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

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

Reimplemented in TDavixSystem, TNetSystem, TXNetSystem, and TNetXNGSystem.

Definition at line 803 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1339 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 1005 of file TSystem.cxx.

◆ DispatchOneEvent()

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

Dispatch a single event.

Reimplemented in TMacOSXSystem, TUnixSystem, and TWinNTSystem.

Definition at line 430 of file TSystem.cxx.

◆ DoBeep()

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

Reimplemented in TWinNTSystem.

Definition at line 332 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 2016 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 2040 of file TSystem.cxx.

◆ Exec()

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

Execute a command.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 654 of file TSystem.cxx.

◆ Exit()

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

Exit the application.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 717 of file TSystem.cxx.

◆ ExitLoop()

void TSystem::ExitLoop ( )
virtual

Exit from event loop.

Reimplemented in TWinNTSystem.

Definition at line 393 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 1096 of file TSystem.cxx.

◆ ExpandFileName() [2/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 1130 of file TSystem.cxx.

◆ ExpandFileName() [3/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 1114 of file TSystem.cxx.

◆ ExpandPathName() [1/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 TUnixSystem, and TWinNTSystem.

Definition at line 1283 of file TSystem.cxx.

◆ ExpandPathName() [2/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 TUnixSystem, and TWinNTSystem.

Definition at line 1272 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 TUnixSystem, and TWinNTSystem.

Definition at line 2030 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1534 of file TSystem.cxx.

◆ FindHelper()

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

Create helper TSystem to handle file and directory operations that might be special for remote file access.

Definition at line 745 of file TSystem.cxx.

◆ FreeDirectory()

void TSystem::FreeDirectory ( void dirp)
virtual

Free a directory.

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

Definition at line 844 of file TSystem.cxx.

◆ 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 3930 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 3850 of file TSystem.cxx.

◆ GetBeepDefaults()

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

Definition at line 359 of file TSystem.h.

◆ GetBuildArch()

const char * TSystem::GetBuildArch ( ) const
virtual

Return the build architecture.

Definition at line 3858 of file TSystem.cxx.

◆ GetBuildCompiler()

const char * TSystem::GetBuildCompiler ( ) const
virtual

Return the build compiler.

Definition at line 3866 of file TSystem.cxx.

◆ GetBuildCompilerVersion()

const char * TSystem::GetBuildCompilerVersion ( ) const
virtual

Return the build compiler version.

Definition at line 3874 of file TSystem.cxx.

◆ GetBuildCompilerVersionStr()

const char * TSystem::GetBuildCompilerVersionStr ( ) const
virtual

Return the build compiler version identifier string.

Definition at line 3882 of file TSystem.cxx.

◆ GetBuildDir()

const char * TSystem::GetBuildDir ( ) const
virtual

Return the path of the build directory.

Definition at line 3898 of file TSystem.cxx.

◆ GetBuildNode()

const char * TSystem::GetBuildNode ( ) const
virtual

Return the build node name.

Definition at line 3890 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 TUnixSystem, and TWinNTSystem.

Definition at line 2473 of file TSystem.cxx.

◆ GetDirEntry()

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

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

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

Definition at line 852 of file TSystem.cxx.

◆ GetDirName()

TString TSystem::GetDirName ( const char *  pathname)
virtual

Return the directory name in pathname.

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

Reimplemented in TWinNTSystem.

Definition at line 1030 of file TSystem.cxx.

◆ GetDirPtr()

virtual void * TSystem::GetDirPtr ( ) const
inlinevirtual

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

Definition at line 414 of file TSystem.h.

◆ GetDynamicPath()

const char * TSystem::GetDynamicPath ( )
virtual

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

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 1791 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1587 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1568 of file TSystem.cxx.

◆ Getenv()

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

Get environment variable.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 1661 of file TSystem.cxx.

◆ GetErrno()

Int_t TSystem::GetErrno ( )
static

Static function returning system error number.

Definition at line 261 of file TSystem.cxx.

◆ GetError()

const char * TSystem::GetError ( )
virtual

Return system error string.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 251 of file TSystem.cxx.

◆ GetErrorStr()

const char * TSystem::GetErrorStr ( ) const
inline

Definition at line 350 of file TSystem.h.

◆ GetFlagsDebug()

const char * TSystem::GetFlagsDebug ( ) const
virtual

Return the debug flags.

Definition at line 3910 of file TSystem.cxx.

◆ GetFlagsOpt()

const char * TSystem::GetFlagsOpt ( ) const
virtual

Return the optimization flags.

Definition at line 3918 of file TSystem.cxx.

◆ GetFPEMask()

Int_t TSystem::GetFPEMask ( )
virtual

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

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 633 of file TSystem.cxx.

◆ GetFromPipe()

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

Execute command and return output in TString.

Definition at line 681 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1470 of file TSystem.cxx.

◆ GetGid()

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

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

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1577 of file TSystem.cxx.

◆ GetGroupInfo() [1/2]

UserGroup_t * TSystem::GetGroupInfo ( const char *  group = nullptr)
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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1634 of file TSystem.cxx.

◆ GetGroupInfo() [2/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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1621 of file TSystem.cxx.

◆ GetHomeDirectory()

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

Return the user's home directory.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 894 of file TSystem.cxx.

◆ GetHostByName()

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

Get Internet Protocol (IP) address of host.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2295 of file TSystem.cxx.

◆ GetIncludePath()

const char * TSystem::GetIncludePath ( )
virtual

Get the list of include path.

Definition at line 3956 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 2106 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 2115 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.
  • L: this option is ignored, and available for backward compatibility.

Reimplemented in TWinNTSystem.

Definition at line 2140 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 3984 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 TUnixSystem, and TWinNTSystem.

Definition at line 2124 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 3975 of file TSystem.cxx.

◆ GetListOfFileHandlers()

virtual TSeqCollection * TSystem::GetListOfFileHandlers ( ) const
inlinevirtual

Definition at line 381 of file TSystem.h.

◆ GetListOfSignalHandlers()

virtual TSeqCollection * TSystem::GetListOfSignalHandlers ( ) const
inlinevirtual

Definition at line 378 of file TSystem.h.

◆ GetListOfStdExceptionHandlers()

virtual TSeqCollection * TSystem::GetListOfStdExceptionHandlers ( ) const
inlinevirtual

Definition at line 384 of file TSystem.h.

◆ GetListOfTimers()

virtual TSeqCollection * TSystem::GetListOfTimers ( ) const
inlinevirtual

Definition at line 392 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 3948 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 3939 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 TUnixSystem, and TWinNTSystem.

Definition at line 2483 of file TSystem.cxx.

◆ GetObjExt()

const char * TSystem::GetObjExt ( ) const
virtual

Get the object file extension.

Definition at line 4004 of file TSystem.cxx.

◆ GetPathInfo() [1/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 TDCacheSystem, TGFALSystem, TAlienSystem, TDavixSystem, TNetSystem, TWebSystem, TXNetSystem, TNetXNGSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1460 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 1426 of file TSystem.cxx.

◆ GetPathInfo() [3/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 1396 of file TSystem.cxx.

◆ GetPeerName()

TInetAddress TSystem::GetPeerName ( int  sock)
virtual

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

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2304 of file TSystem.cxx.

◆ GetPid()

int TSystem::GetPid ( )
virtual

Get process id.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 708 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 TUnixSystem, and TWinNTSystem.

Definition at line 2493 of file TSystem.cxx.

◆ GetServiceByName()

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

Get port # of internet service.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2322 of file TSystem.cxx.

◆ GetServiceByPort()

char * TSystem::GetServiceByPort ( int  port)
virtual

Get name of internet service.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2331 of file TSystem.cxx.

◆ GetSockName()

TInetAddress TSystem::GetSockName ( int  sock)
virtual

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

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 2313 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 2449 of file TSystem.cxx.

◆ GetSoExt()

const char * TSystem::GetSoExt ( ) const
virtual

Get the shared library extension.

Definition at line 3996 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 TUnixSystem, and TWinNTSystem.

Definition at line 2462 of file TSystem.cxx.

◆ GetUid()

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

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

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1558 of file TSystem.cxx.

◆ GetUserInfo() [1/2]

UserGroup_t * TSystem::GetUserInfo ( const char *  user = nullptr)
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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1608 of file TSystem.cxx.

◆ GetUserInfo() [2/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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1597 of file TSystem.cxx.

◆ GetVolumes()

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

Reimplemented in TWinNTSystem.

Definition at line 453 of file TSystem.h.

◆ GetWorkingDirectory()

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

Return working directory.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 878 of file TSystem.cxx.

◆ HomeDirectory()

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

Return the user's home directory.

Reimplemented in TAlienSystem, TWinNTSystem, and TUnixSystem.

Definition at line 886 of file TSystem.cxx.

◆ HostName()

const char * TSystem::HostName ( )
virtual

Return the system's host name.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 304 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 603 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 TUnixSystem, and TWinNTSystem.

Definition at line 594 of file TSystem.cxx.

◆ InControl()

Bool_t TSystem::InControl ( ) const
inline

Definition at line 366 of file TSystem.h.

◆ Init()

Bool_t TSystem::Init ( )
virtual

Initialize the OS interface.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 181 of file TSystem.cxx.

◆ InnerLoop()

void TSystem::InnerLoop ( )
virtual

Inner event loop.

Definition at line 401 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 950 of file TSystem.cxx.

◆ IsFileInIncludePath()

Bool_t TSystem::IsFileInIncludePath ( const char *  name,
char **  fullpath = nullptr 
)
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 965 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 TDavixSystem, TXNetSystem, TNetXNGSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1303 of file TSystem.cxx.

◆ Link()

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

Create a link from file1 to file2.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1357 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 2069 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 2060 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 TUnixSystem, and TWinNTSystem.

Definition at line 1853 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 1966 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 TDavixSystem, TXNetSystem, TNetXNGSystem, TDCacheSystem, TGFALSystem, TAlienSystem, TNetSystem, TWebSystem, TUnixSystem, and TWinNTSystem.

Definition at line 826 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 TAlienSystem, and TWinNTSystem.

Definition at line 905 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 495 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 312 of file TSystem.cxx.

◆ Now()

TTime TSystem::Now ( )
virtual

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

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 464 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 TUnixSystem, and TWinNTSystem.

Definition at line 2340 of file TSystem.cxx.

◆ OpenDirectory()

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

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

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

Definition at line 835 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 1673 of file TSystem.cxx.

◆ OpenPipe()

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

Open a pipe.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 663 of file TSystem.cxx.

◆ operator=()

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

◆ PrependPathName()

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

Concatenate a directory and a file name.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 1079 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 417 of file TSystem.cxx.

◆ pwd()

const char * TSystem::pwd ( )
inline

Definition at line 422 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 TUnixSystem, and TWinNTSystem.

Definition at line 2422 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 TUnixSystem, and TWinNTSystem.

Definition at line 2403 of file TSystem.cxx.

◆ RedirectOutput()

Int_t TSystem::RedirectOutput ( const char *  name,
const char *  mode = "a",
RedirectHandle_t h = nullptr 
)
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 TUnixSystem, and TWinNTSystem.

Definition at line 1711 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 TMacOSXSystem, TUnixSystem, and TWinNTSystem.

Definition at line 565 of file TSystem.cxx.

◆ RemoveOnExit()

void TSystem::RemoveOnExit ( TObject obj)

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

Definition at line 293 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 TUnixSystem, and TWinNTSystem.

Definition at line 543 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 622 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 TUnixSystem, and TWinNTSystem.

Definition at line 482 of file TSystem.cxx.

◆ Rename()

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

Rename a file.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1348 of file TSystem.cxx.

◆ ResetErrno()

void TSystem::ResetErrno ( )
static

Static function resetting system error number.

Definition at line 277 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 TUnixSystem, and TWinNTSystem.

Definition at line 577 of file TSystem.cxx.

◆ ResetSignals()

void TSystem::ResetSignals ( )
virtual

Reset signals handlers to previous behaviour.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 585 of file TSystem.cxx.

◆ ResetTimer()

virtual void TSystem::ResetTimer ( TTimer )
inlinevirtual

Reimplemented in TUnixSystem.

Definition at line 395 of file TSystem.h.

◆ Run()

void TSystem::Run ( )
virtual

System event loop.

Definition at line 344 of file TSystem.cxx.

◆ Select() [1/2]

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

Select on active file descriptors (called by TMonitor).

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 454 of file TSystem.cxx.

◆ Select() [2/2]

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

Select on active file descriptors (called by TMonitor).

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 446 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 TUnixSystem, and TWinNTSystem.

Definition at line 2431 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 TUnixSystem, and TWinNTSystem.

Definition at line 2413 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 4056 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 'isflat' is false, 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 4022 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 232 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 TUnixSystem, and TWinNTSystem.

Definition at line 1802 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 1645 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 242 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 4035 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 4044 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 TUnixSystem, and TWinNTSystem.

Definition at line 643 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 4173 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 4206 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 4184 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");
virtual void SetMakeExe(const char *directives)
Directives has the same syntax as the argument of SetMakeSharedLib but is used to create an executabl...
Definition TSystem.cxx:4072

Definition at line 4072 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
char name[80]
Definition TGX11.cxx:110
const char * extension
Definition civetweb.c:7793
TString fFlagsOpt
Definition TSystem.h:309
TString fLinkedLibs
Definition TSystem.h:312
TString fIncludePath
Definition TSystem.h:311
TString fFlagsDebug
Definition TSystem.h:308

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")
virtual void SetMakeSharedLib(const char *directives)
Directives should contain the description on how to compile and link a shared lib.
Definition TSystem.cxx:4124

Definition at line 4124 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 4223 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 TUnixSystem, and TWinNTSystem.

Definition at line 223 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 2440 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 4215 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 1721 of file TSystem.cxx.

◆ SigAlarmInterruptsSyscalls()

virtual void TSystem::SigAlarmInterruptsSyscalls ( Bool_t  )
inlineprotectedvirtual

Reimplemented in TUnixSystem.

Definition at line 330 of file TSystem.h.

◆ Sleep()

void TSystem::Sleep ( UInt_t  milliSec)
virtual

Sleep milliSec milli seconds.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 438 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:

[path/]macro.C[+|++[k|f|g|O|c|s|d|v|-]][(args)].
#define d(i)
Definition RSha256.hxx:102
#define f(i)
Definition RSha256.hxx:104
#define c(i)
Definition RSha256.hxx:101
#define g(i)
Definition RSha256.hxx:105

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

Definition at line 4237 of file TSystem.cxx.

◆ StackTrace()

void TSystem::StackTrace ( )
virtual

Print a stack trace.

Reimplemented in TUnixSystem, and TWinNTSystem.

Definition at line 733 of file TSystem.cxx.

◆ StripOffProto()

const char * TSystem::StripOffProto ( const char *  path,
const char *  proto 
)
staticprotected

Strip off protocol string from specified path.

Definition at line 115 of file TSystem.cxx.

◆ Symlink()

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

Create a symbolic link from file1 to file2.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1366 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 1682 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 TUnixSystem, and TWinNTSystem.

Definition at line 1480 of file TSystem.cxx.

◆ TempFileName()

FILE * TSystem::TempFileName ( TString base,
const char *  dir = nullptr 
)
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 TUnixSystem, and TWinNTSystem.

Definition at line 1495 of file TSystem.cxx.

◆ Umask()

int TSystem::Umask ( Int_t  mask)
virtual

Set the process file creation mode mask.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1513 of file TSystem.cxx.

◆ UnixPathName()

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

Convert from a local pathname to a Unix pathname.

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

Reimplemented in TWinNTSystem.

Definition at line 1061 of file TSystem.cxx.

◆ Unlink()

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

Unlink, i.e.

remove, a file.

If the file is currently open by the current or another process, the behavior of this function is implementation-defined (in particular, POSIX systems unlink the file name, while Windows does not allow the file to be deleted and the operation is a no-op).

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

Definition at line 1379 of file TSystem.cxx.

◆ Unload()

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

Unload a shared library.

Reimplemented in TUnixSystem.

Definition at line 2048 of file TSystem.cxx.

◆ Unsetenv()

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

Unset environment variable.

Reimplemented in TUnixSystem.

Definition at line 1653 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 TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 1523 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 1544 of file TSystem.cxx.

◆ WorkingDirectory()

const char * TSystem::WorkingDirectory ( )
virtual

Return working directory.

Reimplemented in TAlienSystem, TUnixSystem, and TWinNTSystem.

Definition at line 870 of file TSystem.cxx.

Member Data Documentation

◆ fAclicMode

EAclicMode TSystem::fAclicMode {kDefault}
protected

Definition at line 315 of file TSystem.h.

◆ fAclicProperties

Int_t TSystem::fAclicProperties {0}
protected

Definition at line 319 of file TSystem.h.

◆ fBeepDuration

Int_t TSystem::fBeepDuration {0}
protected

Definition at line 288 of file TSystem.h.

◆ fBeepFreq

Int_t TSystem::fBeepFreq {0}
protected

Definition at line 287 of file TSystem.h.

◆ fBuildArch

TString TSystem::fBuildArch
protected

Definition at line 302 of file TSystem.h.

◆ fBuildCompiler

TString TSystem::fBuildCompiler
protected

Definition at line 303 of file TSystem.h.

◆ fBuildCompilerVersion

TString TSystem::fBuildCompilerVersion
protected

Definition at line 304 of file TSystem.h.

◆ fBuildCompilerVersionStr

TString TSystem::fBuildCompilerVersionStr
protected

Definition at line 305 of file TSystem.h.

◆ fBuildDir

TString TSystem::fBuildDir
protected

Definition at line 307 of file TSystem.h.

◆ fBuildNode

TString TSystem::fBuildNode
protected

Definition at line 306 of file TSystem.h.

◆ fCompiled

TSeqCollection* TSystem::fCompiled {nullptr}
protected

Definition at line 320 of file TSystem.h.

◆ fDone

Bool_t TSystem::fDone {kFALSE}
protected

Definition at line 291 of file TSystem.h.

◆ fFileHandler

TSeqCollection* TSystem::fFileHandler {nullptr}
protected

Definition at line 296 of file TSystem.h.

◆ fFlagsDebug

TString TSystem::fFlagsDebug
protected

Definition at line 308 of file TSystem.h.

◆ fFlagsOpt

TString TSystem::fFlagsOpt
protected

Definition at line 309 of file TSystem.h.

◆ fHelpers

TSeqCollection* TSystem::fHelpers {nullptr}
protected

Definition at line 321 of file TSystem.h.

◆ fHostname

TString TSystem::fHostname
protected

Definition at line 285 of file TSystem.h.

◆ fIncludePath

TString TSystem::fIncludePath
protected

Definition at line 311 of file TSystem.h.

◆ fInControl

Bool_t TSystem::fInControl {kFALSE}
protected

Definition at line 290 of file TSystem.h.

◆ fInsideNotify

Bool_t TSystem::fInsideNotify {kFALSE}
protected

Definition at line 286 of file TSystem.h.

◆ fLevel

Int_t TSystem::fLevel {0}
protected

Definition at line 292 of file TSystem.h.

◆ fLinkdefSuffix

TString TSystem::fLinkdefSuffix
protected

Definition at line 318 of file TSystem.h.

◆ fLinkedLibs

TString TSystem::fLinkedLibs
protected

Definition at line 312 of file TSystem.h.

◆ fListLibs

TString TSystem::fListLibs
protected

Definition at line 300 of file TSystem.h.

◆ fListPaths

TString TSystem::fListPaths
protected

Definition at line 310 of file TSystem.h.

◆ fMakeExe

TString TSystem::fMakeExe
protected

Definition at line 317 of file TSystem.h.

◆ fMakeSharedLib

TString TSystem::fMakeSharedLib
protected

Definition at line 316 of file TSystem.h.

◆ fMaxrfd

Int_t TSystem::fMaxrfd {-1}
protected

Definition at line 281 of file TSystem.h.

◆ fMaxwfd

Int_t TSystem::fMaxwfd {-1}
protected

Definition at line 282 of file TSystem.h.

◆ fNfd

Int_t TSystem::fNfd {0}
protected

Signals that were trapped.

Definition at line 280 of file TSystem.h.

◆ fObjExt

TString TSystem::fObjExt
protected

Definition at line 314 of file TSystem.h.

◆ fOnExitList

TSeqCollection* TSystem::fOnExitList {nullptr}
protected

Definition at line 298 of file TSystem.h.

◆ fReadmask

TFdSet* TSystem::fReadmask {nullptr}
protected

Definition at line 275 of file TSystem.h.

◆ fReadready

TFdSet* TSystem::fReadready {nullptr}
protected

Files that should be checked for write events.

Definition at line 277 of file TSystem.h.

◆ fSigcnt

Int_t TSystem::fSigcnt {0}
protected

Definition at line 283 of file TSystem.h.

◆ fSignalHandler

TSeqCollection* TSystem::fSignalHandler {nullptr}
protected

Definition at line 295 of file TSystem.h.

◆ fSignals

TFdSet* TSystem::fSignals {nullptr}
protected

Files with writes waiting.

Definition at line 279 of file TSystem.h.

◆ fSoExt

TString TSystem::fSoExt
protected

Definition at line 313 of file TSystem.h.

◆ fStdExceptionHandler

TSeqCollection* TSystem::fStdExceptionHandler {nullptr}
protected

Definition at line 297 of file TSystem.h.

◆ fTimers

TSeqCollection* TSystem::fTimers {nullptr}
protected

Definition at line 294 of file TSystem.h.

◆ fWdpath

TString TSystem::fWdpath
protected

Definition at line 284 of file TSystem.h.

◆ fWritemask

TFdSet* TSystem::fWritemask {nullptr}
protected

Files that should be checked for read events.

Definition at line 276 of file TSystem.h.

◆ fWriteready

TFdSet* TSystem::fWriteready {nullptr}
protected

Files with reads waiting.

Definition at line 278 of file TSystem.h.

  • core/base/inc/TSystem.h
  • core/base/src/TSystem.cxx