Go to the documentation of this file.
38 #include <sys/types.h>
91 virtual int Readdir(
char *buff,
int blen) {
return -ENOTDIR;}
117 virtual int Fchmod(mode_t mode) {
return -EISDIR;}
141 virtual int Fsync() {
return -EISDIR;}
161 virtual int Ftruncate(
unsigned long long) {
return -EISDIR;}
173 virtual off_t
getMmap(
void **addr) {*addr = 0;
return 0;}
219 static const uint64_t
221 static const uint64_t
224 virtual ssize_t
pgRead (
void* buffer, off_t offset,
size_t rdlen,
225 uint32_t* csvec, uint64_t opts);
258 virtual ssize_t
pgWrite(
void* buffer, off_t offset,
size_t wrlen,
259 uint32_t* csvec, uint64_t opts);
282 virtual ssize_t
Read(off_t offset,
size_t size) {
return (ssize_t)-EISDIR;}
295 virtual ssize_t
Read(
void *buffer, off_t offset,
size_t size)
296 {
return (ssize_t)-EISDIR;}
320 virtual ssize_t
ReadRaw(
void *buffer, off_t offset,
size_t size)
321 {
return (ssize_t)-EISDIR;}
346 virtual ssize_t
Write(
const void *buffer, off_t offset,
size_t size)
347 {
return (ssize_t)-EISDIR;}
383 virtual int Close(
long long *retsz=0)=0;
411 virtual int Fctl(
int cmd,
int alen,
const char *args,
char **resp=0);
437 XrdOssDF(
const char *tid=
"", uint16_t dftype=0,
int fdnum=-1)
459 #define XRDOSS_mkpath 0x01
460 #define XRDOSS_new 0x02
461 #define XRDOSS_Online 0x04
462 #define XRDOSS_isPFN 0x10
463 #define XRDOSS_isMIG 0x20
464 #define XRDOSS_setnoxa 0x40
468 #define XRDOSS_HASPGRW 0x0000000000000001ULL
469 #define XRDOSS_HASFSCS 0x0000000000000002ULL
470 #define XRDOSS_HASPRXY 0x0000000000000004ULL
471 #define XRDOSS_HASNOSF 0x0000000000000008ULL
475 #define XRDOSS_resonly 0x0001
476 #define XRDOSS_updtatm 0x0002
477 #define XRDOSS_preop 0x0004
481 #define XRDOSS_FSCTLFA 0x0001
585 virtual int FSctl(
int cms,
int alen,
const char *args,
char **resp=0);
609 {
return Init(lp, cfn);}
622 virtual int Mkdir(
const char *path, mode_t mode,
int mkpath=0,
636 virtual int Reloc(
const char *tident,
const char *path,
637 const char *cgName,
const char *anchor=0);
664 virtual int Rename(
const char *oPath,
const char *nPath,
681 virtual int Stat(
const char *path,
struct stat *buff,
693 virtual int Stats(
char *buff,
int blen) {(void)buff; (void)blen;
return 0;}
715 virtual int StatFS(
const char *path,
char *buff,
int &blen,
739 char *buff,
int &blen);
762 virtual int StatPF(
const char *path,
struct stat *buff,
int opts);
765 {
return StatPF(path, buff, 0);}
798 virtual int StatXA(
const char *path,
char *buff,
int &blen,
811 virtual int StatXP(
const char *path,
unsigned long long &attr,
824 virtual int Truncate(
const char *path,
unsigned long long fsize,
854 virtual int Lfn2Pfn(
const char *Path,
char *buff,
int blen)
855 {
if ((
int)strlen(Path) >= blen)
return -ENAMETOOLONG;
856 strcpy(buff, Path);
return 0;
871 const char *
Lfn2Pfn(
const char *Path,
char *buff,
int blen,
int &rc)
872 { (void)buff; (void)blen; rc = 0;
return Path;}
917 const char *config_fn,
922 const char *config_fn,
virtual ~XrdOss()
Definition: XrdOss.hh:879
XrdOssDF(const char *tid="", uint16_t dftype=0, int fdnum=-1)
Definition: XrdOss.hh:437
virtual int Truncate(const char *path, unsigned long long fsize, XrdOucEnv *envP=0)=0
Definition: XrdOss.hh:488
virtual int getFD()
Definition: XrdOss.hh:419
virtual int Fchmod(mode_t mode)
Definition: XrdOss.hh:117
virtual ssize_t WriteV(XrdOucIOVec *writeV, int wrvcnt)
virtual int Init(XrdSysLogger *lp, const char *cfn, XrdOucEnv *envP)
Definition: XrdOss.hh:608
virtual int Reloc(const char *tident, const char *path, const char *cgName, const char *anchor=0)
virtual int StatXP(const char *path, unsigned long long &attr, XrdOucEnv *envP=0)
virtual int Fstat(struct stat *buf)
Definition: XrdOss.hh:133
virtual int Mkdir(const char *path, mode_t mode, int mkpath=0, XrdOucEnv *envP=0)=0
virtual int Rename(const char *oPath, const char *nPath, XrdOucEnv *oEnvP=0, XrdOucEnv *nEnvP=0)=0
static const uint64_t Verify
all: Verify checksums
Definition: XrdOss.hh:220
virtual int Unlink(const char *path, int Opts=0, XrdOucEnv *envP=0)=0
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:346
virtual ssize_t pgRead(void *buffer, off_t offset, size_t rdlen, uint32_t *csvec, uint64_t opts)
virtual uint64_t Features()
static const uint16_t DF_isProxy
Object is a proxy object.
Definition: XrdOss.hh:395
short rsvd
Definition: XrdOss.hh:450
static const uint16_t DF_isDir
Object is for a directory.
Definition: XrdOss.hh:393
virtual ~XrdOssDF()
Definition: XrdOss.hh:441
virtual int Ftruncate(unsigned long long)
Definition: XrdOss.hh:161
virtual int Remdir(const char *path, int Opts=0, XrdOucEnv *envP=0)=0
virtual int Fsync()
Definition: XrdOss.hh:141
virtual int Readdir(char *buff, int blen)
Definition: XrdOss.hh:91
virtual XrdOssDF * newFile(const char *tident)=0
static const int PF_isLFN
Definition: XrdOss.hh:760
Definition: XrdOssVS.hh:88
virtual int StatPF(const char *path, struct stat *buff)
Definition: XrdOss.hh:764
virtual ssize_t ReadRaw(void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:320
virtual int StatVS(XrdOssVSInfo *vsP, const char *sname=0, int updt=0)
Definition: XrdOucIOVec.hh:41
virtual int Stats(char *buff, int blen)
Definition: XrdOss.hh:693
virtual int pgWrite(XrdSfsAio *aoiparm, uint64_t opts)
virtual int Close(long long *retsz=0)=0
static const int PF_dInfo
Definition: XrdOss.hh:758
virtual int Fsync(XrdSfsAio *aiop)
Definition: XrdOss.hh:151
virtual void Disc(XrdOucEnv &env)
virtual int FSctl(int cms, int alen, const char *args, char **resp=0)
int fd
Definition: XrdOss.hh:448
static const uint16_t DF_isFile
Object is for a file.
Definition: XrdOss.hh:394
virtual int Create(const char *, const char *, mode_t, XrdOucEnv &, int opts=0)=0
virtual int isCompressed(char *cxidp=0)
Definition: XrdOss.hh:184
Definition: XrdOucEnv.hh:42
XrdOssGetStorageSystem2_t XrdOssAddStorageSystem2_t
Definition: XrdOss.hh:926
virtual void Flush()
Flush filesystem cached pages for this file (used for checksums).
Definition: XrdOss.hh:123
virtual int Chmod(const char *path, mode_t mode, XrdOucEnv *envP=0)=0
virtual int StatXA(const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
static const int PF_dNums
Definition: XrdOss.hh:759
Definition: XrdSysLogger.hh:53
XrdOss()
Constructor and Destructor.
Definition: XrdOss.hh:878
virtual int Lfn2Pfn(const char *Path, char *buff, int blen)
Definition: XrdOss.hh:854
uint16_t DFType()
Definition: XrdOss.hh:397
static const uint64_t doCalc
pgw: Calculate checksums
Definition: XrdOss.hh:222
virtual int Stat(const char *path, struct stat *buff, int opts=0, XrdOucEnv *envP=0)=0
virtual const char * getTID()
Definition: XrdOss.hh:427
virtual int pgRead(XrdSfsAio *aioparm, uint64_t opts)
virtual int StatLS(XrdOucEnv &env, const char *path, char *buff, int &blen)
virtual ssize_t Read(off_t offset, size_t size)
Definition: XrdOss.hh:282
virtual off_t getMmap(void **addr)
Definition: XrdOss.hh:173
virtual int Opendir(const char *path, XrdOucEnv &env)
Definition: XrdOss.hh:78
virtual ssize_t pgWrite(void *buffer, off_t offset, size_t wrlen, uint32_t *csvec, uint64_t opts)
virtual int Fctl(int cmd, int alen, const char *args, char **resp=0)
virtual int StatPF(const char *path, struct stat *buff, int opts)
virtual int Read(XrdSfsAio *aoip)
Definition: XrdOss.hh:307
Definition: XrdSfsAio.hh:59
virtual int StatRet(struct stat *)
Definition: XrdOss.hh:104
#define stat(a, b)
Definition: XrdPosix.hh:96
virtual ssize_t ReadV(XrdOucIOVec *readV, int rdvcnt)
virtual void Connect(XrdOucEnv &env)
virtual ssize_t Read(void *buffer, off_t offset, size_t size)
Definition: XrdOss.hh:295
virtual int Write(XrdSfsAio *aiop)
Definition: XrdOss.hh:358
virtual XrdOssDF * newDir(const char *tident)=0
uint16_t dfType
Definition: XrdOss.hh:449
XrdOss *(* XrdOssGetStorageSystem2_t)(XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)
Definition: XrdOss.hh:920
virtual int Init(XrdSysLogger *lp, const char *cfn)=0
virtual int StatFS(const char *path, char *buff, int &blen, XrdOucEnv *envP=0)
const char * tident
Definition: XrdOss.hh:446
virtual int Open(const char *path, int Oflag, mode_t Mode, XrdOucEnv &env)
Definition: XrdOss.hh:197
virtual void EnvInfo(XrdOucEnv *envP)
virtual const char * Lfn2Pfn(const char *Path, char *buff, int blen, int &rc)
Definition: XrdOss.hh:871
off_t pgwEOF
Definition: XrdOss.hh:447