xrootd
Loading...
Searching...
No Matches
Classes | Macros | Typedefs
XrdOss.hh File Reference
#include <dirent.h>
#include <cerrno>
#include <cstdint>
#include <strings.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <cstring>
#include "XrdOss/XrdOssVS.hh"
#include "XrdOuc/XrdOucIOVec.hh"
Include dependency graph for XrdOss.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  XrdOssDF
 
class  XrdOss
 

Macros

#define XrdOssOK   0
 
#define XRDOSS_mkpath   0x01
 
#define XRDOSS_new   0x02
 
#define XRDOSS_Online   0x04
 
#define XRDOSS_isPFN   0x10
 
#define XRDOSS_isMIG   0x20
 
#define XRDOSS_setnoxa   0x40
 
#define XRDOSS_HASPGRW   0x0000000000000001ULL
 
#define XRDOSS_HASFSCS   0x0000000000000002ULL
 
#define XRDOSS_HASPRXY   0x0000000000000004ULL
 
#define XRDOSS_HASNOSF   0x0000000000000008ULL
 
#define XRDOSS_HASCACH   0x0000000000000010ULL
 
#define XRDOSS_HASNAIO   0x0000000000000020ULL
 
#define XRDOSS_HASRPXY   0x0000000000000040ULL
 
#define XRDOSS_resonly   0x0001
 
#define XRDOSS_updtatm   0x0002
 
#define XRDOSS_preop   0x0004
 
#define XRDOSS_FSCTLFA   0x0001
 

Typedefs

typedef XrdOss *(* XrdOssGetStorageSystem_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms)
 The typedef that describes the XRdOssStatInfoInit external.
 
typedef XrdOss *(* XrdOssGetStorageSystem2_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)
 
typedef XrdOssGetStorageSystem2_t XrdOssAddStorageSystem2_t
 

Macro Definition Documentation

◆ XRDOSS_FSCTLFA

#define XRDOSS_FSCTLFA   0x0001

◆ XRDOSS_HASCACH

#define XRDOSS_HASCACH   0x0000000000000010ULL

◆ XRDOSS_HASFSCS

#define XRDOSS_HASFSCS   0x0000000000000002ULL

◆ XRDOSS_HASNAIO

#define XRDOSS_HASNAIO   0x0000000000000020ULL

◆ XRDOSS_HASNOSF

#define XRDOSS_HASNOSF   0x0000000000000008ULL

◆ XRDOSS_HASPGRW

#define XRDOSS_HASPGRW   0x0000000000000001ULL

◆ XRDOSS_HASPRXY

#define XRDOSS_HASPRXY   0x0000000000000004ULL

◆ XRDOSS_HASRPXY

#define XRDOSS_HASRPXY   0x0000000000000040ULL

◆ XRDOSS_isMIG

#define XRDOSS_isMIG   0x20

◆ XRDOSS_isPFN

#define XRDOSS_isPFN   0x10

◆ XRDOSS_mkpath

#define XRDOSS_mkpath   0x01

◆ XRDOSS_new

#define XRDOSS_new   0x02

◆ XRDOSS_Online

#define XRDOSS_Online   0x04

◆ XRDOSS_preop

#define XRDOSS_preop   0x0004

◆ XRDOSS_resonly

#define XRDOSS_resonly   0x0001

◆ XRDOSS_setnoxa

#define XRDOSS_setnoxa   0x40

◆ XRDOSS_updtatm

#define XRDOSS_updtatm   0x0002

◆ XrdOssOK

#define XrdOssOK   0

Typedef Documentation

◆ XrdOssAddStorageSystem2_t

◆ XrdOssGetStorageSystem2_t

typedef XrdOss *(* XrdOssGetStorageSystem2_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms, XrdOucEnv *envP)

◆ XrdOssGetStorageSystem_t

typedef XrdOss *(* XrdOssGetStorageSystem_t) (XrdOss *native_oss, XrdSysLogger *Logger, const char *config_fn, const char *parms)

The typedef that describes the XRdOssStatInfoInit external.

Get an instance of a configured XrdOss object.

Parameters
native_oss-> object that would have been used as the storage system. The object is not initialized (i.e., Init() has not yet been called). This allows one to easily wrap the native implementation or to completely replace it, as needed.
Logger-> The message routing object to be used in conjunction with an XrdSysError object for error messages.
config_fn-> The name of the config file.
parms-> Any parameters specified after the path on the ofs.osslib directive. If there are no parameters, the pointer may be zero.
envP-> Version2 Only pointer to environmental info. This pointer may be nil if no such information exists.
Returns
Success: -> an instance of the XrdOss object to be used as the underlying storage system. Failure: Null pointer which causes initialization to fail.

The object creation function must be declared as an extern "C" function in the plug-in shared library as follows: