xrootd
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations
XrdSfsInterface.hh File Reference
#include <cstring>
#include <cerrno>
#include <cstdint>
#include <sys/types.h>
#include <sys/stat.h>
#include "XrdOuc/XrdOucErrInfo.hh"
#include "XrdOuc/XrdOucIOVec.hh"
#include "XrdOuc/XrdOucSFVec.hh"
#include "XrdSfs/XrdSfsGPFile.hh"
#include "XrdSys/XrdSysPageSize.hh"
Include dependency graph for XrdSfsInterface.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  XrdSfsFSctl
 < SFS_FSCTL_PLUGIN/PLUGIO/PLUGXC parms More...
 
struct  XrdSfsPrep
 < Prepare parameters More...
 
class  XrdSfsDirectory
 
class  XrdSfsFile
 
class  XrdSfsFileSystem
 

Macros

#define SFS_O_RDONLY   0
 
#define SFS_O_WRONLY   1
 
#define SFS_O_RDWR   2
 
#define SFS_O_CREAT   0x00000100
 
#define SFS_O_TRUNC   0x00000200
 
#define SFS_O_MULTIW   0x00000400
 
#define SFS_O_NOTPC   0x00000800
 
#define SFS_O_DIRLIST   0x00010000
 
#define SFS_O_POSC   0x00100000
 
#define SFS_O_FORCE   0x00200000
 
#define SFS_O_HNAME   0x00400000
 
#define SFS_O_LOCAL   0x00800000
 
#define SFS_O_NOWAIT   0x01000000
 
#define SFS_O_RAWIO   0x02000000
 
#define SFS_O_RESET   0x04000000
 
#define SFS_O_REPLICA   0x08000000
 
#define SFS_O_MKPTH   0x00004000
 
#define SFS_O_LOCATE   0x10000000
 
#define SFS_O_STAT   0x20000000
 
#define SFS_O_META   0x40000000
 
#define SFS_FCTL_GETFD   1
 
#define SFS_FCTL_STATV   2
 
#define SFS_FCTL_SPEC1   3
 
#define SFS_SFIO_FDVAL   0x80000000
 
#define SFS_FSCTL_CMD   255
 
#define SFS_FSCTL_LOCATE   1
 
#define SFS_FSCTL_STATFS   2
 
#define SFS_FSCTL_STATLS   3
 
#define SFS_FSCTL_STATXA   4
 
#define SFS_FSCTL_STATCC   5
 
#define SFS_FSCTL_PLUGIN   8
 
#define SFS_FSCTL_PLUGIO   16
 
#define SFS_FSCTL_PLUGXC   32
 
#define SFS_STALL   1
 
#define SFS_OK   0
 
#define SFS_ERROR   -1
 
#define SFS_REDIRECT   -256
 
#define SFS_STARTED   -512
 
#define SFS_DATA   -1024
 
#define SFS_DATAVEC   -2048
 
#define SFS_LCLPRFX   "/=/"
 
#define SFS_LCLPLEN   3
 
#define SFS_LCLPATH(x)   !strncmp(x, SFS_LCLPRFX, SFS_LCLPLEN)
 
#define SFS_LCLPRFY   "/="
 
#define SFS_LCLROOT(x)
 
#define Prep_PRTY0   0
 
#define Prep_PRTY1   1
 
#define Prep_PRTY2   2
 
#define Prep_PRTY3   3
 
#define Prep_PMASK   3
 
#define Prep_SENDAOK   4
 
#define Prep_SENDERR   8
 
#define Prep_SENDACK   12
 
#define Prep_WMODE   16
 
#define Prep_STAGE   32
 
#define Prep_COLOC   64
 
#define Prep_FRESH   128
 
#define Prep_CANCEL   256
 
#define Prep_QUERY   512
 
#define Prep_EVICT   1024
 

Typedefs

typedef long long XrdSfsFileOffset
 
typedef int XrdSfsFileOpenMode
 
typedef int XrdSfsMode
 
typedef int XrdSfsXferSize
 
typedef XrdSfsFileSystem *(* XrdSfsFileSystem2_t) (XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn, XrdOucEnv *envP)
 
typedef XrdSfsFileSystem *(* XrdSfsFileSystem_t) (XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn)
 

Enumerations

enum  XrdSfsFileExistence {
  XrdSfsFileExistNo , XrdSfsFileExistIsFile , XrdSfsFileExistIsDirectory , XrdSfsFileExistIsOffline ,
  XrdSfsFileExistIsOther
}
 

Macro Definition Documentation

◆ Prep_CANCEL

#define Prep_CANCEL   256

◆ Prep_COLOC

#define Prep_COLOC   64

◆ Prep_EVICT

#define Prep_EVICT   1024

◆ Prep_FRESH

#define Prep_FRESH   128

◆ Prep_PMASK

#define Prep_PMASK   3

◆ Prep_PRTY0

#define Prep_PRTY0   0

◆ Prep_PRTY1

#define Prep_PRTY1   1

◆ Prep_PRTY2

#define Prep_PRTY2   2

◆ Prep_PRTY3

#define Prep_PRTY3   3

◆ Prep_QUERY

#define Prep_QUERY   512

◆ Prep_SENDACK

#define Prep_SENDACK   12

◆ Prep_SENDAOK

#define Prep_SENDAOK   4

◆ Prep_SENDERR

#define Prep_SENDERR   8

◆ Prep_STAGE

#define Prep_STAGE   32

◆ Prep_WMODE

#define Prep_WMODE   16

◆ SFS_DATA

#define SFS_DATA   -1024

◆ SFS_DATAVEC

#define SFS_DATAVEC   -2048

◆ SFS_ERROR

#define SFS_ERROR   -1

◆ SFS_FCTL_GETFD

#define SFS_FCTL_GETFD   1

◆ SFS_FCTL_SPEC1

#define SFS_FCTL_SPEC1   3

◆ SFS_FCTL_STATV

#define SFS_FCTL_STATV   2

◆ SFS_FSCTL_CMD

#define SFS_FSCTL_CMD   255

◆ SFS_FSCTL_LOCATE

#define SFS_FSCTL_LOCATE   1

◆ SFS_FSCTL_PLUGIN

#define SFS_FSCTL_PLUGIN   8

◆ SFS_FSCTL_PLUGIO

#define SFS_FSCTL_PLUGIO   16

◆ SFS_FSCTL_PLUGXC

#define SFS_FSCTL_PLUGXC   32

◆ SFS_FSCTL_STATCC

#define SFS_FSCTL_STATCC   5

◆ SFS_FSCTL_STATFS

#define SFS_FSCTL_STATFS   2

◆ SFS_FSCTL_STATLS

#define SFS_FSCTL_STATLS   3

◆ SFS_FSCTL_STATXA

#define SFS_FSCTL_STATXA   4

◆ SFS_LCLPATH

#define SFS_LCLPATH (   x)    !strncmp(x, SFS_LCLPRFX, SFS_LCLPLEN)

◆ SFS_LCLPLEN

#define SFS_LCLPLEN   3

◆ SFS_LCLPRFX

#define SFS_LCLPRFX   "/=/"

◆ SFS_LCLPRFY

#define SFS_LCLPRFY   "/="

◆ SFS_LCLROOT

#define SFS_LCLROOT (   x)
Value:
!strncmp(x, SFS_LCLPRFX, SFS_LCLPLEN-1) \
&& (*(x+SFS_LCLPLEN-1) == '/' || *(x+SFS_LCLPLEN-1) == 0)
#define SFS_LCLPRFX
Definition XrdSfsInterface.hh:116
#define SFS_LCLPLEN
Definition XrdSfsInterface.hh:117

◆ SFS_O_CREAT

#define SFS_O_CREAT   0x00000100

◆ SFS_O_DIRLIST

#define SFS_O_DIRLIST   0x00010000

◆ SFS_O_FORCE

#define SFS_O_FORCE   0x00200000

◆ SFS_O_HNAME

#define SFS_O_HNAME   0x00400000

◆ SFS_O_LOCAL

#define SFS_O_LOCAL   0x00800000

◆ SFS_O_LOCATE

#define SFS_O_LOCATE   0x10000000

◆ SFS_O_META

#define SFS_O_META   0x40000000

◆ SFS_O_MKPTH

#define SFS_O_MKPTH   0x00004000

◆ SFS_O_MULTIW

#define SFS_O_MULTIW   0x00000400

◆ SFS_O_NOTPC

#define SFS_O_NOTPC   0x00000800

◆ SFS_O_NOWAIT

#define SFS_O_NOWAIT   0x01000000

◆ SFS_O_POSC

#define SFS_O_POSC   0x00100000

◆ SFS_O_RAWIO

#define SFS_O_RAWIO   0x02000000

◆ SFS_O_RDONLY

#define SFS_O_RDONLY   0

◆ SFS_O_RDWR

#define SFS_O_RDWR   2

◆ SFS_O_REPLICA

#define SFS_O_REPLICA   0x08000000

◆ SFS_O_RESET

#define SFS_O_RESET   0x04000000

◆ SFS_O_STAT

#define SFS_O_STAT   0x20000000

◆ SFS_O_TRUNC

#define SFS_O_TRUNC   0x00000200

◆ SFS_O_WRONLY

#define SFS_O_WRONLY   1

◆ SFS_OK

#define SFS_OK   0

◆ SFS_REDIRECT

#define SFS_REDIRECT   -256

◆ SFS_SFIO_FDVAL

#define SFS_SFIO_FDVAL   0x80000000

◆ SFS_STALL

#define SFS_STALL   1

◆ SFS_STARTED

#define SFS_STARTED   -512

Typedef Documentation

◆ XrdSfsFileOffset

typedef long long XrdSfsFileOffset

◆ XrdSfsFileOpenMode

typedef int XrdSfsFileOpenMode

◆ XrdSfsFileSystem2_t

typedef XrdSfsFileSystem *(* XrdSfsFileSystem2_t) (XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn, XrdOucEnv *envP)

When building a shared library plugin, the following "C" entry point must exist in the library:

Parameters
nativeFS- the filesystem that would have been used. You may return this pointer if you wish.
Logger- The message logging object to be used for messages.
configFn- pointer to the path of the configuration file. If nil there is no configuration file.
envP- Pointer to the environment containing implementation specific information.
Returns
Pointer to the file system object to be used or nil if an error occurred.

extern "C" {XrdSfsFileSystem *XrdSfsGetFileSystem2(XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn, XrdOucEnv *envP); }

◆ XrdSfsFileSystem_t

typedef XrdSfsFileSystem *(* XrdSfsFileSystem_t) (XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn)

The old-style entry-point is still supported as a fallback. Should the version '2' entry point is not found, the system attempts to use the version '1' entry point.

extern "C" {XrdSfsFileSystem *XrdSfsGetFileSystem(XrdSfsFileSystem *nativeFS, XrdSysLogger *Logger, const char *configFn); }

◆ XrdSfsMode

typedef int XrdSfsMode

◆ XrdSfsXferSize

typedef int XrdSfsXferSize

Enumeration Type Documentation

◆ XrdSfsFileExistence

Enumerator
XrdSfsFileExistNo 
XrdSfsFileExistIsFile 
XrdSfsFileExistIsDirectory 
XrdSfsFileExistIsOffline 
XrdSfsFileExistIsOther