20#ifndef included_Retro_Rw11VirtTape
21#define included_Retro_Rw11VirtTape 1
36 virtual bool ReadRecord(
size_t nbyte, uint8_t* data,
size_t& ndone,
37 int& opcode,
RerrMsg& emsg) = 0;
39 int& opcode,
RerrMsg& emsg) = 0;
42 int& opcode,
RerrMsg& emsg) = 0;
44 int& opcode,
RerrMsg& emsg) = 0;
57 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
60 static std::unique_ptr<Rw11VirtTape>
New(
const std::string& url,
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
@ kOpCodeRecLenErr
record length error
@ kOpCodeBadFormat
file format error
@ kOpCodeBadParity
record with parity error
void SetPosFile(int posfile)
FIXME_docs.
virtual bool SpaceForw(size_t nrec, size_t &ndone, int &opcode, RerrMsg &emsg)=0
bool Eom() const
FIXME_docs.
void SetCapacity(size_t nbyte)
FIXME_docs.
int PosFile() const
FIXME_docs.
size_t Capacity() const
FIXME_docs.
int fPosRecord
tape pos: #record (-1=unknown)
int PosRecord() const
FIXME_docs.
void SetPosRecord(int posrec)
FIXME_docs.
size_t fCapacity
capacity in byte (0=unlimited)
static std::unique_ptr< Rw11VirtTape > New(const std::string &url, Rw11Unit *punit, RerrMsg &emsg)
FIXME_docs.
virtual bool Rewind(int &opcode, RerrMsg &emsg)=0
bool Eot() const
FIXME_docs.
virtual bool WriteRecord(size_t nbyte, const uint8_t *data, int &opcode, RerrMsg &emsg)=0
virtual bool ReadRecord(size_t nbyte, uint8_t *data, size_t &ndone, int &opcode, RerrMsg &emsg)=0
virtual bool SpaceBack(size_t nrec, size_t &ndone, int &opcode, RerrMsg &emsg)=0
bool Bot() const
FIXME_docs.
bool fEom
tape beyond medium
int fPosFile
tape pos: #files (-1=unknown)
virtual bool WriteEof(RerrMsg &emsg)=0
Declaration of class ReventLoop.