25 #ifndef __XRD_CL_FILE_SYSTEM_HH__
26 #define __XRD_CL_FILE_SYSTEM_HH__
41 class FileSystemPlugIn;
42 struct MessageSendParams;
196 struct FileSystemImpl;
203 friend class AssignLBHandler;
215 FileSystem(
const URL &url,
bool enablePlugIns =
true );
237 uint16_t timeout = 0 )
253 uint16_t timeout = 0 )
271 uint16_t timeout = 0 )
272 XRD_WARN_UNUSED_RESULT;
287 uint16_t timeout = 0 )
288 XRD_WARN_UNUSED_RESULT;
301 const std::
string &dest,
303 uint16_t timeout = 0 )
304 XRD_WARN_UNUSED_RESULT;
316 const std::
string &dest,
317 uint16_t timeout = 0 )
318 XRD_WARN_UNUSED_RESULT;
335 uint16_t timeout = 0 )
336 XRD_WARN_UNUSED_RESULT;
351 uint16_t timeout = 0 )
352 XRD_WARN_UNUSED_RESULT;
367 uint16_t timeout = 0 )
368 XRD_WARN_UNUSED_RESULT;
381 uint16_t timeout = 0 )
382 XRD_WARN_UNUSED_RESULT;
395 uint16_t timeout = 0 )
396 XRD_WARN_UNUSED_RESULT;
407 uint16_t timeout = 0 )
408 XRD_WARN_UNUSED_RESULT;
425 uint16_t timeout = 0 )
426 XRD_WARN_UNUSED_RESULT;
441 uint16_t timeout = 0 )
442 XRD_WARN_UNUSED_RESULT;
455 uint16_t timeout = 0 )
456 XRD_WARN_UNUSED_RESULT;
467 uint16_t timeout = 0 )
468 XRD_WARN_UNUSED_RESULT;
483 uint16_t timeout = 0 )
484 XRD_WARN_UNUSED_RESULT;
497 uint16_t timeout = 0 )
498 XRD_WARN_UNUSED_RESULT;
509 uint16_t timeout = 0 )
510 XRD_WARN_UNUSED_RESULT;
534 uint16_t timeout = 0 )
535 XRD_WARN_UNUSED_RESULT;
549 uint16_t timeout = 0 )
550 XRD_WARN_UNUSED_RESULT;
565 uint16_t timeout = 0 )
566 XRD_WARN_UNUSED_RESULT;
579 uint16_t timeout = 0 )
580 XRD_WARN_UNUSED_RESULT;
593 uint16_t timeout = 0 )
594 XRD_WARN_UNUSED_RESULT;
605 uint16_t timeout = 0 )
606 XRD_WARN_UNUSED_RESULT;
623 uint16_t timeout = 0 )
624 XRD_WARN_UNUSED_RESULT;
639 uint16_t timeout = 0 )
640 XRD_WARN_UNUSED_RESULT;
655 uint16_t timeout = 0 )
656 XRD_WARN_UNUSED_RESULT;
669 uint16_t timeout = 0 )
670 XRD_WARN_UNUSED_RESULT;
689 uint16_t timeout = 0 )
690 XRD_WARN_UNUSED_RESULT;
707 uint16_t timeout = 0 )
708 XRD_WARN_UNUSED_RESULT;
723 const std::vector<
xattr_t> &attrs,
725 uint16_t timeout = 0 );
738 const std::vector<
xattr_t> &attrs,
740 uint16_t timeout = 0 );
755 const std::vector<std::
string> &attrs,
757 uint16_t timeout = 0 );
770 const std::vector<std::
string> &attrs,
771 std::vector<
XAttr> &result,
772 uint16_t timeout = 0 );
787 const std::vector<std::
string> &attrs,
789 uint16_t timeout = 0 );
802 const std::vector<std::
string> &attrs,
804 uint16_t timeout = 0 );
819 uint16_t timeout = 0 );
831 std::vector<
XAttr> &result,
832 uint16_t timeout = 0 );
840 bool SetProperty( const std::
string &name, const std::
string &value );
847 bool GetProperty( const std::
string &name, std::
string &value ) const;
850 FileSystem(const FileSystem &other);
851 FileSystem &operator = (const FileSystem &other);
875 const std::
string &path,
876 const std::vector<T> &attrs,
878 uint16_t timeout = 0 );
880 FileSystemImpl *pImpl;
885 #endif // __XRD_CL_FILE_SYSTEM_HH__
unsigned char kXR_char
Definition: XPtypes.hh:65
Definition: XProtocol.hh:420
Definition: XrdClForkHandler.hh:35
Definition: XrdClFileSystem.hh:107
Definition: XProtocol.hh:571
Protocol operation (.
Definition: XrdClFileSystemOperations.hh:779
GetXAttrImpl< false > GetXAttr(File *file, Arg< std::string > name)
Definition: XrdClFileOperations.hh:1055
Definition: XProtocol.hh:543
Implementation dependent.
Definition: XrdClFileSystem.hh:58
Definition: XProtocol.hh:541
Definition: XProtocol.hh:417
Definition: XProtocol.hh:407
Extended attribute operation status.
Definition: XrdClXRootDResponses.hh:290
Definition: XProtocol.hh:405
Directory list.
Definition: XrdClXRootDResponses.hh:630
Definition: XProtocol.hh:416
Object stat info.
Definition: XrdClXRootDResponses.hh:395
Definition: XrdClFileSystem.hh:78
Definition: XProtocol.hh:572
Prepare flags.
Definition: XrdClFileSystem.hh:172
Extended attributes with status.
Definition: XrdClXRootDResponses.hh:308
Definition: XProtocol.hh:406
Query file checksum.
Definition: XrdClFileSystem.hh:56
Definition: XProtocol.hh:573
Path location info.
Definition: XrdClXRootDResponses.hh:39
LocateImpl< false > Locate
Definition: XrdClFileSystemOperations.hh:154
Definition: XProtocol.hh:542
Visa operation (.
Definition: XrdClFileOperations.hh:801
Definition: XrdClFileSystem.hh:84
Definition: XProtocol.hh:566
Access mode.
Definition: XrdClFileSystem.hh:116
Read operation (.
Definition: XrdClFileOperations.hh:245
Definition: XProtocol.hh:403
Flags
Definition: XrdClFileSystem.hh:174
MkDir operation (.
Definition: XrdClFileSystemOperations.hh:451
Implementation dependent.
Definition: XrdClFileSystem.hh:57
Prepare operation (.
Definition: XrdClFileSystemOperations.hh:930
Procedure execution status.
Definition: XrdClStatus.hh:110
#define XRD_WARN_UNUSED_RESULT
Definition: XrdOucCompiler.hh:31
std::vector< LocationInfo > LocationList
Location list.
Definition: XrdClFileSystem.hh:207
Ping operation (.
Definition: XrdClFileSystemOperations.hh:621
Definition: XrdClFileSystem.hh:100
Query file checksum cancellation.
Definition: XrdClFileSystem.hh:55
Definition: XProtocol.hh:427
DirList flags.
Definition: XrdClFileSystem.hh:153
Open flags, may be or'd when appropriate.
Definition: XrdClFileSystem.hh:70
Protocol response.
Definition: XrdClXRootDResponses.hh:337
Query operation (.
Definition: XrdClFileSystemOperations.hh:274
Definition: XProtocol.hh:402
Definition: XrdClFileSystem.hh:82
Definition: XProtocol.hh:404
Flags
Definition: XrdClFileSystem.hh:142
Definition: XrdClFileSystem.hh:98
Definition: XProtocol.hh:574
File will be read or written sequentially.
Definition: XrdClFileSystem.hh:104
MkDir flags.
Definition: XrdClFileSystem.hh:140
Open for reading and writing.
Definition: XrdClFileSystem.hh:96
Definition: XProtocol.hh:428
none object for initializing empty Optional
Definition: XrdClOptional.hh:35
Definition: XProtocol.hh:424
StatImpl< false > Stat(File *file, Arg< bool > force)
Definition: XrdClFileOperations.hh:393
Definition: XProtocol.hh:400
RmDir operation (.
Definition: XrdClFileSystemOperations.hh:509
XRootD query request codes.
Definition: XrdClFileSystem.hh:47
Request status.
Definition: XrdClXRootDResponses.hh:214
StatVS operation (.
Definition: XrdClFileSystemOperations.hh:723
Definition: XrdClFileSystem.hh:105
Definition: XProtocol.hh:575
Definition: XProtocol.hh:570
VFS stat info.
Definition: XrdClXRootDResponses.hh:553
ChMod operation (.
Definition: XrdClFileSystemOperations.hh:564
Definition: XProtocol.hh:415
Definition: XProtocol.hh:401
Definition: XProtocol.hh:408
Definition: XrdClFileSystem.hh:102
Definition: XProtocol.hh:413
Handle an async response.
Definition: XrdClXRootDResponses.hh:974
Definition: XProtocol.hh:567
Mv operation (.
Definition: XrdClFileSystemOperations.hh:217
Code
XRootD query request codes.
Definition: XrdClFileSystem.hh:52
URL representation.
Definition: XrdClURL.hh:30
Rm operation (.
Definition: XrdClFileSystemOperations.hh:397
Definition: XProtocol.hh:538
Definition: XProtocol.hh:412
Flags
Definition: XrdClFileSystem.hh:155
Definition: XProtocol.hh:544
Definition: XProtocol.hh:425
Query server stats.
Definition: XrdClFileSystem.hh:61
#define XRDOUC_ENUM_OPERATORS(T)
Definition: XrdOucEnum.hh:22
Mode
Access mode.
Definition: XrdClFileSystem.hh:121
Definition: XrdClFileSystem.hh:86
Definition: XProtocol.hh:547
ListXAttrImpl< false > ListXAttr(File *file)
Definition: XrdClFileOperations.hh:1338
SendInfo operation (.
Definition: XrdClFileSystemOperations.hh:874
Send file/filesystem queries to an XRootD cluster.
Definition: XrdClFileSystem.hh:201
DelXAttrImpl< false > DelXAttr(File *file, Arg< std::string > name)
Definition: XrdClFileOperations.hh:1208
Definition: XProtocol.hh:426
Definition: XProtocol.hh:419
Definition: XProtocol.hh:569
SetXAttrImpl< false > SetXAttr(File *file, Arg< std::string > name, Arg< std::string > value)
Definition: XrdClFileOperations.hh:901
Query logical space stats.
Definition: XrdClFileSystem.hh:60
Definition: XrdClFileSystem.hh:80
Definition: XProtocol.hh:429
Definition: XProtocol.hh:421
Query server configuration.
Definition: XrdClFileSystem.hh:54
Flags
Open flags, may be or'd when appropriate.
Definition: XrdClFileSystem.hh:75
std::tuple< std::string, std::string > xattr_t
Extended attribute key - value pair.
Definition: XrdClXRootDResponses.hh:285
TruncateImpl< false > Truncate(File *file, Arg< uint64_t > size)
Definition: XrdClFileOperations.hh:559
Locate operation (.
Definition: XrdClFileSystemOperations.hh:103
Write operation (.
Definition: XrdClFileOperations.hh:411
Definition: XProtocol.hh:568
Definition: XProtocol.hh:414
An interface for file plug-ins.
Definition: XrdClPlugInInterface.hh:283
Definition: XrdClFileSystem.hh:88
Binary blob representation.
Definition: XrdClBuffer.hh:33
DirList operation (.
Definition: XrdClFileSystemOperations.hh:817
DeepLocate operation (.
Definition: XrdClFileSystemOperations.hh:160