xrootd
Loading...
Searching...
No Matches
Public Member Functions | List of all members
XrdOucName2Name Class Referenceabstract

#include <XrdOucName2Name.hh>

Public Member Functions

virtual int lfn2pfn (const char *lfn, char *buff, int blen)=0
 
virtual int lfn2rfn (const char *lfn, char *buff, int blen)=0
 
virtual int pfn2lfn (const char *pfn, char *buff, int blen)=0
 
 XrdOucName2Name ()
 Constructor.
 
virtual ~XrdOucName2Name ()
 Destructor.
 

Detailed Description

Class XrdoucName2Name must be used for creating a name translation plug-in. This plug-in is specified by the 'oss.namelib' directive and when present makes the default oss plug-in load the plug-in shared library, locate the XrdOucgetName2Name function within and use it to obtain an instance of the XrdOucName2Name object to perform name translation prior to all subsequent storage system calls. The companion object, XrdOucName2NameVec, should also be defined in the same shared library (see the class definition below).

Constructor & Destructor Documentation

◆ XrdOucName2Name()

XrdOucName2Name::XrdOucName2Name ( )
inline

Constructor.

◆ ~XrdOucName2Name()

virtual XrdOucName2Name::~XrdOucName2Name ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ lfn2pfn()

virtual int XrdOucName2Name::lfn2pfn ( const char *  lfn,
char *  buff,
int  blen 
)
pure virtual

Map a logical file name to a physical file name.

Parameters
lfn-> Logical file name.
buff-> Buffer where the physical file name of an existing file is to be placed. It must end with a null byte.
blenThe length of the buffer.
Returns
Success: Zero. Failure: An errno number describing the failure; typically EINVAL - The supplied lfn is invalid. ENAMETOOLONG - The buffer is too small for the pfn.

◆ lfn2rfn()

virtual int XrdOucName2Name::lfn2rfn ( const char *  lfn,
char *  buff,
int  blen 
)
pure virtual

Map a logical file name to the name the file would have in a remote storage system (e.g. Mass Storage System at a remote location).

Parameters
lfn-> Logical file name.
buff-> Buffer where the remote file name is to be placed. It need not actually exist in that location but could be created there with that name. It must end with a null byte.
blenThe length of the buffer.
Returns
Success: Zero. Failure: An errno number describing the failure; typically EINVAL - The supplied lfn is invalid. ENAMETOOLONG - The buffer is too small for the pfn.

◆ pfn2lfn()

virtual int XrdOucName2Name::pfn2lfn ( const char *  pfn,
char *  buff,
int  blen 
)
pure virtual

Map a physical file name to it's logical file name.

Parameters
pfn-> Physical file name. This is always a valid name of either an existing file or a file that could been created.
buff-> Buffer where the logical file name is to be placed. It need not actually exist but could be created with that name. It must end with a null byte.
blenThe length of the buffer.
Returns
Success: Zero. Failure: An errno number describing the failure; typically EINVAL - The supplied lfn is invalid. ENAMETOOLONG - The buffer is too small for the pfn.

The documentation for this class was generated from the following file: