Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
TSystem.h
Go to the documentation of this file.
1// @(#)root/base:$Id$
2// Author: Fons Rademakers 15/09/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TSystem
13#define ROOT_TSystem
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TSystem //
19// //
20// Abstract base class defining a generic interface to the underlying //
21// Operating System. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include <cstdio>
26#include <cctype>
27#include <fcntl.h>
28#ifndef _WIN32
29#include <unistd.h>
30#endif
31
32#include "TNamed.h"
33#include "TInetAddress.h"
34#include "TTimer.h"
35#include <string>
36
37class TSeqCollection;
38class TFdSet;
39class TVirtualMutex;
40
41/*! \enum ESocketBindOption
42 \brief Options for binging the sockets created
43
44 These values can be used to configure the binding of the opened sockets.
45*/
47 kInaddrAny = 0, ///< Any address for socket binding
48 kInaddrLoopback = 1, ///< Refers to the local host via the loopback device
49};
50
57
59 kLogPid = 0x01,
60 kLogCons = 0x02
61};
62
73
84
86 kNoneMask = 0x00,
87 kInvalid = 0x01, // Invalid argument
88 kDivByZero = 0x02, // Division by zero
89 kOverflow = 0x04, // Overflow
90 kUnderflow = 0x08, // Underflow
91 kInexact = 0x10, // Inexact
93 kAllMask = 0x1F
94};
95
97 kS_IFMT = 0170000, // bitmask for the file type bitfields
98 kS_IFSOCK = 0140000, // socket
99 kS_IFLNK = 0120000, // symbolic link
100 kS_IFOFF = 0110000, // offline file
101 kS_IFREG = 0100000, // regular file
102 kS_IFBLK = 0060000, // block device
103 kS_IFDIR = 0040000, // directory
104 kS_IFCHR = 0020000, // character device
105 kS_IFIFO = 0010000, // fifo
106 kS_ISUID = 0004000, // set UID bit
107 kS_ISGID = 0002000, // set GID bit
108 kS_ISVTX = 0001000, // sticky bit
109 kS_IRWXU = 00700, // mask for file owner permissions
110 kS_IRUSR = 00400, // owner has read permission
111 kS_IWUSR = 00200, // owner has write permission
112 kS_IXUSR = 00100, // owner has execute permission
113 kS_IRWXG = 00070, // mask for group permissions
114 kS_IRGRP = 00040, // group has read permission
115 kS_IWGRP = 00020, // group has write permission
116 kS_IXGRP = 00010, // group has execute permission
117 kS_IRWXO = 00007, // mask for permissions for others (not in group)
118 kS_IROTH = 00004, // others have read permission
119 kS_IWOTH = 00002, // others have write permission
120 kS_IXOTH = 00001 // others have execute permission
122
123inline Bool_t R_ISDIR(Int_t mode) { return ((mode & kS_IFMT) == kS_IFDIR); }
124inline Bool_t R_ISCHR(Int_t mode) { return ((mode & kS_IFMT) == kS_IFCHR); }
125inline Bool_t R_ISBLK(Int_t mode) { return ((mode & kS_IFMT) == kS_IFBLK); }
126inline Bool_t R_ISREG(Int_t mode) { return ((mode & kS_IFMT) == kS_IFREG); }
127inline Bool_t R_ISLNK(Int_t mode) { return ((mode & kS_IFMT) == kS_IFLNK); }
128inline Bool_t R_ISFIFO(Int_t mode) { return ((mode & kS_IFMT) == kS_IFIFO); }
129inline Bool_t R_ISSOCK(Int_t mode) { return ((mode & kS_IFMT) == kS_IFSOCK); }
130inline Bool_t R_ISOFF(Int_t mode) { return ((mode & kS_IFMT) == kS_IFOFF); }
131
133 Long_t fDev; // device id
134 Long_t fIno; // inode
135 Int_t fMode; // protection (combination of EFileModeMask bits)
136 Int_t fUid; // user id of owner
137 Int_t fGid; // group id of owner
138 Long64_t fSize; // total size in bytes
139 Long_t fMtime; // modification date
140 Bool_t fIsLink; // symbolic link
141 TString fUrl; // end point url of file
142 FileStat_t() : fDev(0), fIno(0), fMode(0), fUid(0), fGid(0), fSize(0),
143 fMtime(0), fIsLink(kFALSE), fUrl("") { }
144};
145
147 Int_t fUid; // user id
148 Int_t fGid; // group id
149 TString fUser; // user name
150 TString fGroup; // group name
151 TString fPasswd; // password
152 TString fRealName; // user full name
153 TString fShell; // user preferred shell
155 fRealName (), fShell() { }
156};
157
158struct SysInfo_t {
160 TString fModel; // computer model
161 TString fCpuType; // type of cpu
162 Int_t fCpus; // number of cpus
163 Int_t fCpuSpeed; // cpu speed in MHz
164 Int_t fBusSpeed; // bus speed in MHz
165 Int_t fL2Cache; // level 2 cache size in KB
166 Int_t fPhysRam; // physical RAM in MB
168 fBusSpeed(0), fL2Cache(0), fPhysRam(0) { }
169 virtual ~SysInfo_t() { }
170 ClassDef(SysInfo_t, 1); // System information - OS, CPU, RAM.
171};
172
173struct CpuInfo_t {
174 Float_t fLoad1m; // cpu load average over 1 m
175 Float_t fLoad5m; // cpu load average over 5 m
176 Float_t fLoad15m; // cpu load average over 15 m
177 Float_t fUser; // cpu user load in percentage
178 Float_t fSys; // cpu sys load in percentage
179 Float_t fTotal; // cpu user+sys load in percentage
180 Float_t fIdle; // cpu idle percentage
182 fUser(0), fSys(0), fTotal(0), fIdle(0) { }
183 virtual ~CpuInfo_t() { }
184 ClassDef(CpuInfo_t, 1); // CPU load information.
185};
186
187struct MemInfo_t {
188 Int_t fMemTotal; // total RAM in MB
189 Int_t fMemUsed; // used RAM in MB
190 Int_t fMemFree; // free RAM in MB
191 Int_t fMemAvailable; // available RAM in MB
192 Int_t fMemCached; // cached RAM in MB
193 Int_t fMemBuffer; // buffer RAM in MB
194 Int_t fMemShared; // shared RAM in MB
195 Int_t fSwapTotal; // total swap in MB
196 Int_t fSwapUsed; // used swap in MB
197 Int_t fSwapFree; // free swap in MB
198 Int_t fSwapCached; // cached swap in MB
199 Int_t fSReclaimable; // slab that might be reclaimed
202 virtual ~MemInfo_t() { }
203 ClassDef(MemInfo_t, 2); // Memory utilization information.
204};
205
207 Float_t fCpuUser; // user time used by this process in seconds
208 Float_t fCpuSys; // system time used by this process in seconds
209 Long_t fMemResident; // resident memory used by this process in KB
210 Long_t fMemVirtual; // virtual memory used by this process in KB
213 virtual ~ProcInfo_t();
214 ClassDef(ProcInfo_t, 1);// System resource usage of given process.
215};
216
218 TString fFile; // File where the output was redirected
219 TString fStdOutTty; // tty associated with stdout, if any (e.g. from ttyname(...))
220 TString fStdErrTty; // tty associated with stderr, if any (e.g. from ttyname(...))
221 Int_t fStdOutDup{-1}; // Duplicated descriptor for stdout
222 Int_t fStdErrDup{-1}; // Duplicated descriptor for stderr
223 Int_t fReadOffSet{-1}; // Offset where to start reading the file (used by ShowOutput(...))
224 RedirectHandle_t(const char *n = nullptr) : fFile(n) { }
225 void Reset() { fFile = ""; fStdOutTty = ""; fStdErrTty = "";
226 fStdOutDup = -1; fStdErrDup = -1; fReadOffSet = -1; }
227};
228
230 kSendBuffer, // size of send buffer
231 kRecvBuffer, // size of receive buffer
232 kOobInline, // OOB message inline
233 kKeepAlive, // keep socket alive
234 kReuseAddr, // allow reuse of local portion of address 5-tuple
235 kNoDelay, // send without delay
236 kNoBlock, // non-blocking I/O
237 kProcessGroup, // socket process group (used for SIGURG and SIGIO)
238 kAtMark, // are we at out-of-band mark (read only)
239 kBytesToRead // get number of bytes to read, FIONREAD (read only)
241
243 kDefault, // default option (= 0)
244 kOob, // send or receive out-of-band data
245 kPeek, // peek at incoming message (receive only)
246 kDontBlock // send/recv as much data as possible without blocking
248
249typedef void (*Func_t)();
250
251R__EXTERN const char *gRootDir;
255
256
257//////////////////////////////////////////////////////////////////////////
258// //
259// Asynchronous timer used for processing pending GUI and timer events //
260// every delay ms. Call in a tight computing loop //
261// TProcessEventTimer::ProcessEvent(). If the timer did timeout this //
262// call will process the pending events and return kTRUE if the //
263// TROOT::IsInterrupted() flag is set (can be done by hitting key in //
264// canvas or selecting canvas menu item View/Interrupt. //
265// //
266//////////////////////////////////////////////////////////////////////////
268public:
270 Bool_t Notify() override { return kTRUE; }
272 ClassDefOverride(TProcessEventTimer,0) // Process pending events at fixed time intervals
273};
274
275
276class TSystem : public TNamed {
277
278public:
281 kFlatBuildDir = BIT(0) // If set and a BuildDir is selected, then do not created sub-directories
282 };
283
284protected:
285 TFdSet *fReadmask{nullptr}; //!Files that should be checked for read events
286 TFdSet *fWritemask{nullptr}; //!Files that should be checked for write events
287 TFdSet *fReadready{nullptr}; //!Files with reads waiting
288 TFdSet *fWriteready{nullptr}; //!Files with writes waiting
289 TFdSet *fSignals{nullptr}; //!Signals that were trapped
290 Int_t fNfd{0}; //Number of fd's in masks
291 Int_t fMaxrfd{-1}; //Largest fd in read mask
292 Int_t fMaxwfd{-1}; //Largest fd in write mask
293 Int_t fSigcnt{0}; //Number of pending signals
294 TString fWdpath; //Working directory
295 TString fHostname; //Hostname
296 std::atomic<Bool_t> fInsideNotify{kFALSE}; //Used by DispatchTimers()
297 Int_t fBeepFreq{0}; //Used by Beep()
298 Int_t fBeepDuration{0}; //Used by Beep()
299
300 Bool_t fInControl{kFALSE}; //True if in eventloop
301 Bool_t fDone{kFALSE}; //True if eventloop should be finished
302 Int_t fLevel{0}; //Level of nested eventloops
303
304 TList *fTimers{nullptr}; //List of timers
305 TSeqCollection *fSignalHandler{nullptr}; //List of signal handlers
306 TSeqCollection *fFileHandler{nullptr}; //List of file handlers
307 TSeqCollection *fStdExceptionHandler{nullptr}; //List of std::exception handlers
308 TSeqCollection *fOnExitList{nullptr}; //List of items to be cleaned-up on exit
309
310 TString fListLibs; //List shared libraries, cache used by GetLibraries
311
312 TString fBuildArch; //Architecture for which ROOT was built (passed to ./configure)
313 TString fBuildCompiler; //Compiler used to build this ROOT
314 TString fBuildCompilerVersion; //Compiler version used to build this ROOT
315 TString fBuildCompilerVersionStr; //Compiler version identifier string used to build this ROOT
316 TString fBuildNode; //Detailed information where ROOT was built
317 TString fBuildDir; //Location where to build ACLiC shared library and use as scratch area.
318 TString fFlagsDebug; //Flags for debug compilation
319 TString fFlagsOpt; //Flags for optimized compilation
320 TString fListPaths; //List of all include (fIncludePath + interpreter include path). Cache used by GetIncludePath
321 TString fIncludePath; //Used to expand $IncludePath in the directives given to SetMakeSharedLib and SetMakeExe
322 TString fLinkedLibs; //Used to expand $LinkedLibs in the directives given to SetMakeSharedLib and SetMakeExe
323 TString fSoExt; //Extension of shared library (.so, .sl, .a, .dll, etc.)
324 TString fObjExt; //Extension of object files (.o, .obj, etc.)
325 EAclicMode fAclicMode{kDefault}; //Whether the compilation should be done debug or opt
326 TString fMakeSharedLib; //Directive used to build a shared library
327 TString fMakeExe; //Directive used to build an executable
328 TString fLinkdefSuffix; //Default suffix for linkdef files to be used by ACLiC (see EACLiCProperties)
329 Int_t fAclicProperties{0}; //Various boolean flag for change ACLiC's behavior.
330 TSeqCollection *fCompiled{nullptr}; //List of shared libs from compiled macros to be deleted
331 TSeqCollection *fHelpers{nullptr}; //List of helper classes for alternative file/directory access
332
333 TString &GetLastErrorString(); //Last system error message (thread local).
334 const TString &GetLastErrorString() const; //Last system error message (thread local).
335
336 TSystem *FindHelper(const char *path, void *dirptr = nullptr);
337 virtual Bool_t ConsistentWith(const char *path, void *dirptr = nullptr);
338 virtual const char *ExpandFileName(const char *fname);
341 virtual const char *GetLinkedLibraries();
342 virtual void DoBeep(Int_t /*freq*/=-1, Int_t /*duration*/=-1) const { printf("\a"); fflush(stdout); }
343
344 static const char *StripOffProto(const char *path, const char *proto);
345
346private:
347 TSystem(const TSystem&) = delete;
348 TSystem& operator=(const TSystem&) = delete;
349 Bool_t ExpandFileName(const char *fname, char *xname, const int kBufSize);
350
351public:
352 TSystem(const char *name = "Generic", const char *title = "Generic System");
353 virtual ~TSystem();
354
355 //---- Misc
356 virtual Bool_t Init();
357 virtual void SetProgname(const char *name);
358 virtual void SetDisplay();
359 void SetErrorStr(const char *errstr);
360 const char *GetErrorStr() const { return GetLastErrorString(); }
361 virtual const char *GetError();
362 virtual Int_t GetCryptoRandom(void *buf, Int_t len);
363 void RemoveOnExit(TObject *obj);
364 virtual const char *HostName();
365 virtual void NotifyApplicationCreated();
366
367 static Int_t GetErrno();
368 static void ResetErrno();
371
372 //---- EventLoop
373 virtual void Run();
374 virtual Bool_t ProcessEvents();
376 virtual void ExitLoop();
377 Bool_t InControl() const { return fInControl; }
378 virtual void InnerLoop();
379 virtual Int_t Select(TList *active, Long_t timeout);
380 virtual Int_t Select(TFileHandler *fh, Long_t timeout);
381
382 //---- Handling of system events
383 virtual void AddSignalHandler(TSignalHandler *sh);
385 virtual void ResetSignal(ESignals sig, Bool_t reset = kTRUE);
386 virtual void ResetSignals();
387 virtual void IgnoreSignal(ESignals sig, Bool_t ignore = kTRUE);
388 virtual void IgnoreInterrupt(Bool_t ignore = kTRUE);
390 virtual void AddFileHandler(TFileHandler *fh);
396
397 //---- Floating Point Exceptions Control
398 virtual Int_t GetFPEMask();
400
401 //---- Time & Date
402 virtual TTime Now();
403 virtual TList *GetListOfTimers() const { return fTimers; }
404 virtual void AddTimer(TTimer *t);
405 virtual TTimer *RemoveTimer(TTimer *t);
406 virtual void ResetTimer(TTimer *) { }
407 virtual Long_t NextTimeOut(Bool_t mode);
408 virtual void Sleep(UInt_t milliSec);
409
410 //---- Processes
411 virtual Int_t Exec(const char *shellcmd);
412 virtual FILE *OpenPipe(const char *command, const char *mode);
413 virtual int ClosePipe(FILE *pipe);
414 virtual TString GetFromPipe(const char *command);
415 virtual int GetPid();
416 virtual void StackTrace();
417
418 [[ noreturn ]] virtual void Exit(int code, Bool_t mode = kTRUE);
419 [[ noreturn ]] virtual void Abort(int code = 0);
420
421 //---- Directories
422 virtual int MakeDirectory(const char *name);
423 virtual void *OpenDirectory(const char *name);
424 virtual void FreeDirectory(void *dirp);
425 virtual const char *GetDirEntry(void *dirp);
426 virtual void *GetDirPtr() const { return nullptr; }
427 virtual Bool_t ChangeDirectory(const char *path);
428 virtual const char *WorkingDirectory();
429 virtual std::string GetWorkingDirectory() const;
430 virtual const char *HomeDirectory(const char *userName = nullptr);
431 virtual std::string GetHomeDirectory(const char *userName = nullptr) const;
432 virtual int mkdir(const char *name, Bool_t recursive = kFALSE);
433 Bool_t cd(const char *path) { return ChangeDirectory(path); }
434 const char *pwd() { return WorkingDirectory(); }
435 virtual const char *TempDirectory() const;
436 virtual FILE *TempFileName(TString &base, const char *dir = nullptr, const char *suffix = nullptr);
437
438 //---- Paths & Files
439 virtual const char *BaseName(const char *pathname);
440 virtual const char *DirName(const char *pathname);
441 virtual TString GetDirName(const char *pathname);
442 virtual char *ConcatFileName(const char *dir, const char *name);
443 virtual Bool_t IsAbsoluteFileName(const char *dir);
444 virtual Bool_t IsFileInIncludePath(const char *name, char **fullpath = nullptr);
445 virtual const char *PrependPathName(const char *dir, TString& name);
446 virtual Bool_t ExpandPathName(TString &path);
447 virtual char *ExpandPathName(const char *path);
448 virtual Bool_t AccessPathName(const char *path, EAccessMode mode = kFileExists);
449 virtual Bool_t IsPathLocal(const char *path);
450 virtual int CopyFile(const char *from, const char *to, Bool_t overwrite = kFALSE);
451 virtual int Rename(const char *from, const char *to);
452 virtual int Link(const char *from, const char *to);
453 virtual int Symlink(const char *from, const char *to);
454 virtual int Unlink(const char *name);
455 int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime);
456 int GetPathInfo(const char *path, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime);
457 virtual int GetPathInfo(const char *path, FileStat_t &buf);
458 virtual int GetFsInfo(const char *path, Long_t *id, Long_t *bsize, Long_t *blocks, Long_t *bfree);
459 virtual int Chmod(const char *file, UInt_t mode);
460 virtual int Umask(Int_t mask);
461 virtual int Utime(const char *file, Long_t modtime, Long_t actime);
462 virtual const char *UnixPathName(const char *unixpathname);
463 virtual const char *FindFile(const char *search, TString& file, EAccessMode mode = kFileExists);
464 virtual char *Which(const char *search, const char *file, EAccessMode mode = kFileExists);
465 virtual TList *GetVolumes(Option_t *) const { return nullptr; }
466
467 //---- Users & Groups
468 virtual Int_t GetUid(const char *user = nullptr);
469 virtual Int_t GetGid(const char *group = nullptr);
470 virtual Int_t GetEffectiveUid();
471 virtual Int_t GetEffectiveGid();
472 virtual UserGroup_t *GetUserInfo(Int_t uid);
473 virtual UserGroup_t *GetUserInfo(const char *user = nullptr);
474 virtual UserGroup_t *GetGroupInfo(Int_t gid);
475 virtual UserGroup_t *GetGroupInfo(const char *group = nullptr);
476
477 //---- Environment Manipulation
478 virtual void Setenv(const char *name, const char *value);
479 virtual void Unsetenv(const char *name);
480 virtual const char *Getenv(const char *env);
481
482 //---- System Logging
483 virtual void Openlog(const char *name, Int_t options, ELogFacility facility);
484 virtual void Syslog(ELogLevel level, const char *mess);
485 virtual void Closelog();
486
487 //---- Standard Output redirection
488 virtual Int_t RedirectOutput(const char *name, const char *mode = "a", RedirectHandle_t *h = nullptr);
489 virtual void ShowOutput(RedirectHandle_t *h);
490
491 //---- Dynamic Loading
492 virtual void AddDynamicPath(const char *pathname);
493 virtual const char *GetDynamicPath();
494 virtual void SetDynamicPath(const char *pathname);
495 char *DynamicPathName(const char *lib, Bool_t quiet = kFALSE);
496 virtual const char *FindDynamicLibrary(TString& lib, Bool_t quiet = kFALSE);
497 virtual Func_t DynFindSymbol(const char *module, const char *entry);
498 virtual int Load(const char *module, const char *entry = "", Bool_t system = kFALSE);
499 virtual void Unload(const char *module);
500 virtual UInt_t LoadAllLibraries();
501 virtual void ListSymbols(const char *module, const char *re = "");
502 virtual void ListLibraries(const char *regexp = "");
503 virtual const char *GetLibraries(const char *regexp = "",
504 const char *option = "",
506
507 //---- RPC
508 virtual TInetAddress GetHostByName(const char *server);
509 virtual TInetAddress GetPeerName(int sock);
510 virtual TInetAddress GetSockName(int sock);
511 virtual int GetServiceByName(const char *service);
512 virtual char *GetServiceByPort(int port);
513 virtual int OpenConnection(const char *server, int port, int tcpwindowsize = -1, const char *protocol = "tcp");
514 virtual int AnnounceTcpService(int port, Bool_t reuse, int backlog, int tcpwindowsize = -1,
517 virtual int AnnounceUnixService(int port, int backlog);
518 virtual int AnnounceUnixService(const char *sockpath, int backlog);
519 virtual int AcceptConnection(int sock);
520 virtual void CloseConnection(int sock, Bool_t force = kFALSE);
521 virtual int RecvRaw(int sock, void *buffer, int length, int flag);
522 virtual int SendRaw(int sock, const void *buffer, int length, int flag);
523 virtual int RecvBuf(int sock, void *buffer, int length);
524 virtual int SendBuf(int sock, const void *buffer, int length);
525 virtual int SetSockOpt(int sock, int kind, int val);
526 virtual int GetSockOpt(int sock, int kind, int *val);
527
528 //---- System, CPU and Memory info
529 virtual int GetSysInfo(SysInfo_t *info) const;
530 virtual int GetCpuInfo(CpuInfo_t *info, Int_t sampleTime = 1000) const;
531 virtual int GetMemInfo(MemInfo_t *info) const;
532 virtual int GetProcInfo(ProcInfo_t *info) const;
533
534 //---- ACLiC (Automatic Compiler of Shared Library for CINT)
535 virtual void AddIncludePath(const char *includePath);
536 virtual void AddLinkedLibs(const char *linkedLib);
537 virtual int CompileMacro(const char *filename, Option_t *opt = "", const char *library_name = "", const char *build_dir = "", UInt_t dirmode = 0);
538 virtual Int_t GetAclicProperties() const;
539 virtual const char *GetBuildArch() const;
540 virtual const char *GetBuildCompiler() const;
541 virtual const char *GetBuildCompilerVersion() const;
542 virtual const char *GetBuildCompilerVersionStr() const;
543 virtual const char *GetBuildNode() const;
544 virtual const char *GetBuildDir() const;
545 virtual const char *GetFlagsDebug() const;
546 virtual const char *GetFlagsOpt() const;
547 virtual const char *GetIncludePath();
548 virtual const char *GetLinkedLibs() const;
549 virtual const char *GetLinkdefSuffix() const;
550 virtual EAclicMode GetAclicMode() const;
551 virtual const char *GetMakeExe() const;
552 virtual const char *GetMakeSharedLib() const;
553 virtual const char *GetSoExt() const;
554 virtual const char *GetObjExt() const;
555 virtual void SetBuildDir(const char* build_dir, Bool_t isflat = kFALSE);
556 virtual void SetFlagsDebug(const char *);
557 virtual void SetFlagsOpt(const char *);
558 virtual void SetIncludePath(const char *includePath);
559 virtual void SetMakeExe(const char *directives);
560 virtual void SetAclicMode(EAclicMode mode);
561 virtual void SetMakeSharedLib(const char *directives);
562 virtual void SetLinkedLibs(const char *linkedLibs);
563 virtual void SetLinkdefSuffix(const char *suffix);
564 virtual void SetSoExt(const char *soExt);
565 virtual void SetObjExt(const char *objExt);
566 virtual TString SplitAclicMode(const char *filename, TString &mode, TString &args, TString &io) const;
567 virtual void CleanCompiledMacros();
568
569 ClassDefOverride(TSystem,0) //ABC defining a generic interface to the OS
570};
571
573R__EXTERN TFileHandler *gXDisplay; // Display server (X11) input event handler
574
575
576#endif
#define R__EXTERN
Definition DllImport.h:26
#define h(i)
Definition RSha256.hxx:106
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
bool Bool_t
Definition RtypesCore.h:63
int Int_t
Definition RtypesCore.h:45
long Long_t
Definition RtypesCore.h:54
unsigned int UInt_t
Definition RtypesCore.h:46
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
long long Long64_t
Definition RtypesCore.h:69
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
const char Option_t
Definition RtypesCore.h:66
#define ClassDef(name, id)
Definition Rtypes.h:342
#define BIT(n)
Definition Rtypes.h:90
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t mask
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char mode
char name[80]
Definition TGX11.cxx:110
ESignals
R__EXTERN const char * gProgName
Definition TSystem.h:252
Bool_t R_ISFIFO(Int_t mode)
Definition TSystem.h:128
Bool_t R_ISOFF(Int_t mode)
Definition TSystem.h:130
R__EXTERN TVirtualMutex * gSystemMutex
Definition TSystem.h:254
ESockOptions
Definition TSystem.h:229
@ kKeepAlive
Definition TSystem.h:233
@ kBytesToRead
Definition TSystem.h:239
@ kReuseAddr
Definition TSystem.h:234
@ kNoBlock
Definition TSystem.h:236
@ kSendBuffer
Definition TSystem.h:230
@ kNoDelay
Definition TSystem.h:235
@ kOobInline
Definition TSystem.h:232
@ kRecvBuffer
Definition TSystem.h:231
@ kProcessGroup
Definition TSystem.h:237
@ kAtMark
Definition TSystem.h:238
ESendRecvOptions
Definition TSystem.h:242
@ kDontBlock
Definition TSystem.h:246
@ kDefault
Definition TSystem.h:243
@ kPeek
Definition TSystem.h:245
@ kOob
Definition TSystem.h:244
void(* Func_t)()
Definition TSystem.h:249
Bool_t R_ISSOCK(Int_t mode)
Definition TSystem.h:129
Bool_t R_ISBLK(Int_t mode)
Definition TSystem.h:125
R__EXTERN const char * gRootDir
Definition TSystem.h:251
EAccessMode
Definition TSystem.h:51
@ kFileExists
Definition TSystem.h:52
@ kExecutePermission
Definition TSystem.h:53
@ kReadPermission
Definition TSystem.h:55
@ kWritePermission
Definition TSystem.h:54
Bool_t R_ISREG(Int_t mode)
Definition TSystem.h:126
Bool_t R_ISLNK(Int_t mode)
Definition TSystem.h:127
ELogFacility
Definition TSystem.h:74
@ kLogLocal2
Definition TSystem.h:77
@ kLogLocal6
Definition TSystem.h:81
@ kLogLocal4
Definition TSystem.h:79
@ kLogLocal5
Definition TSystem.h:80
@ kLogLocal0
Definition TSystem.h:75
@ kLogLocal3
Definition TSystem.h:78
@ kLogLocal1
Definition TSystem.h:76
@ kLogLocal7
Definition TSystem.h:82
ESocketBindOption
Options for binging the sockets created.
Definition TSystem.h:46
@ kInaddrLoopback
Refers to the local host via the loopback device.
Definition TSystem.h:48
@ kInaddrAny
Any address for socket binding.
Definition TSystem.h:47
ELogLevel
Definition TSystem.h:63
@ kLogWarning
Definition TSystem.h:68
@ kLogEmerg
Definition TSystem.h:64
@ kLogAlert
Definition TSystem.h:65
@ kLogNotice
Definition TSystem.h:69
@ kLogInfo
Definition TSystem.h:70
@ kLogCrit
Definition TSystem.h:66
@ kLogErr
Definition TSystem.h:67
@ kLogDebug
Definition TSystem.h:71
Bool_t R_ISDIR(Int_t mode)
Definition TSystem.h:123
R__EXTERN TSystem * gSystem
Definition TSystem.h:572
EFpeMask
Definition TSystem.h:85
@ kDivByZero
Definition TSystem.h:88
@ kInexact
Definition TSystem.h:91
@ kNoneMask
Definition TSystem.h:86
@ kInvalid
Definition TSystem.h:87
@ kUnderflow
Definition TSystem.h:90
@ kOverflow
Definition TSystem.h:89
@ kAllMask
Definition TSystem.h:93
@ kDefaultMask
Definition TSystem.h:92
R__EXTERN TFileHandler * gXDisplay
Definition TSystem.h:573
R__EXTERN const char * gProgPath
Definition TSystem.h:253
ELogOption
Definition TSystem.h:58
@ kLogPid
Definition TSystem.h:59
@ kLogCons
Definition TSystem.h:60
Bool_t R_ISCHR(Int_t mode)
Definition TSystem.h:124
EFileModeMask
Definition TSystem.h:96
@ kS_IRWXG
Definition TSystem.h:113
@ kS_IRGRP
Definition TSystem.h:114
@ kS_IWUSR
Definition TSystem.h:111
@ kS_IFDIR
Definition TSystem.h:103
@ kS_ISUID
Definition TSystem.h:106
@ kS_IFCHR
Definition TSystem.h:104
@ kS_IRUSR
Definition TSystem.h:110
@ kS_IXOTH
Definition TSystem.h:120
@ kS_ISGID
Definition TSystem.h:107
@ kS_IROTH
Definition TSystem.h:118
@ kS_IFMT
Definition TSystem.h:97
@ kS_IWGRP
Definition TSystem.h:115
@ kS_IXUSR
Definition TSystem.h:112
@ kS_IFBLK
Definition TSystem.h:102
@ kS_ISVTX
Definition TSystem.h:108
@ kS_IFSOCK
Definition TSystem.h:98
@ kS_IFOFF
Definition TSystem.h:100
@ kS_IFREG
Definition TSystem.h:101
@ kS_IRWXU
Definition TSystem.h:109
@ kS_IWOTH
Definition TSystem.h:119
@ kS_IRWXO
Definition TSystem.h:117
@ kS_IFIFO
Definition TSystem.h:105
@ kS_IXGRP
Definition TSystem.h:116
@ kS_IFLNK
Definition TSystem.h:99
const char * proto
Definition civetweb.c:17535
This class represents an Internet Protocol (IP) address.
A doubly linked list.
Definition TList.h:38
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Mother of all ROOT objects.
Definition TObject.h:41
TProcessEventTimer(Long_t delay)
Create async event processor timer. Delay is in milliseconds.
Definition TSystem.cxx:81
Bool_t ProcessEvents()
Process events if timer did time out.
Definition TSystem.cxx:92
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
Definition TSystem.h:270
Sequenceable collection abstract base class.
Basic string class.
Definition TString.h:139
Abstract base class defining a generic interface to the underlying Operating System.
Definition TSystem.h:276
TString fListPaths
Definition TSystem.h:320
virtual void NotifyApplicationCreated()
Hook to tell TSystem that the TApplication object has been created.
Definition TSystem.cxx:311
virtual const char * GetBuildNode() const
Return the build node name.
Definition TSystem.cxx:3908
virtual int Umask(Int_t mask)
Set the process file creation mode mask.
Definition TSystem.cxx:1517
virtual int SendBuf(int sock, const void *buffer, int length)
Send a buffer headed by a length indicator.
Definition TSystem.cxx:2427
virtual int GetServiceByName(const char *service)
Get port # of internet service.
Definition TSystem.cxx:2318
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.
Definition TSystem.cxx:966
virtual void Unload(const char *module)
Unload a shared library.
Definition TSystem.cxx:2052
virtual FILE * TempFileName(TString &base, const char *dir=nullptr, const char *suffix=nullptr)
Create a secure temporary file by appending a unique 6 letter string to base.
Definition TSystem.cxx:1499
virtual const char * GetMakeSharedLib() const
Return the command line use to make a shared library.
Definition TSystem.cxx:3957
Bool_t fInControl
Definition TSystem.h:300
TSeqCollection * fFileHandler
Definition TSystem.h:306
Int_t fAclicProperties
Definition TSystem.h:329
Int_t fMaxrfd
Definition TSystem.h:291
virtual void AddFileHandler(TFileHandler *fh)
Add a file handler to the list of system file handlers.
Definition TSystem.cxx:554
TString & GetLastErrorString()
Return the thread local storage for the custom last error message.
Definition TSystem.cxx:2102
virtual void AddLinkedLibs(const char *linkedLib)
Add linkedLib to already set linked libs.
Definition TSystem.cxx:4171
virtual Int_t RedirectOutput(const char *name, const char *mode="a", RedirectHandle_t *h=nullptr)
Redirect standard output (stdout, stderr) to the specified file.
Definition TSystem.cxx:1715
virtual const char * GetBuildCompilerVersion() const
Return the build compiler version.
Definition TSystem.cxx:3892
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,...
Definition TSystem.cxx:576
Bool_t cd(const char *path)
Definition TSystem.h:433
virtual TInetAddress GetSockName(int sock)
Get Internet Protocol (IP) address of host and port #.
Definition TSystem.cxx:2309
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.
Definition TSystem.cxx:1472
virtual Func_t DynFindSymbol(const char *module, const char *entry)
Find specific entry point in specified library.
Definition TSystem.cxx:2044
virtual const char * GetLinkedLibs() const
Return the list of library linked to this executable.
Definition TSystem.cxx:3993
void Beep(Int_t freq=-1, Int_t duration=-1, Bool_t setDefault=kFALSE)
Beep for duration milliseconds with a tone of frequency freq.
Definition TSystem.cxx:324
Bool_t InControl() const
Definition TSystem.h:377
Int_t fBeepDuration
Definition TSystem.h:298
virtual void IgnoreInterrupt(Bool_t ignore=kTRUE)
If ignore is true ignore the interrupt signal, else restore previous behaviour.
Definition TSystem.cxx:602
virtual void Syslog(ELogLevel level, const char *mess)
Send mess to syslog daemon.
Definition TSystem.cxx:1686
virtual int Symlink(const char *from, const char *to)
Create a symbolic link from file1 to file2.
Definition TSystem.cxx:1368
virtual void SetAclicMode(EAclicMode mode)
AclicMode indicates whether the library should be built in debug mode or optimized.
Definition TSystem.cxx:4078
static void ResetErrno()
Static function resetting system error number.
Definition TSystem.cxx:284
virtual UInt_t LoadAllLibraries()
Load all libraries known to ROOT via the rootmap system.
Definition TSystem.cxx:1970
virtual void * GetDirPtr() const
Definition TSystem.h:426
virtual void SetObjExt(const char *objExt)
Set object files extension, should be either .o, .obj, etc.
Definition TSystem.cxx:4245
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...
Definition TSystem.cxx:4228
TSeqCollection * fHelpers
Definition TSystem.h:331
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
Definition TSystem.cxx:1274
virtual TSeqCollection * GetListOfStdExceptionHandlers() const
Definition TSystem.h:395
const char * pwd()
Definition TSystem.h:434
virtual const char * GetBuildDir() const
Return the path of the build directory.
Definition TSystem.cxx:3916
virtual void Openlog(const char *name, Int_t options, ELogFacility facility)
Open connection to system log daemon.
Definition TSystem.cxx:1677
static Int_t GetErrno()
Static function returning system error number.
Definition TSystem.cxx:276
virtual void AddIncludePath(const char *includePath)
Add a directory to the already set include path.
Definition TSystem.cxx:4160
virtual int Chmod(const char *file, UInt_t mode)
Set the file permission bits. Returns -1 in case or error, 0 otherwise.
Definition TSystem.cxx:1508
virtual Int_t GetEffectiveGid()
Returns the effective group id.
Definition TSystem.cxx:1591
@ kDefault
Definition TSystem.h:279
@ kDebug
Definition TSystem.h:279
virtual ~TSystem()
Delete the OS interface.
Definition TSystem.cxx:139
virtual void SetDisplay()
Set DISPLAY environment variable based on utmp entry. Only for UNIX.
Definition TSystem.cxx:235
TFdSet * fReadmask
Definition TSystem.h:285
TString fWdpath
Definition TSystem.h:294
virtual const char * DirName(const char *pathname)
Return the directory name in pathname.
Definition TSystem.cxx:1006
virtual void FreeDirectory(void *dirp)
Free a directory.
Definition TSystem.cxx:845
virtual void SetFlagsOpt(const char *)
FlagsOpt should contain the options to pass to the C++ compiler in order to compile the library in op...
Definition TSystem.cxx:4066
TSystem & operator=(const TSystem &)=delete
void RemoveOnExit(TObject *obj)
Objects that should be deleted on exit of the OS interface.
Definition TSystem.cxx:292
TSeqCollection * fStdExceptionHandler
Definition TSystem.h:307
virtual char * GetServiceByPort(int port)
Get name of internet service.
Definition TSystem.cxx:2327
virtual void * OpenDirectory(const char *name)
Open a directory. Returns 0 if directory does not exist.
Definition TSystem.cxx:836
virtual int GetPid()
Get process id.
Definition TSystem.cxx:707
virtual int RecvBuf(int sock, void *buffer, int length)
Receive a buffer headed by a length indicator.
Definition TSystem.cxx:2418
TString fHostname
Definition TSystem.h:295
virtual int CopyFile(const char *from, const char *to, Bool_t overwrite=kFALSE)
Copy a file.
Definition TSystem.cxx:1341
virtual Long_t NextTimeOut(Bool_t mode)
Time when next timer of mode (synchronous=kTRUE or asynchronous=kFALSE) will time-out (in ms).
Definition TSystem.cxx:494
virtual int SetSockOpt(int sock, int kind, int val)
Set socket option.
Definition TSystem.cxx:2436
virtual const char * Getenv(const char *env)
Get environment variable.
Definition TSystem.cxx:1665
virtual TStdExceptionHandler * RemoveStdExceptionHandler(TStdExceptionHandler *eh)
Remove an exception handler from list of exception handlers.
Definition TSystem.cxx:621
virtual const char * GetIncludePath()
Get the list of include path.
Definition TSystem.cxx:3974
virtual int AcceptConnection(int sock)
Accept a connection.
Definition TSystem.cxx:2381
virtual Int_t GetAclicProperties() const
Return the ACLiC properties field.
Definition TSystem.cxx:3868
virtual TString SplitAclicMode(const char *filename, TString &mode, TString &args, TString &io) const
This method split a filename of the form:
Definition TSystem.cxx:4259
TFdSet * fWritemask
Files that should be checked for read events.
Definition TSystem.h:286
TString fListLibs
Definition TSystem.h:310
virtual void ResetTimer(TTimer *)
Definition TSystem.h:406
TFdSet * fSignals
Files with writes waiting.
Definition TSystem.h:289
virtual void ShowOutput(RedirectHandle_t *h)
Display the content associated with the redirection described by the opaque handle 'h'.
Definition TSystem.cxx:1725
virtual char * ConcatFileName(const char *dir, const char *name)
Concatenate a directory and a file name. User must delete returned string.
Definition TSystem.cxx:1071
virtual UserGroup_t * GetGroupInfo(Int_t gid)
Returns all group info in the UserGroup_t structure.
Definition TSystem.cxx:1625
virtual void CleanCompiledMacros()
Remove the shared libs produced by the CompileMacro() function, together with their rootmaps,...
Definition TSystem.cxx:4373
virtual Bool_t IsPathLocal(const char *path)
Returns TRUE if the url in 'path' points to the local file system.
Definition TSystem.cxx:1305
TString fMakeExe
Definition TSystem.h:327
virtual const char * FindFile(const char *search, TString &file, EAccessMode mode=kFileExists)
Find location of file in a search path.
Definition TSystem.cxx:1538
virtual int mkdir(const char *name, Bool_t recursive=kFALSE)
Make a file system directory.
Definition TSystem.cxx:906
void GetBeepDefaults(Int_t &freq, Int_t &duration) const
Definition TSystem.h:370
virtual int MakeDirectory(const char *name)
Make a directory.
Definition TSystem.cxx:827
TString fBuildCompilerVersionStr
Definition TSystem.h:315
virtual const char * ExpandFileName(const char *fname)
Expand a pathname getting rid of special shell characters like ~.
Definition TSystem.cxx:1098
TSystem(const TSystem &)=delete
EAclicMode fAclicMode
Definition TSystem.h:325
virtual TInetAddress GetPeerName(int sock)
Get Internet Protocol (IP) address of remote host and port #.
Definition TSystem.cxx:2300
virtual TList * GetListOfTimers() const
Definition TSystem.h:403
virtual TTime Now()
Get current time in milliseconds since 0:00 Jan 1 1995.
Definition TSystem.cxx:463
virtual Int_t Exec(const char *shellcmd)
Execute a command.
Definition TSystem.cxx:653
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 s...
Definition TSystem.cxx:2458
TString fFlagsOpt
Definition TSystem.h:319
virtual int GetMemInfo(MemInfo_t *info) const
Returns ram and swap memory usage info into the MemInfo_t structure.
Definition TSystem.cxx:2479
virtual EAclicMode GetAclicMode() const
AclicMode indicates whether the library should be built in debug mode or optimized.
Definition TSystem.cxx:3948
virtual const char * GetLinkedLibraries()
Get list of shared libraries loaded at the start of the executable.
Definition TSystem.cxx:2120
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:4195
virtual TFileHandler * RemoveFileHandler(TFileHandler *fh)
Remove a file handler from the list of file handlers.
Definition TSystem.cxx:564
TString fLinkedLibs
Definition TSystem.h:322
Int_t fSigcnt
Definition TSystem.h:293
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
Definition TSystem.cxx:1857
virtual void ListSymbols(const char *module, const char *re="")
List symbols in a shared library.
Definition TSystem.cxx:2064
virtual void DoBeep(Int_t=-1, Int_t=-1) const
Definition TSystem.h:342
TString fObjExt
Definition TSystem.h:324
TString fLinkdefSuffix
Definition TSystem.h:328
Int_t fBeepFreq
Definition TSystem.h:297
virtual int GetCpuInfo(CpuInfo_t *info, Int_t sampleTime=1000) const
Returns cpu load average and load info into the CpuInfo_t structure.
Definition TSystem.cxx:2469
EAclicProperties
Definition TSystem.h:280
@ kFlatBuildDir
Definition TSystem.h:281
virtual TSeqCollection * GetListOfFileHandlers() const
Definition TSystem.h:392
virtual void ListLibraries(const char *regexp="")
List the loaded shared libraries.
Definition TSystem.cxx:2085
virtual FILE * OpenPipe(const char *command, const char *mode)
Open a pipe.
Definition TSystem.cxx:662
virtual void SetMakeSharedLib(const char *directives)
Directives should contain the description on how to compile and link a shared lib.
Definition TSystem.cxx:4146
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.
Definition TSystem.cxx:1398
virtual void InnerLoop()
Inner event loop.
Definition TSystem.cxx:400
virtual TList * GetVolumes(Option_t *) const
Definition TSystem.h:465
virtual const char * PrependPathName(const char *dir, TString &name)
Concatenate a directory and a file name.
Definition TSystem.cxx:1081
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
Definition TSystem.cxx:1296
virtual int OpenConnection(const char *server, int port, int tcpwindowsize=-1, const char *protocol="tcp")
Open a connection to another host.
Definition TSystem.cxx:2336
virtual const char * GetDirEntry(void *dirp)
Get a directory entry. Returns 0 if no more entries.
Definition TSystem.cxx:853
virtual void IgnoreSignal(ESignals sig, Bool_t ignore=kTRUE)
If ignore is true ignore the specified signal, else restore previous behaviour.
Definition TSystem.cxx:593
virtual void Run()
System event loop.
Definition TSystem.cxx:343
virtual int GetSockOpt(int sock, int kind, int *val)
Get socket option.
Definition TSystem.cxx:2445
virtual void ExitLoop()
Exit from event loop.
Definition TSystem.cxx:392
virtual Bool_t ChangeDirectory(const char *path)
Change directory.
Definition TSystem.cxx:862
virtual std::string GetHomeDirectory(const char *userName=nullptr) const
Return the user's home directory.
Definition TSystem.cxx:895
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition TSystem.cxx:1063
virtual int RecvRaw(int sock, void *buffer, int length, int flag)
Receive exactly length bytes into buffer.
Definition TSystem.cxx:2399
virtual Bool_t Init()
Initialize the OS interface.
Definition TSystem.cxx:183
virtual void AddTimer(TTimer *t)
Add timer to list of system timers.
Definition TSystem.cxx:471
virtual int GetProcInfo(ProcInfo_t *info) const
Returns cpu and memory used by this process into the ProcInfo_t structure.
Definition TSystem.cxx:2489
virtual const char * GetBuildCompilerVersionStr() const
Return the build compiler version identifier string.
Definition TSystem.cxx:3900
TFdSet * fWriteready
Files with reads waiting.
Definition TSystem.h:288
virtual Int_t GetCryptoRandom(void *buf, Int_t len)
Return cryptographic random number Fill provided buffer with random values Returns number of bytes wr...
Definition TSystem.cxx:266
virtual void DispatchOneEvent(Bool_t pendingOnly=kFALSE)
Dispatch a single event.
Definition TSystem.cxx:429
virtual int Rename(const char *from, const char *to)
Rename a file.
Definition TSystem.cxx:1350
virtual int ClosePipe(FILE *pipe)
Close the pipe.
Definition TSystem.cxx:671
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
Definition TSystem.cxx:934
TString fBuildArch
Definition TSystem.h:312
virtual void AddSignalHandler(TSignalHandler *sh)
Add a signal handler to list of system signal handlers.
Definition TSystem.cxx:532
virtual const char * GetDynamicPath()
Return the dynamic path (used to find shared libraries).
Definition TSystem.cxx:1795
TSeqCollection * fSignalHandler
Definition TSystem.h:305
virtual const char * GetMakeExe() const
Return the command line use to make an executable.
Definition TSystem.cxx:3966
virtual const char * FindDynamicLibrary(TString &lib, Bool_t quiet=kFALSE)
Find a dynamic library using the system search paths.
Definition TSystem.cxx:2034
virtual void SetFlagsDebug(const char *)
FlagsDebug should contain the options to pass to the C++ compiler in order to compile the library in ...
Definition TSystem.cxx:4057
virtual void Exit(int code, Bool_t mode=kTRUE)
Exit the application.
Definition TSystem.cxx:716
virtual Int_t GetGid(const char *group=nullptr)
Returns the group's id. If group = 0, returns current user's group.
Definition TSystem.cxx:1581
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:4094
TFdSet * fReadready
Files that should be checked for write events.
Definition TSystem.h:287
TSeqCollection * fCompiled
Definition TSystem.h:330
virtual TString GetFromPipe(const char *command)
Execute command and return output in TString.
Definition TSystem.cxx:680
TString fBuildCompilerVersion
Definition TSystem.h:314
TSystem * FindHelper(const char *path, void *dirptr=nullptr)
Create helper TSystem to handle file and directory operations that might be special for remote file a...
Definition TSystem.cxx:746
virtual const char * GetFlagsDebug() const
Return the debug flags.
Definition TSystem.cxx:3928
virtual const char * HostName()
Return the system's host name.
Definition TSystem.cxx:303
Bool_t fDone
Definition TSystem.h:301
TList * fTimers
Definition TSystem.h:304
Int_t fNfd
Signals that were trapped.
Definition TSystem.h:290
virtual void Unsetenv(const char *name)
Unset environment variable.
Definition TSystem.cxx:1657
virtual Bool_t IsAbsoluteFileName(const char *dir)
Return true if dir is an absolute pathname.
Definition TSystem.cxx:951
virtual void AddDynamicPath(const char *pathname)
Add a new directory to the dynamic path.
Definition TSystem.cxx:1787
virtual Int_t Select(TList *active, Long_t timeout)
Select on active file descriptors (called by TMonitor).
Definition TSystem.cxx:445
std::atomic< Bool_t > fInsideNotify
Definition TSystem.h:296
TSeqCollection * fOnExitList
Definition TSystem.h:308
virtual const char * GetObjExt() const
Get the object file extension.
Definition TSystem.cxx:4022
virtual int AnnounceUnixService(int port, int backlog)
Announce unix domain service.
Definition TSystem.cxx:2363
TString fIncludePath
Definition TSystem.h:321
virtual Int_t GetUid(const char *user=nullptr)
Returns the user's id. If user = 0, returns current user's id.
Definition TSystem.cxx:1562
virtual Int_t GetEffectiveUid()
Returns the effective user id.
Definition TSystem.cxx:1572
TString fFlagsDebug
Definition TSystem.h:318
virtual const char * GetLinkdefSuffix() const
Return the linkdef suffix chosen by the user for ACLiC.
Definition TSystem.cxx:4002
virtual void SetDynamicPath(const char *pathname)
Set the dynamic path to a new value.
Definition TSystem.cxx:1806
TString fMakeSharedLib
Definition TSystem.h:326
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
Definition TSystem.cxx:437
Int_t fMaxwfd
Definition TSystem.h:292
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".
Definition TSystem.cxx:2836
virtual const char * WorkingDirectory()
Return working directory.
Definition TSystem.cxx:871
virtual void AddStdExceptionHandler(TStdExceptionHandler *eh)
Add an exception handler to list of system exception handlers.
Definition TSystem.cxx:611
virtual char * Which(const char *search, const char *file, EAccessMode mode=kFileExists)
Find location of file in a search path.
Definition TSystem.cxx:1548
virtual TInetAddress GetHostByName(const char *server)
Get Internet Protocol (IP) address of host.
Definition TSystem.cxx:2291
virtual void SetProgname(const char *name)
Set the application name (from command line, argv[0]) and copy it in gProgName.
Definition TSystem.cxx:226
virtual int SendRaw(int sock, const void *buffer, int length, int flag)
Send exactly length bytes from buffer.
Definition TSystem.cxx:2409
virtual Int_t SetFPEMask(Int_t mask=kDefaultMask)
Set which conditions trigger a floating point exception.
Definition TSystem.cxx:642
Int_t fLevel
Definition TSystem.h:302
virtual const char * GetBuildCompiler() const
Return the build compiler.
Definition TSystem.cxx:3884
virtual void CloseConnection(int sock, Bool_t force=kFALSE)
Close socket connection.
Definition TSystem.cxx:2390
virtual const char * GetLibraries(const char *regexp="", const char *option="", Bool_t isRegexp=kTRUE)
Return a space separated list of loaded shared libraries.
Definition TSystem.cxx:2136
virtual TSeqCollection * GetListOfSignalHandlers() const
Definition TSystem.h:389
TString fBuildDir
Definition TSystem.h:317
void SetErrorStr(const char *errstr)
Set the system error string.
Definition TSystem.cxx:245
virtual TSignalHandler * RemoveSignalHandler(TSignalHandler *sh)
Remove a signal handler from list of signal handlers.
Definition TSystem.cxx:542
virtual void SetSoExt(const char *soExt)
Set shared library extension, should be either .so, .sl, .a, .dll, etc.
Definition TSystem.cxx:4237
virtual void Closelog()
Close connection to system log daemon.
Definition TSystem.cxx:1694
TString fBuildCompiler
Definition TSystem.h:313
virtual void Setenv(const char *name, const char *value)
Set environment variable.
Definition TSystem.cxx:1649
virtual const char * GetBuildArch() const
Return the build architecture.
Definition TSystem.cxx:3876
virtual int Link(const char *from, const char *to)
Create a link from file1 to file2.
Definition TSystem.cxx:1359
virtual void SigAlarmInterruptsSyscalls(Bool_t)
Definition TSystem.h:340
virtual const char * HomeDirectory(const char *userName=nullptr)
Return the user's home directory.
Definition TSystem.cxx:887
virtual void SetLinkedLibs(const char *linkedLibs)
LinkedLibs should contain the library directory and list of libraries needed to recreate the current ...
Definition TSystem.cxx:4206
const char * GetErrorStr() const
Definition TSystem.h:360
virtual std::string GetWorkingDirectory() const
Return working directory.
Definition TSystem.cxx:879
TString fSoExt
Definition TSystem.h:323
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.
Definition TSystem.cxx:4044
static const char * StripOffProto(const char *path, const char *proto)
Strip off protocol string from specified path.
Definition TSystem.cxx:117
virtual void Abort(int code=0)
Abort the application.
Definition TSystem.cxx:725
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
Definition TSystem.cxx:416
virtual const char * GetSoExt() const
Get the shared library extension.
Definition TSystem.cxx:4014
virtual int Utime(const char *file, Long_t modtime, Long_t actime)
Set the a files modification and access times.
Definition TSystem.cxx:1527
virtual const char * GetError()
Return system error string.
Definition TSystem.cxx:254
virtual int AnnounceTcpService(int port, Bool_t reuse, int backlog, int tcpwindowsize=-1, ESocketBindOption socketBindOption=ESocketBindOption::kInaddrAny)
Announce TCP/IP service.
Definition TSystem.cxx:2345
virtual TTimer * RemoveTimer(TTimer *t)
Remove timer from list of system timers.
Definition TSystem.cxx:481
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
Definition TSystem.cxx:1032
virtual Int_t GetFPEMask()
Return the bitmap of conditions that trigger a floating point exception.
Definition TSystem.cxx:632
virtual int Unlink(const char *name)
Unlink, i.e.
Definition TSystem.cxx:1381
virtual void StackTrace()
Print a stack trace.
Definition TSystem.cxx:734
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
Definition TSystem.cxx:1601
virtual int AnnounceUdpService(int port, int backlog, ESocketBindOption socketBindOption=ESocketBindOption::kInaddrAny)
Announce UDP service.
Definition TSystem.cxx:2354
virtual void ResetSignals()
Reset signals handlers to previous behaviour.
Definition TSystem.cxx:584
TString fBuildNode
Definition TSystem.h:316
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
Definition TSystem.cxx:1482
virtual const char * GetFlagsOpt() const
Return the optimization flags.
Definition TSystem.cxx:3936
virtual Bool_t ConsistentWith(const char *path, void *dirptr=nullptr)
Check consistency of this helper with the one required by 'path' or 'dirptr'.
Definition TSystem.cxx:804
char * DynamicPathName(const char *lib, Bool_t quiet=kFALSE)
Find a dynamic library called lib using the system search paths.
Definition TSystem.cxx:2020
Basic time type with millisecond precision.
Definition TTime.h:27
Handles synchronous and a-synchronous timer events.
Definition TTimer.h:51
This class implements a mutex interface.
const Int_t n
Definition legend1.C:16
virtual ~CpuInfo_t()
Definition TSystem.h:183
Float_t fIdle
Definition TSystem.h:180
Float_t fLoad15m
Definition TSystem.h:176
Float_t fUser
Definition TSystem.h:177
Float_t fLoad1m
Definition TSystem.h:174
CpuInfo_t()
Definition TSystem.h:181
Float_t fSys
Definition TSystem.h:178
Float_t fTotal
Definition TSystem.h:179
Float_t fLoad5m
Definition TSystem.h:175
Int_t fMode
Definition TSystem.h:135
Long64_t fSize
Definition TSystem.h:138
Long_t fDev
Definition TSystem.h:133
TString fUrl
Definition TSystem.h:141
Int_t fGid
Definition TSystem.h:137
Long_t fMtime
Definition TSystem.h:139
Long_t fIno
Definition TSystem.h:134
Bool_t fIsLink
Definition TSystem.h:140
Int_t fUid
Definition TSystem.h:136
virtual ~MemInfo_t()
Definition TSystem.h:202
Int_t fMemCached
Definition TSystem.h:192
Int_t fSwapTotal
Definition TSystem.h:195
Int_t fSwapFree
Definition TSystem.h:197
Int_t fMemAvailable
Definition TSystem.h:191
Int_t fMemFree
Definition TSystem.h:190
Int_t fMemUsed
Definition TSystem.h:189
Int_t fMemShared
Definition TSystem.h:194
Int_t fSwapUsed
Definition TSystem.h:196
Int_t fMemTotal
Definition TSystem.h:188
Int_t fMemBuffer
Definition TSystem.h:193
Int_t fSwapCached
Definition TSystem.h:198
Int_t fSReclaimable
Definition TSystem.h:199
MemInfo_t()
Definition TSystem.h:200
Long_t fMemVirtual
Definition TSystem.h:210
virtual ~ProcInfo_t()
Definition TSystem.cxx:75
Float_t fCpuSys
Definition TSystem.h:208
Long_t fMemResident
Definition TSystem.h:209
Float_t fCpuUser
Definition TSystem.h:207
TString fStdErrTty
Definition TSystem.h:220
Int_t fReadOffSet
Definition TSystem.h:223
RedirectHandle_t(const char *n=nullptr)
Definition TSystem.h:224
TString fFile
Definition TSystem.h:218
TString fStdOutTty
Definition TSystem.h:219
SysInfo_t()
Definition TSystem.h:167
Int_t fCpuSpeed
Definition TSystem.h:163
Int_t fL2Cache
Definition TSystem.h:165
Int_t fBusSpeed
Definition TSystem.h:164
TString fCpuType
Definition TSystem.h:161
Int_t fCpus
Definition TSystem.h:162
Int_t fPhysRam
Definition TSystem.h:166
TString fOS
Definition TSystem.h:159
TString fModel
Definition TSystem.h:160
virtual ~SysInfo_t()
Definition TSystem.h:169
Int_t fGid
Definition TSystem.h:148
TString fRealName
Definition TSystem.h:152
TString fShell
Definition TSystem.h:153
TString fPasswd
Definition TSystem.h:151
TString fUser
Definition TSystem.h:149
TString fGroup
Definition TSystem.h:150
Int_t fUid
Definition TSystem.h:147