w11 - cpp 0.794
Backend server for Rlink and w11
Loading...
Searching...
No Matches
Retro::Rw11VirtTape Class Referenceabstract

FIXME_docs. More...

#include <Rw11VirtTape.hpp>

Inheritance diagram for Retro::Rw11VirtTape:
[legend]
Collaboration diagram for Retro::Rw11VirtTape:
[legend]

Public Types

enum  stats {
  kStatNVTReadRec = Rw11Virt::kDimStat , kStatNVTReadByt , kStatNVTReadEof , kStatNVTReadEom ,
  kStatNVTReadPErr , kStatNVTReadLErr , kStatNVTWriteRec , kStatNVTWriteByt ,
  kStatNVTWriteEof , kStatNVTSpaForw , kStatNVTSpaBack , kStatNVTRewind ,
  kDimStat
}
 
enum  OpCode {
  kOpCodeOK = 0 , kOpCodeBot , kOpCodeEof , kOpCodeEom ,
  kOpCodeRecLenErr , kOpCodeBadParity , kOpCodeBadFormat
}
 
- Public Types inherited from Retro::Rw11Virt
enum  stats { kDimStat = 0 }
 

Public Member Functions

 Rw11VirtTape (Rw11Unit *punit)
 Default constructor.
 
void SetCapacity (size_t nbyte)
 FIXME_docs.
 
size_t Capacity () const
 FIXME_docs.
 
virtual bool ReadRecord (size_t nbyte, uint8_t *data, size_t &ndone, int &opcode, RerrMsg &emsg)=0
 
virtual bool WriteRecord (size_t nbyte, const uint8_t *data, int &opcode, RerrMsg &emsg)=0
 
virtual bool WriteEof (RerrMsg &emsg)=0
 
virtual bool SpaceForw (size_t nrec, size_t &ndone, int &opcode, RerrMsg &emsg)=0
 
virtual bool SpaceBack (size_t nrec, size_t &ndone, int &opcode, RerrMsg &emsg)=0
 
virtual bool Rewind (int &opcode, RerrMsg &emsg)=0
 
void SetPosFile (int posfile)
 FIXME_docs.
 
void SetPosRecord (int posrec)
 FIXME_docs.
 
bool Bot () const
 FIXME_docs.
 
bool Eot () const
 FIXME_docs.
 
bool Eom () const
 FIXME_docs.
 
int PosFile () const
 FIXME_docs.
 
int PosRecord () const
 FIXME_docs.
 
virtual void Dump (std::ostream &os, int ind=0, const char *text=0, int detail=0) const
 FIXME_docs.
 
- Public Member Functions inherited from Retro::Rw11Virt
 Rw11Virt (Rw11Unit *punit)
 Default constructor.
 
virtual ~Rw11Virt ()
 Destructor.
 
 Rw11Virt (const Rw11Virt &)=delete
 
Rw11Virtoperator= (const Rw11Virt &)=delete
 
Rw11UnitUnit () const
 FIXME_docs.
 
Rw11CntlCntl () const
 FIXME_docs.
 
Rw11CpuCpu () const
 FIXME_docs.
 
Rw11W11 () const
 FIXME_docs.
 
RlinkServerServer () const
 FIXME_docs.
 
RlogFileLogFile () const
 FIXME_docs.
 
virtual bool WProt () const
 FIXME_docs.
 
const RparseUrlUrl () const
 FIXME_docs.
 
virtual bool Open (const std::string &url, RerrMsg &emsg)=0
 
RstatsStats ()
 FIXME_docs.
 
virtual void Dump (std::ostream &os, int ind=0, const char *text=0, int detail=0) const
 FIXME_docs.
 

Static Public Member Functions

static std::unique_ptr< Rw11VirtTapeNew (const std::string &url, Rw11Unit *punit, RerrMsg &emsg)
 FIXME_docs.
 

Protected Attributes

size_t fCapacity
 capacity in byte (0=unlimited)
 
bool fBot
 tape at bot
 
bool fEot
 tape beyond eot
 
bool fEom
 tape beyond medium
 
int fPosFile
 tape pos: #files (-1=unknown)
 
int fPosRecord
 tape pos: #record (-1=unknown)
 
- Protected Attributes inherited from Retro::Rw11Virt
Rw11UnitfpUnit
 back ref to unit
 
RparseUrl fUrl
 
bool fWProt
 write protected
 
Rstats fStats
 statistics
 

Detailed Description

FIXME_docs.

Definition at line 29 of file Rw11VirtTape.hpp.

Member Enumeration Documentation

◆ stats

Enumerator
kStatNVTReadRec 
kStatNVTReadByt 
kStatNVTReadEof 
kStatNVTReadEom 
kStatNVTReadPErr 
kStatNVTReadLErr 
kStatNVTWriteRec 
kStatNVTWriteByt 
kStatNVTWriteEof 
kStatNVTSpaForw 
kStatNVTSpaBack 
kStatNVTRewind 
kDimStat 

Definition at line 64 of file Rw11VirtTape.hpp.

◆ OpCode

Enumerator
kOpCodeOK 

operation OK

kOpCodeBot 

ended at BOT

kOpCodeEof 

ended at EOF

kOpCodeEom 

ended at EOM

kOpCodeRecLenErr 

record length error

kOpCodeBadParity 

record with parity error

kOpCodeBadFormat 

file format error

Definition at line 81 of file Rw11VirtTape.hpp.

Constructor & Destructor Documentation

◆ Rw11VirtTape()

Member Function Documentation

◆ SetCapacity()

void Retro::Rw11VirtTape::SetCapacity ( size_t  nbyte)
inline

FIXME_docs.

Definition at line 22 of file Rw11VirtTape.ipp.

References fCapacity.

◆ Capacity()

size_t Retro::Rw11VirtTape::Capacity ( ) const
inline

FIXME_docs.

Definition at line 31 of file Rw11VirtTape.ipp.

References fCapacity.

Referenced by Retro::Rw11UnitTape::Capacity().

◆ ReadRecord()

virtual bool Retro::Rw11VirtTape::ReadRecord ( size_t  nbyte,
uint8_t *  data,
size_t &  ndone,
int &  opcode,
RerrMsg emsg 
)
pure virtual

◆ WriteRecord()

virtual bool Retro::Rw11VirtTape::WriteRecord ( size_t  nbyte,
const uint8_t *  data,
int &  opcode,
RerrMsg emsg 
)
pure virtual

◆ WriteEof()

virtual bool Retro::Rw11VirtTape::WriteEof ( RerrMsg emsg)
pure virtual

◆ SpaceForw()

virtual bool Retro::Rw11VirtTape::SpaceForw ( size_t  nrec,
size_t &  ndone,
int &  opcode,
RerrMsg emsg 
)
pure virtual

◆ SpaceBack()

virtual bool Retro::Rw11VirtTape::SpaceBack ( size_t  nrec,
size_t &  ndone,
int &  opcode,
RerrMsg emsg 
)
pure virtual

◆ Rewind()

virtual bool Retro::Rw11VirtTape::Rewind ( int &  opcode,
RerrMsg emsg 
)
pure virtual

◆ SetPosFile()

void Retro::Rw11VirtTape::SetPosFile ( int  posfile)

FIXME_docs.

Definition at line 89 of file Rw11VirtTape.cpp.

References fPosFile, kOpCodeEom, Rewind(), SpaceForw(), and Retro::RerrMsg::Text().

Referenced by Retro::Rw11UnitTape::SetPosFile().

◆ SetPosRecord()

void Retro::Rw11VirtTape::SetPosRecord ( int  posrec)

FIXME_docs.

Definition at line 111 of file Rw11VirtTape.cpp.

References fPosRecord, kOpCodeEof, SpaceBack(), SpaceForw(), and Retro::RerrMsg::Text().

Referenced by Retro::Rw11UnitTape::SetPosRecord().

◆ Bot()

bool Retro::Rw11VirtTape::Bot ( ) const
inline

◆ Eot()

bool Retro::Rw11VirtTape::Eot ( ) const
inline

FIXME_docs.

Definition at line 47 of file Rw11VirtTape.ipp.

References fEot.

Referenced by Retro::Rw11CntlTM11::AddFastExit(), Retro::Rw11CntlTM11::AddNormalExit(), and Retro::Rw11UnitTape::Eot().

◆ Eom()

bool Retro::Rw11VirtTape::Eom ( ) const
inline

FIXME_docs.

Definition at line 55 of file Rw11VirtTape.ipp.

References fEom.

Referenced by Retro::Rw11UnitTape::Eom().

◆ PosFile()

int Retro::Rw11VirtTape::PosFile ( ) const
inline

FIXME_docs.

Definition at line 63 of file Rw11VirtTape.ipp.

References fPosFile.

Referenced by Retro::Rw11UnitTape::PosFile().

◆ PosRecord()

int Retro::Rw11VirtTape::PosRecord ( ) const
inline

FIXME_docs.

Definition at line 71 of file Rw11VirtTape.ipp.

References fPosRecord.

Referenced by Retro::Rw11UnitTape::PosRecord().

◆ Dump()

void Retro::Rw11VirtTape::Dump ( std::ostream &  os,
int  ind = 0,
const char *  text = 0,
int  detail = 0 
) const
virtual

FIXME_docs.

Reimplemented from Retro::Rw11Virt.

Reimplemented in Retro::Rw11VirtTapeTap.

Definition at line 143 of file Rw11VirtTape.cpp.

References Retro::Rw11Virt::Dump(), fBot, fCapacity, fEom, fEot, fPosFile, fPosRecord, and Retro::RosPrintf().

Referenced by Retro::Rw11VirtTapeTap::Dump().

◆ New()

std::unique_ptr< Rw11VirtTape > Retro::Rw11VirtTape::New ( const std::string &  url,
Rw11Unit punit,
RerrMsg emsg 
)
static

FIXME_docs.

Definition at line 68 of file Rw11VirtTape.cpp.

References Retro::RparseUrl::FindScheme(), and Retro::RerrMsg::Init().

Member Data Documentation

◆ fCapacity

size_t Retro::Rw11VirtTape::fCapacity
protected

capacity in byte (0=unlimited)

Definition at line 92 of file Rw11VirtTape.hpp.

Referenced by Capacity(), Dump(), Retro::Rw11VirtTapeTap::Open(), SetCapacity(), and Retro::Rw11VirtTapeTap::UpdatePos().

◆ fBot

bool Retro::Rw11VirtTape::fBot
protected

◆ fEot

bool Retro::Rw11VirtTape::fEot
protected

◆ fEom

◆ fPosFile

◆ fPosRecord


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