gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
FileFDEntry Class Reference

Holds file descriptors for host-backed files; host-backed files are files which were opened on the physical machine where the simulation is running (probably the thing on/under your desk). More...

#include <fd_entry.hh>

Inheritance diagram for FileFDEntry:
HBFDEntry FDEntry Serializable

Public Member Functions

 FileFDEntry (int sim_fd, int flags, std::string const &file_name, uint64_t file_offset, bool close_on_exec=false)
 
 FileFDEntry (FileFDEntry const &reg, bool close_on_exec=false)
 
std::shared_ptr< FDEntryclone () const override
 
std::string getFileName () const
 
uint64_t getFileOffset () const
 
void setFileName (std::string file_name)
 
void setFileOffset (uint64_t f_off)
 
void serialize (CheckpointOut &cp) const override
 Serialize an object. More...
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object. More...
 
- Public Member Functions inherited from HBFDEntry
 HBFDEntry (int flags, int sim_fd, bool close_on_exec=false)
 
int getFlags () const
 
int getSimFD () const
 
void setFlags (int flags)
 
void setSimFD (int sim_fd)
 
- Public Member Functions inherited from FDEntry
 FDEntry (bool close_on_exec=false)
 
bool getCOE () const
 
void setCOE (bool close_on_exec)
 
- Public Member Functions inherited from Serializable
 Serializable ()
 
virtual ~Serializable ()
 
void serializeSection (CheckpointOut &cp, const char *name) const
 Serialize an object into a new section. More...
 
void serializeSection (CheckpointOut &cp, const std::string &name) const
 
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object. More...
 
void unserializeSection (CheckpointIn &cp, const std::string &name)
 

Private Attributes

std::string _fileName
 
uint64_t _fileOffset
 

Additional Inherited Members

- Static Public Member Functions inherited from Serializable
static const std::string & currentSection ()
 Get the fully-qualified name of the active section. More...
 
static void serializeAll (const std::string &cpt_dir)
 
static void unserializeGlobals (CheckpointIn &cp)
 
- Static Public Attributes inherited from Serializable
static int ckptCount = 0
 
static int ckptMaxCount = 0
 
static int ckptPrevCount = -1
 
- Protected Attributes inherited from HBFDEntry
int _flags
 
int _simFD
 
- Protected Attributes inherited from FDEntry
bool _closeOnExec
 

Detailed Description

Holds file descriptors for host-backed files; host-backed files are files which were opened on the physical machine where the simulation is running (probably the thing on/under your desk).

All regular files are redirected to make it appear that the file descriptor assignment starts at file descriptor '3' (not including stdin, stdout, stderr) and then grows upward.

Definition at line 102 of file fd_entry.hh.

Constructor & Destructor Documentation

FileFDEntry::FileFDEntry ( int  sim_fd,
int  flags,
std::string const &  file_name,
uint64_t  file_offset,
bool  close_on_exec = false 
)
inline

Definition at line 105 of file fd_entry.hh.

FileFDEntry::FileFDEntry ( FileFDEntry const &  reg,
bool  close_on_exec = false 
)
inline

Definition at line 111 of file fd_entry.hh.

Member Function Documentation

std::shared_ptr<FDEntry> FileFDEntry::clone ( ) const
inlineoverridevirtual

Implements FDEntry.

Definition at line 117 of file fd_entry.hh.

std::string FileFDEntry::getFileName ( ) const
inline

Definition at line 122 of file fd_entry.hh.

References _fileName.

uint64_t FileFDEntry::getFileOffset ( ) const
inline

Definition at line 123 of file fd_entry.hh.

References _fileOffset.

void FileFDEntry::serialize ( CheckpointOut cp) const
overridevirtual

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Reimplemented from FDEntry.

Definition at line 53 of file fd_entry.cc.

References FDEntry::_closeOnExec, _fileName, _fileOffset, HBFDEntry::_flags, and SERIALIZE_SCALAR.

void FileFDEntry::setFileName ( std::string  file_name)
inline

Definition at line 125 of file fd_entry.hh.

References _fileName.

void FileFDEntry::setFileOffset ( uint64_t  f_off)
inline

Definition at line 126 of file fd_entry.hh.

References _fileOffset.

void FileFDEntry::unserialize ( CheckpointIn cp)
overridevirtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Reimplemented from FDEntry.

Definition at line 62 of file fd_entry.cc.

References FDEntry::_closeOnExec, _fileName, _fileOffset, HBFDEntry::_flags, and UNSERIALIZE_SCALAR.

Member Data Documentation

std::string FileFDEntry::_fileName
private

Definition at line 132 of file fd_entry.hh.

Referenced by getFileName(), serialize(), setFileName(), and unserialize().

uint64_t FileFDEntry::_fileOffset
private

Definition at line 133 of file fd_entry.hh.

Referenced by getFileOffset(), serialize(), setFileOffset(), and unserialize().


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

Generated on Fri Jun 9 2017 13:04:10 for gem5 by doxygen 1.8.6