XRootD
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  XrdOss
 
class  XrdOssDF
 

Macros

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

Typedefs

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

Macro Definition Documentation

◆ XRDOSS_FSCTLFA

#define XRDOSS_FSCTLFA   0x0001

Definition at line 492 of file XrdOss.hh.

◆ XRDOSS_HASCACH

#define XRDOSS_HASCACH   0x0000000000000010ULL

Definition at line 479 of file XrdOss.hh.

◆ XRDOSS_HASFSCS

#define XRDOSS_HASFSCS   0x0000000000000002ULL

Definition at line 476 of file XrdOss.hh.

◆ XRDOSS_HASNAIO

#define XRDOSS_HASNAIO   0x0000000000000020ULL

Definition at line 480 of file XrdOss.hh.

◆ XRDOSS_HASNOSF

#define XRDOSS_HASNOSF   0x0000000000000008ULL

Definition at line 478 of file XrdOss.hh.

◆ XRDOSS_HASPGRW

#define XRDOSS_HASPGRW   0x0000000000000001ULL

Definition at line 475 of file XrdOss.hh.

◆ XRDOSS_HASPRXY

#define XRDOSS_HASPRXY   0x0000000000000004ULL

Definition at line 477 of file XrdOss.hh.

◆ XRDOSS_HASRPXY

#define XRDOSS_HASRPXY   0x0000000000000040ULL

Definition at line 481 of file XrdOss.hh.

◆ XRDOSS_HASXERT

#define XRDOSS_HASXERT   0x0000000000000080ULL

Definition at line 482 of file XrdOss.hh.

◆ XRDOSS_isMIG

#define XRDOSS_isMIG   0x20

Definition at line 470 of file XrdOss.hh.

◆ XRDOSS_isPFN

#define XRDOSS_isPFN   0x10

Definition at line 469 of file XrdOss.hh.

◆ XRDOSS_mkpath

#define XRDOSS_mkpath   0x01

Definition at line 466 of file XrdOss.hh.

◆ XRDOSS_new

#define XRDOSS_new   0x02

Definition at line 467 of file XrdOss.hh.

◆ XRDOSS_Online

#define XRDOSS_Online   0x04

Definition at line 468 of file XrdOss.hh.

◆ XRDOSS_preop

#define XRDOSS_preop   0x0004

Definition at line 488 of file XrdOss.hh.

◆ XRDOSS_resonly

#define XRDOSS_resonly   0x0001

Definition at line 486 of file XrdOss.hh.

◆ XRDOSS_setnoxa

#define XRDOSS_setnoxa   0x40

Definition at line 471 of file XrdOss.hh.

◆ XRDOSS_updtatm

#define XRDOSS_updtatm   0x0002

Definition at line 487 of file XrdOss.hh.

◆ XrdOssOK

#define XrdOssOK   0

Definition at line 50 of file XrdOss.hh.

Typedef Documentation

◆ XrdOssAddStorageSystem2_t

◆ XrdOssGetStorageSystem2_t

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

Definition at line 939 of file XrdOss.hh.

◆ 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:

Definition at line 934 of file XrdOss.hh.