1 #ifndef _XRDOSSCSITAGSTOREFILE_H
2 #define _XRDOSSCSITAGSTOREFILE_H
41 #if defined(__GLIBC__) || defined(__BIONIC__) || defined(__CYGWIN__)
43 #elif defined(__APPLE__)
45 #if !defined(bswap_16)
47 #include <libkern/OSByteOrder.h>
48 #define bswap_16(x) OSSwapInt16(x)
49 #define bswap_32(x) OSSwapInt32(x)
50 #define bswap_64(x) OSSwapInt64(x)
63 virtual void Flush() ;
66 virtual ssize_t
WriteTags(
const uint32_t *, off_t,
size_t) ;
67 virtual ssize_t
ReadTags(uint32_t *, off_t,
size_t) ;
87 if (!
isOpen)
return -EBADF;
95 if (wtt<0)
return wtt;
102 if (!
isOpen)
return false;
109 if (!
isOpen)
return -EBADF;
120 size_t toread = sz, nread = 0;
121 uint8_t *p = (uint8_t*)buff;
124 const ssize_t rret = fd.
Read(&p[nread], off+nread, toread);
125 if (rret<0)
return rret;
130 if (nread != sz)
return -EDOM;
136 size_t towrite = sz, nwritten = 0;
137 const uint8_t *p = (
const uint8_t*)buff;
140 const ssize_t wret = fd.
Write(&p[nwritten], off+nwritten, towrite);
141 if (wret<0)
return wret;
150 std::unique_ptr<XrdOssDF>
fd_;
166 if (!
isOpen)
return -EBADF;
173 if (!
isOpen)
return -EBADF;
192 if (wret<0)
return wret;
Definition: XrdOucEnv.hh:41
j template void())
Definition: XrdOucJson.hh:4121
virtual ssize_t Read(off_t offset, size_t size)
Definition: XrdOss.hh:281
static uint32_t Calc32C(const void *data, size_t count, uint32_t prevcs=0)
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:345