18#ifndef included_Retro_Rw11VirtTapeTap
19#define included_Retro_Rw11VirtTapeTap 1
32 virtual bool Open(
const std::string& url,
RerrMsg& emsg);
34 virtual bool ReadRecord(
size_t nbyt, uint8_t* data,
size_t& ndone,
36 virtual bool WriteRecord(
size_t nbyt,
const uint8_t* data,
39 virtual bool SpaceForw(
size_t nrec,
size_t& ndone,
41 virtual bool SpaceBack(
size_t nrec,
size_t& ndone,
45 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
57 bool Read(
size_t nbyt, uint8_t* data,
RerrMsg& emsg);
58 bool Write(
size_t nbyt,
const uint8_t* data,
bool back,
63 bool ParseMeta(uint32_t meta,
size_t& rlen,
bool& perr,
virtual bool Open(const std::string &url, RerrMsg &emsg)
FIXME_docs.
static const uint32_t kMeta_M_Perr
virtual bool SpaceForw(size_t nrec, size_t &ndone, int &opcode, RerrMsg &emsg)
FIXME_docs.
static const uint32_t kMetaEom
EOM marker.
bool Write(size_t nbyt, const uint8_t *data, bool back, RerrMsg &emsg)
FIXME_docs.
static const uint32_t kMeta_B_Rlen
bool CheckSizeForw(size_t nbyt, const char *text, RerrMsg &emsg)
FIXME_docs.
static const uint32_t kMetaEof
EOF marker.
virtual bool WriteRecord(size_t nbyt, const uint8_t *data, int &opcode, RerrMsg &emsg)
FIXME_docs.
virtual bool Rewind(int &opcode, RerrMsg &emsg)
FIXME_docs.
bool CheckSizeBack(size_t nbyt, const char *text, RerrMsg &emsg)
FIXME_docs.
bool BadTapeMsg(const char *meth, RerrMsg &emsg)
FIXME_docs.
bool Seek(size_t seekpos, int dir, RerrMsg &emsg)
FIXME_docs.
virtual bool WriteEof(RerrMsg &emsg)
FIXME_docs.
bool Read(size_t nbyt, uint8_t *data, RerrMsg &emsg)
FIXME_docs.
bool ParseMeta(uint32_t meta, size_t &rlen, bool &perr, RerrMsg &emsg)
FIXME_docs.
bool fBad
BAD file format flag.
static const uint32_t kMeta_M_Mbz
virtual bool ReadRecord(size_t nbyt, uint8_t *data, size_t &ndone, int &opcode, RerrMsg &emsg)
FIXME_docs.
bool fPadOdd
do odd byte padding
bool fTruncPend
truncate on next write
void IncPosRecord(int delta)
FIXME_docs.
virtual bool SpaceBack(size_t nrec, size_t &ndone, int &opcode, RerrMsg &emsg)
FIXME_docs.
void UpdatePos(size_t nbyt, int dir)
FIXME_docs.
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
size_t BytePadding(size_t rlen)
FIXME_docs.
Declaration of class ReventLoop.