TUnixSystem


class description - source file - inheritance tree

class TUnixSystem : public TSystem


    protected:
virtual char* DynamicPathName(const char* lib, Bool_t quiet = kFALSE) static void* FindDynLib(const char* lib) static const char* GetDynamicPath() const static int ReadUtmpFile() static void* SearchUtmpEntry(int nentries, const char* tty) static Func_t UnixDynFindSymbol(const char* lib, const char* entry) static void UnixDynListLibs(const char* lib) static void UnixDynListSymbols(const char* lib, const char* re) static int UnixDynLoad(const char* lib) static void UnixDynUnload(const char* lib) static int UnixFilestat(const char* path, Long_t* id, Long_t* size, Long_t* flags, Long_t* modtime) static int UnixFSstat(const char* path, Long_t* id, Long_t* bsize, Long_t* blocks, Long_t* bfree) static const char* UnixGetdirentry(void* dir) const static const char* UnixHomedirectory(const char* user = "0") const static void UnixIgnoreSignal(ESignals sig, Bool_t ignore) static int UnixMakedir(const char* name) static Long_t UnixNow() static void* UnixOpendir(const char* name) static int UnixRecv(int sock, void* buf, int len, int flag) static void UnixResetSignal(ESignals sig) static void UnixResetSignals() static int UnixSelect(UInt_t nfds, TFdSet* readready, TFdSet* writeready, Long_t timeout) static int UnixSend(int sock, const void* buf, int len, int flag) static int UnixSetitimer(Long_t ms) static void UnixSignal(ESignals sig, SigHandler_t h) static const char* UnixSigname(ESignals sig) const static int UnixTcpConnect(const char* hostname, int port, int tcpwindowsize) static int UnixTcpService(int port, Bool_t reuse, int backlog, int tcpwindowsize) static int UnixUnixConnect(int port) static int UnixUnixService(int port, int backlog) static int UnixWaitchild() public:
TUnixSystem TUnixSystem() TUnixSystem TUnixSystem(const TUnixSystem&) virtual void ~TUnixSystem() virtual void Abort(int code = 0) virtual int AcceptConnection(int sock) virtual Bool_t AccessPathName(const char* path, EAccessMode mode = kFileExists) virtual void AddFileHandler(TFileHandler* fh) virtual void AddSignalHandler(TSignalHandler* sh) virtual void AddTimer(TTimer* ti) virtual int AnnounceTcpService(int port, Bool_t reuse, int backlog, int tcpwindowsize = -1) virtual int AnnounceUnixService(int port, int backlog) virtual Bool_t ChangeDirectory(const char* path) void CheckChilds() Bool_t CheckDescriptors() Bool_t CheckSignals(Bool_t sync) static TClass* Class() virtual void CloseConnection(int sock, Bool_t force = kFALSE) virtual void Closelog() virtual int ClosePipe(FILE* pipe) virtual char* ConcatFileName(const char* dir, const char* name) int ConnectService(const char* server, int port, int tcpwindowsize) virtual void DispatchOneEvent(Bool_t pendingOnly = kFALSE) void DispatchSignals(ESignals sig) Bool_t DispatchTimers(Bool_t mode) virtual Func_t DynFindSymbol(const char* module, const char* entry) virtual int Exec(const char* shellcmd) virtual void Exit(int code, Bool_t mode = kTRUE) virtual Bool_t ExpandPathName(TString& patbuf) virtual char* ExpandPathName(const char* path) virtual void FreeDirectory(void* dirp) virtual const char* GetDirEntry(void* dirp) const virtual const char* Getenv(const char* name) const virtual const char* GetError() const virtual int GetFsInfo(const char* path, Long_t* id, Long_t* bsize, Long_t* blocks, Long_t* bfree) virtual TInetAddress GetHostByName(const char* server) virtual int GetPathInfo(const char* path, Long_t* id, Long_t* size, Long_t* flags, Long_t* modtime) virtual TInetAddress GetPeerName(int sock) virtual int GetPid() virtual int GetServiceByName(const char* service) virtual char* GetServiceByPort(int port) virtual TInetAddress GetSockName(int sock) virtual int GetSockOpt(int sock, int option, int* val) virtual const char* HomeDirectory(const Char_t* userName = "0") const virtual const char* HostName() const virtual void IgnoreSignal(ESignals sig, Bool_t ignore = kTRUE) virtual Bool_t Init() virtual TClass* IsA() const virtual int Link(const char* from, const char* to) virtual void ListLibraries(const char* regexp) virtual void ListSymbols(const char* module, const char* re) virtual int Load(const char* module, const char* entry, Bool_t system = kFALSE) virtual int MakeDirectory(const char* name) virtual TTime Now() virtual int OpenConnection(const char* server, int port, int tcpwindowsize = -1) virtual void* OpenDirectory(const char* name) virtual void Openlog(const char* name, Int_t options, ELogFacility facility) virtual FILE* OpenPipe(const char* shellcmd, const char* mode) virtual int RecvBuf(int sock, void* buffer, int length) virtual int RecvRaw(int sock, void* buffer, int length, int flag) virtual TFileHandler* RemoveFileHandler(TFileHandler* fh) virtual TSignalHandler* RemoveSignalHandler(TSignalHandler* sh) virtual TTimer* RemoveTimer(TTimer* ti) virtual void Rename(const char* from, const char* to) virtual void ResetSignal(ESignals sig, Bool_t reset = kTRUE) virtual void ResetTimer(TTimer* ti) virtual int SendBuf(int sock, const void* buffer, int length) virtual int SendRaw(int sock, const void* buffer, int length, int flag) virtual void SetDisplay() virtual void Setenv(const char* name, const char* value) virtual void SetProgname(const char* name) virtual int SetSockOpt(int sock, int option, int val) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Sleep(UInt_t milliSec) virtual void StackTrace() virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual int Symlink(const char* from, const char* to) virtual void Syslog(ELogLevel level, const char* mess) virtual int Umask(Int_t mask) virtual int Unlink(const char* name) virtual void Unload(const char* module) virtual int Utime(const char* file, Long_t modtime, Long_t actime) virtual char* Which(const char* search, const char* file, EAccessMode mode = kFileExists) virtual const char* WorkingDirectory() const

Data Members




Class Description

                                                                      
 TUnixSystem                                                          
                                                                      
 Class providing an interface to the UNIX Operating System.           
                                                                      


TUnixSystem() : TSystem("Unix", "Unix System")

~TUnixSystem()
 Reset to original state.

Bool_t Init()
 Initialize Unix system interface.

void SetProgname(const char *name)
 Set the application name (from command line, argv[0]) and copy it in
 gProgName. Copy the application pathname in gProgPath.

void SetDisplay()
 Set DISPLAY environment variable based on utmp entry. Only for UNIX.

const char* GetError()
 Return system error string.

const char* HostName()
 Return the system's host name.

void AddFileHandler(TFileHandler *h)
 Add a file handler to the list of system file handlers.

TFileHandler* RemoveFileHandler(TFileHandler *h)
 Remove a file handler from the list of file handlers.

void AddSignalHandler(TSignalHandler *h)
 Add a signal handler to list of system signal handlers.

TSignalHandler* RemoveSignalHandler(TSignalHandler *h)
 Remove a signal handler from list of signal handlers.

void ResetSignal(ESignals sig, Bool_t reset)
 If reset is true reset the signal handler for the specified signal
 to the default handler, else restore previous behaviour.

void IgnoreSignal(ESignals sig, Bool_t ignore)
 If ignore is true ignore the specified signal, else restore previous
 behaviour.

void DispatchOneEvent(Bool_t pendingOnly)
 Dispatch a single event.

void Sleep(UInt_t milliSec)
 Sleep milliSec milliseconds.

void DispatchSignals(ESignals sig)
 Handle and dispatch signals.

Bool_t CheckSignals(Bool_t sync)
 Check if some signals were raised and call their Notify() member.

void CheckChilds()
 Check if childs have finished.

Bool_t CheckDescriptors()
 Check if there is activity on some file descriptors and call their
 Notify() member.

int MakeDirectory(const char *name)
 Make a Unix file system directory. Returns 0 in case of success and
 -1 if the directory could not be created.

void* OpenDirectory(const char *name)
 Open a Unix file system directory. Returns 0 if directory does not exist.

void FreeDirectory(void *dirp)
 Close a Unix file system directory.

const char* GetDirEntry(void *dirp)
 Get next Unix file system directory entry. Returns 0 if no more entries.

Bool_t ChangeDirectory(const char *path)
 Change directory. Returns kTRUE in case of success, kFALSE otherwise.

const char* WorkingDirectory()
 Return working directory.

const char* HomeDirectory(const Char_t *userName)
 Return the user's home directory.

char* ConcatFileName(const char *dir, const char *name)
 Concatenate a directory and a file name. Returned string must be
 deleted by user.

Bool_t AccessPathName(const char *path, EAccessMode mode)
 Returns FALSE if one can access a file using the specified access mode.
 Mode is the same as for the Unix access(2) function.
 Attention, bizarre convention of return value!!

void Rename(const char *f, const char *t)
 Rename a file.

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.
 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.

int GetFsInfo(const char *path, Long_t *id, Long_t *bsize, Long_t *blocks, Long_t *bfree)
 Get info about a file system: id, bsize, bfree, blocks.
 Id      is file system type (machine dependend, see statfs())
 Bsize   is block size of file system
 Blocks  is total number of blocks in file system
 Bfree   is number of free blocks in file system
 The function returns 0 in case of success and 1 if the file system could
 not be stat'ed.

int Link(const char *from, const char *to)
 Create a link from file1 to file2. Returns 0 when successful,
 -1 in case of failure.

int Symlink(const char *from, const char *to)
 Create a symlink from file1 to file2. Returns 0 when succesfull,
 -1 in case of failure.

int Unlink(const char *name)
 Unlink, i.e. remove, a file or directory. Returns 0 when succesfull,
 -1 in case of failure.

Bool_t ExpandPathName(TString &path)
 Expand a pathname getting rid of special shell characters like ~.$, etc.
 For Unix/Win32 compatibility use $(XXX) instead of $XXX when using
 environment variables in a pathname. If compatibility is not an issue
 you can use on Unix directly $XXX.

Bool_t ExpandPathName(TString &patbuf0)
 Expand a pathname getting rid of special shell characters like ~.$, etc.
 For Unix/Win32 compatibility use $(XXX) instead of $XXX when using
 environment variables in a pathname. If compatibility is not an issue
 you can use on Unix directly $XXX.

char* ExpandPathName(const char *path)
 Expand a pathname getting rid of special shell characaters like ~.$, etc.
 For Unix/Win32 compatibility use $(XXX) 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.

int Umask(Int_t mask)
 Set the process file creation mode mask.

int Utime(const char *file, Long_t modtime, Long_t actime)
 Set 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.

char* Which(const char *search, const char *wfil, EAccessMode mode)
 Find location of file "wfil" in a search path.
 The search path is specified as a : separated list of directories.
 User must delete returned string. Returns 0 in case file is not found.

void Setenv(const char *name, const char *value)
 Set environment variable. The string passed will be owned by
 the environment and can not be reused till a "name" is set
 again. The solution below will lose the space for the string
 in that case, but if this functions is not called thousands
 of times that should not be a problem.

const char* Getenv(const char *name)
 Get environment variable.

int Exec(const char *shellcmd)
 Execute a command.

FILE* OpenPipe(const char *command, const char *mode)
 Open a pipe.

int ClosePipe(FILE *pipe)
 Close the pipe.

int GetPid()
 Get process id.

void Exit(int code, Bool_t mode)
 Exit the application.

void Abort(int)
 Abort the application.

void StackTrace()
 Print a stack trace.