library: libRFIO #include "TRFIOFile.h"

# TRFIOSystem

class description - source file - inheritance tree (.pdf)

## class TRFIOSystem : public TSystem

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TSystem`
| <- | `TRFIOSystem` |

        private:

          virtual void* GetDirPtr() const

        public:

                              TRFIOSystem()
                              TRFIOSystem(const TRFIOSystem&)
                      virtual ~TRFIOSystem()
               virtual Bool_t AccessPathName(const char* path, EAccessMode mode)
               static TClass* Class()
                 virtual void FreeDirectory(void* dirp)
          virtual const char* GetDirEntry(void* dirp) const
                virtual Int_t GetPathInfo(const char* path, FileStat_t& buf)
              virtual TClass* IsA() const
                virtual Int_t MakeDirectory(const char* name)
                virtual void* OpenDirectory(const char* name)
                 TRFIOSystem& operator=(const TRFIOSystem&)
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

          void* fDirp  directory handler

## Class Description

     TRFIOFile

     A TRFIOFile is like a normal TFile except that it reads and writes
     its data via a rfiod server (for more on the rfiod daemon see
     http://wwwinfo.cern.ch/pdp/serv/shift.html). TRFIOFile file names
     are in standard URL format with protocol "rfio". The following are
     valid TRFIOFile URL's:

        rfio:/afs/cern.ch/user/r/rdm/galice.root
             where galice.root is a symlink of the type /shift/.../...
        rfio:na49db1:/data1/raw.root

TRFIOSystem() : TSystem("-rfio", "RFIO Helper System")

     Create helper class that allows directory access via rfiod.

Int_t MakeDirectory(const char *dir)

     Make a directory via rfiod.

void* OpenDirectory(const char *dir)

     Open a directory via rfiod. Returns an opaque pointer to a dir
     structure. Returns 0 in case of error.

void FreeDirectory(void *dirp)

     Free directory via rfiod.

const char* GetDirEntry(void *dirp)

     Get directory entry via rfiod. Returns 0 in case no more entries.

Int_t GetPathInfo(const char *path, FileStat_t &buf)

     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.

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

### Inline Functions

                    void ~TRFIOSystem()
                   void* GetDirPtr() const
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
             TRFIOSystem TRFIOSystem(const TRFIOSystem&)
            TRFIOSystem& operator=(const TRFIOSystem&)

Author: Fons Rademakers 20/01/99
Last update: root/rfio:$Name: $:$Id: TRFIOFile.cxx,v 1.32 2005/02/28 17:28:12 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *