1#ifndef _XRDOSSCSITAGSTOREFILE_H
2#define _XRDOSSCSITAGSTOREFILE_H
41#if defined(__GLIBC__) || defined(__BIONIC__) || defined(__CYGWIN__)
43#elif defined(__APPLE__)
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)
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;
virtual ssize_t Read(off_t offset, size_t size)
Definition: XrdOss.hh:281
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:345
static uint32_t Calc32C(const void *data, size_t count, uint32_t prevcs=0)
Definition: XrdOucEnv.hh:42
Definition: XrdOucJson.hh:4517