47 off_t offset,
size_t rdlen,
48 std::vector<uint32_t>& csvec,
53 long long offs, bytes;
67 if (rdlen > (
size_t)0x7fffffff)
78 iosz =
static_cast<int>(rdlen);
79 offs =
static_cast<long long>(offset);
86 {bytes = fp->
XCio->
pgRead((
char *)buffer, offs, (int)iosz, csvec, fOpts);
88 return (ssize_t)bytes;
98 fp->
XCio->
pgRead(*cbp, (
char *)buffer, offs, (int)iosz, csvec, fOpts);
107 off_t offset,
size_t wrlen,
108 std::vector<uint32_t>& csvec,
119 {
if (!cbp)
return -1;
126 if (wrlen > (
size_t)0x7fffffff)
136 if (csvec.size() == 0)
148 iosz =
static_cast<int>(wrlen);
149 offs =
static_cast<long long>(offset);
154 {bytes = fp->
XCio->
pgWrite((
char *)buffer, offs, (int)iosz, csvec);
157 return (ssize_t)bytes;
167 fp->
XCio->
pgWrite(*cbp, (
char *)buffer, offs, (int)iosz, csvec);
static const uint64_t forceCS
virtual int pgRead(char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0)
virtual int pgWrite(char *buff, long long offs, int wrlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0)
static void csCalc(const char *data, off_t offs, size_t count, uint32_t *csval)
static int csNum(off_t offs, int count)
Compute the required size of a checksum vector based on offset & length.
virtual void Complete(ssize_t Result)=0
void UpdtSize(size_t newsz)
static XrdPosixFile * File(int fildes, bool glk=false)