ns-3 Direct Code Execution
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ns3::UnixFd Class Reference

#include <unix-fd.h>

+ Inheritance diagram for ns3::UnixFd:
+ Collaboration diagram for ns3::UnixFd:

Public Member Functions

virtual int Accept (struct sockaddr *my_addr, socklen_t *addrlen)=0
virtual int Bind (const struct sockaddr *my_addr, socklen_t addrlen)=0
virtual int Close (void)=0
virtual int Connect (const struct sockaddr *my_addr, socklen_t addrlen)=0
void DecFdCount (void)
virtual int Fcntl (int cmd, unsigned long arg)
virtual int Ftruncate (off_t length)=0
virtual int Fxstat (int ver, struct::stat *buf)=0
virtual int Fxstat64 (int ver, struct::stat64 *buf)=0
int GetFdCount (void) const
virtual int Getpeername (struct sockaddr *name, socklen_t *namelen)=0
virtual int GetRealFd (void) const
virtual int Getsockname (struct sockaddr *name, socklen_t *namelen)=0
virtual int Getsockopt (int level, int optname, void *optval, socklen_t *optlen)=0
virtual int Gettime (struct itimerspec *cur_value) const =0
virtual bool HangupReceived (void) const =0
void IncFdCount (void)
virtual int Ioctl (int request, char *argp)=0
virtual bool Isatty (void) const =0
virtual int Listen (int backlog)=0
virtual off64_t Lseek (off64_t offset, int whence)=0
virtual void * Mmap (void *start, size_t length, int prot, int flags, off64_t offset)=0
virtual int Poll (PollTable *ptable)=0
virtual ssize_t Read (void *buf, size_t count)=0
virtual ssize_t Recvmsg (struct msghdr *msg, int flags)=0
virtual ssize_t Sendmsg (const struct msghdr *msg, int flags)=0
virtual int Setsockopt (int level, int optname, const void *optval, socklen_t optlen)=0
virtual int Settime (int flags, const struct itimerspec *new_value, struct itimerspec *old_value)=0
virtual int Shutdown (int how)=0
virtual char * Ttyname (void)
virtual ssize_t Write (const void *buf, size_t count)=0

Static Public Member Functions

static TypeId GetTypeId (void)

Protected Member Functions

 UnixFd ()
void AddWaitQueue (WaitQueueEntry *, bool andRegister)
void RemoveWaitQueue (WaitQueueEntry *, bool andUnregister)
void WakeWaiters (void *key)

Protected Attributes

int m_fdFlags
int m_statusFlags

Private Attributes

int m_fdCount
std::list< WaitQueueEntry * > m_waitQueueList

Friends

class DceManager
class PollTable
class PollTableEntry

Detailed Description

Definition at line 17 of file unix-fd.h.

Constructor & Destructor Documentation

ns3::UnixFd::UnixFd ( )
protected

Definition at line 22 of file unix-fd.cc.

Member Function Documentation

virtual int ns3::UnixFd::Accept ( struct sockaddr *  my_addr,
socklen_t *  addrlen 
)
pure virtual
virtual int ns3::UnixFd::Bind ( const struct sockaddr *  my_addr,
socklen_t  addrlen 
)
pure virtual
virtual int ns3::UnixFd::Close ( void  )
pure virtual
virtual int ns3::UnixFd::Connect ( const struct sockaddr *  my_addr,
socklen_t  addrlen 
)
pure virtual
void ns3::UnixFd::DecFdCount ( void  )

Definition at line 60 of file unix-fd.cc.

References m_fdCount.

Referenced by ns3::FileUsage::~FileUsage().

+ Here is the caller graph for this function:

int ns3::UnixFd::Fcntl ( int  cmd,
unsigned long  arg 
)
virtual

Reimplemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.

Definition at line 80 of file unix-fd.cc.

References m_fdFlags, and m_statusFlags.

virtual int ns3::UnixFd::Ftruncate ( off_t  length)
pure virtual
virtual int ns3::UnixFd::Fxstat ( int  ver,
struct::stat *  buf 
)
pure virtual
virtual int ns3::UnixFd::Fxstat64 ( int  ver,
struct::stat64 *  buf 
)
pure virtual
int ns3::UnixFd::GetFdCount ( void  ) const

Definition at line 65 of file unix-fd.cc.

References m_fdCount.

Referenced by dce_close().

+ Here is the caller graph for this function:

virtual int ns3::UnixFd::Getpeername ( struct sockaddr *  name,
socklen_t *  namelen 
)
pure virtual
int ns3::UnixFd::GetRealFd ( void  ) const
virtual

Reimplemented in ns3::UnixFileFdBase.

Definition at line 75 of file unix-fd.cc.

Referenced by ns3::getRealFd().

+ Here is the caller graph for this function:

virtual int ns3::UnixFd::Getsockname ( struct sockaddr *  name,
socklen_t *  namelen 
)
pure virtual
virtual int ns3::UnixFd::Getsockopt ( int  level,
int  optname,
void *  optval,
socklen_t *  optlen 
)
pure virtual
virtual int ns3::UnixFd::Gettime ( struct itimerspec *  cur_value) const
pure virtual
TypeId ns3::UnixFd::GetTypeId ( void  )
static

Reimplemented in ns3::LocalStreamSocketFd, ns3::LocalDatagramSocketFd, and ns3::LocalSocketFd.

Definition at line 14 of file unix-fd.cc.

virtual bool ns3::UnixFd::HangupReceived ( void  ) const
pure virtual
virtual int ns3::UnixFd::Ioctl ( int  request,
char *  argp 
)
pure virtual
virtual bool ns3::UnixFd::Isatty ( void  ) const
pure virtual
virtual int ns3::UnixFd::Listen ( int  backlog)
pure virtual
virtual off64_t ns3::UnixFd::Lseek ( off64_t  offset,
int  whence 
)
pure virtual
virtual void* ns3::UnixFd::Mmap ( void *  start,
size_t  length,
int  prot,
int  flags,
off64_t  offset 
)
pure virtual
virtual int ns3::UnixFd::Poll ( PollTable ptable)
pure virtual

Implemented in ns3::LocalStreamSocketFd, ns3::LocalDatagramSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.

Referenced by dce_poll().

+ Here is the caller graph for this function:

virtual ssize_t ns3::UnixFd::Read ( void *  buf,
size_t  count 
)
pure virtual
virtual ssize_t ns3::UnixFd::Recvmsg ( struct msghdr *  msg,
int  flags 
)
pure virtual
virtual ssize_t ns3::UnixFd::Sendmsg ( const struct msghdr *  msg,
int  flags 
)
pure virtual
virtual int ns3::UnixFd::Setsockopt ( int  level,
int  optname,
const void *  optval,
socklen_t  optlen 
)
pure virtual
virtual int ns3::UnixFd::Settime ( int  flags,
const struct itimerspec *  new_value,
struct itimerspec *  old_value 
)
pure virtual
virtual int ns3::UnixFd::Shutdown ( int  how)
pure virtual
char * ns3::UnixFd::Ttyname ( void  )
virtual

Definition at line 70 of file unix-fd.cc.

virtual ssize_t ns3::UnixFd::Write ( const void *  buf,
size_t  count 
)
pure virtual

Friends And Related Function Documentation

friend class DceManager
friend

Definition at line 63 of file unix-fd.h.

friend class PollTable
friend

Definition at line 62 of file unix-fd.h.

friend class PollTableEntry
friend

Definition at line 61 of file unix-fd.h.

Member Data Documentation

int ns3::UnixFd::m_fdCount
private

Definition at line 75 of file unix-fd.h.

Referenced by DecFdCount(), GetFdCount(), and IncFdCount().

int ns3::UnixFd::m_fdFlags
protected

Definition at line 69 of file unix-fd.h.

Referenced by Fcntl().

std::list<WaitQueueEntry*> ns3::UnixFd::m_waitQueueList
private

Definition at line 73 of file unix-fd.h.

Referenced by AddWaitQueue(), RemoveWaitQueue(), and WakeWaiters().


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