xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Private Attributes | List of all members
XrdPosixObject Class Reference

#include <XrdPosixObject.hh>

Inheritance diagram for XrdPosixObject:
Inheritance graph
[legend]
Collaboration diagram for XrdPosixObject:
Collaboration graph
[legend]

Public Member Functions

bool AssignFD (bool isStream=false)
 
int FDNum ()
 
void Lock (bool wr=true)
 
void Ref ()
 
int Refs ()
 
void unRef ()
 
void UnLock ()
 
virtual bool Who (XrdPosixDir **dirP)
 
virtual bool Who (XrdPosixFile **fileP)
 
 XrdPosixObject ()
 
virtual ~XrdPosixObject ()
 

Static Public Member Functions

static bool CanStream ()
 
static XrdPosixDirDir (int fildes, bool glk=false)
 
static XrdPosixFileFile (int fildes, bool glk=false)
 
static int Init (int numfd)
 
static void Release (XrdPosixObject *oP, bool needlk=true)
 
static XrdPosixDirReleaseDir (int fildes)
 
static XrdPosixFileReleaseFile (int fildes)
 
static void Shutdown ()
 
static bool Valid (int fd)
 

Protected Attributes

XrdSysRecMutex updMutex
 
XrdSysRWLock objMutex
 
int fdNum
 
int refCnt
 

Static Private Attributes

static XrdSysMutex fdMutex
 
static XrdPosixObject ** myFiles
 
static int lastFD
 
static int highFD
 
static int baseFD
 
static int freeFD
 
static int posxFD
 
static int devNull
 

Constructor & Destructor Documentation

XrdPosixObject::XrdPosixObject ( )
inline
virtual XrdPosixObject::~XrdPosixObject ( )
inlinevirtual

References fdNum, and Release().

Member Function Documentation

bool XrdPosixObject::AssignFD ( bool  isStream = false)
static bool XrdPosixObject::CanStream ( )
inlinestatic

References baseFD, and freeFD.

static XrdPosixDir* XrdPosixObject::Dir ( int  fildes,
bool  glk = false 
)
static
int XrdPosixObject::FDNum ( )
inline

References fdNum.

static XrdPosixFile* XrdPosixObject::File ( int  fildes,
bool  glk = false 
)
static
static int XrdPosixObject::Init ( int  numfd)
static
void XrdPosixObject::Lock ( bool  wr = true)
inline
void XrdPosixObject::Ref ( )
inline
int XrdPosixObject::Refs ( )
inline

References AtomicRet, refCnt, and updMutex.

static void XrdPosixObject::Release ( XrdPosixObject oP,
bool  needlk = true 
)
static

Referenced by ~XrdPosixObject().

static XrdPosixDir* XrdPosixObject::ReleaseDir ( int  fildes)
static
static XrdPosixFile* XrdPosixObject::ReleaseFile ( int  fildes)
static
static void XrdPosixObject::Shutdown ( )
static
void XrdPosixObject::UnLock ( )
inline

References objMutex, and XrdSysRWLock::UnLock().

void XrdPosixObject::unRef ( )
inline
static bool XrdPosixObject::Valid ( int  fd)
inlinestatic

References baseFD, highFD, and myFiles.

virtual bool XrdPosixObject::Who ( XrdPosixDir **  dirP)
inlinevirtual

Reimplemented in XrdPosixDir.

virtual bool XrdPosixObject::Who ( XrdPosixFile **  fileP)
inlinevirtual

Reimplemented in XrdPosixFile.

Member Data Documentation

int XrdPosixObject::baseFD
staticprivate

Referenced by CanStream(), and Valid().

int XrdPosixObject::devNull
staticprivate
XrdSysMutex XrdPosixObject::fdMutex
staticprivate
int XrdPosixObject::fdNum
protected

Referenced by FDNum(), and ~XrdPosixObject().

int XrdPosixObject::freeFD
staticprivate

Referenced by CanStream().

int XrdPosixObject::highFD
staticprivate

Referenced by Valid().

int XrdPosixObject::lastFD
staticprivate
XrdPosixObject** XrdPosixObject::myFiles
staticprivate

Referenced by Valid().

XrdSysRWLock XrdPosixObject::objMutex
protected

Referenced by Lock(), XrdPosixDir::rewind(), and UnLock().

int XrdPosixObject::posxFD
staticprivate
int XrdPosixObject::refCnt
protected

Referenced by Ref(), Refs(), and unRef().

XrdSysRecMutex XrdPosixObject::updMutex
protected

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