XRootD
XProtocol.hh File Reference
#include "XProtocol/XPtypes.hh"
#include <cerrno>
+ Include dependency graph for XProtocol.hh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ALIGN_CHECK
 
struct  ClientAuthRequest
 
struct  ClientBindRequest
 
struct  ClientChkPointRequest
 
struct  ClientChmodRequest
 
struct  ClientCloneRequest
 
struct  ClientCloseRequest
 
struct  ClientDirlistRequest
 
struct  ClientEndsessRequest
 
struct  ClientFattrRequest
 
struct  ClientGPfileRequest
 
struct  ClientInitHandShake
 
struct  ClientLocateRequest
 
struct  ClientLoginRequest
 
struct  ClientMkdirRequest
 
struct  ClientMvRequest
 
struct  ClientOpenRequest
 
struct  ClientPgReadReqArgs
 
struct  ClientPgReadRequest
 
struct  ClientPgWriteRequest
 
struct  ClientPingRequest
 
struct  ClientPrepareRequest
 
struct  ClientProtocolRequest
 
struct  ClientQueryRequest
 
struct  ClientReadRequest
 
struct  ClientReadVRequest
 
union  ClientRequest
 
struct  ClientRequestHdr
 
struct  ClientRmdirRequest
 
struct  ClientRmRequest
 
struct  ClientSetRequest
 
struct  ClientSigverRequest
 
struct  ClientStatRequest
 
struct  ClientSyncRequest
 
struct  ClientTruncateRequest
 
struct  ClientWriteRequest
 
struct  ClientWriteVRequest
 
struct  XrdProto::clone_list
 
struct  read_args
 
struct  XrdProto::read_list
 
struct  readahead_list
 
union  SecurityRequest
 
struct  ServerInitHandShake
 
struct  ServerResponse
 
union  ServerResponse.body
 
struct  ServerResponseBifs_Protocol
 
struct  ServerResponseBody_Attn
 
struct  XProtocol::ServerResponseBody_Attn_asyncdi
 
struct  ServerResponseBody_Attn_asyncms
 
struct  XProtocol::ServerResponseBody_Attn_asyncrd
 
struct  XProtocol::ServerResponseBody_Attn_asyncwt
 
struct  ServerResponseBody_Attn_asynresp
 
struct  ServerResponseBody_Authmore
 
struct  ServerResponseBody_Bind
 
struct  ServerResponseBody_Buffer
 
struct  ServerResponseBody_ChkPoint
 
struct  ServerResponseBody_Error
 
struct  ServerResponseBody_Open
 
struct  ServerResponseBody_pgRead
 
struct  ServerResponseBody_pgWrCSE
 
struct  ServerResponseBody_pgWrite
 
struct  ServerResponseBody_Protocol
 
struct  ServerResponseBody_Redirect
 
struct  ServerResponseBody_Status
 
struct  ServerResponseBody_Wait
 
struct  ServerResponseBody_Waitresp
 
struct  ServerResponseHeader
 
struct  ServerResponseReqs_Protocol
 
struct  ServerResponseStatus
 
struct  ServerResponseSVec_Protocol
 
struct  ServerResponseV2
 
union  ServerResponseV2.info
 
struct  XrdProto::write_list
 
class  XProtocol
 

Namespaces

 XrdProto
 

Macros

#define EAUTH   EBADE
 
#define EBADRQC   EBADRPC
 
#define ENOATTR   ENODATA
 
#define kXR_anongpf   0x00800000
 
#define kXR_attrCache   0x00000080
 
#define kXR_attrMeta   0x00000100
 
#define kXR_attrProxy   0x00000200
 
#define kXR_attrSuper   0x00000400
 
#define kXR_attrVirtRdr   0x00000800
 
#define kXR_collapseRedir   0x00002000
 
#define kXR_DataServer   1
 
#define kXR_ecRedir   0x00004000
 
#define kXR_gotoTLS   0x40000000
 
#define kXR_haveTLS   0x80000000
 
#define kXR_isManager   0x00000002
 
#define kXR_isServer   0x00000001
 
#define kXR_LBalServer   0
 
#define kXR_maxReqRetry   10
 
#define kXR_PROTCLONEVERSION   0x00000520
 
#define kXR_PROTOCOLVERSION   0x00000520
 
#define kXR_PROTOCOLVSTRING   "5.2.0"
 
#define kXR_PROTPGRWVERSION   0x00000511
 
#define kXR_PROTSIGNVERSION   0x00000310
 
#define kXR_PROTTLSVERSION   0x00000500
 
#define kXR_PROTXATTVERSION   0x00000500
 
#define kXR_recoverWrts   0x00001000
 
#define kXR_secCompatible   1
 
#define kXR_secIntense   3
 
#define kXR_secNone   0
 
#define kXR_secOData   0x01
 
#define kXR_secOFrce   0x02
 
#define kXR_secPedantic   4
 
#define kXR_secStandard   2
 
#define kXR_secver_0   0
 
#define kXR_ShortProtRespLen
 
#define kXR_signIgnore   0
 
#define kXR_signLikely   1
 
#define kXR_signNeeded   2
 
#define kXR_supgpf   0x00400000
 
#define kXR_suppgrw   0x00200000
 
#define kXR_supposc   0x00100000
 
#define kXR_tlsAny   0x1f000000
 
#define kXR_tlsData   0x01000000
 
#define kXR_tlsGPF   0x02000000
 
#define kXR_tlsGPFA   0x20000000
 
#define kXR_tlsLogin   0x04000000
 
#define kXR_tlsSess   0x08000000
 
#define kXR_tlsTPC   0x10000000
 

Typedefs

typedef struct ServerResponseBifs_Protocol XrdProto::bifReqs
 
typedef struct ServerResponseReqs_Protocol XrdProto::secReqs
 

Enumerations

enum  XrdProto::RespType {
  XrdProto::kXR_FinalResult = 0x00 ,
  XrdProto::kXR_PartialResult = 0x01 ,
  XrdProto::kXR_ProgressInfo = 0x02
}
 
enum  XActionCode {
  kXR_asyncab = 5000 ,
  kXR_asyncdi ,
  kXR_asyncms = 5002 ,
  kXR_asyncrd ,
  kXR_asyncwt ,
  kXR_asyncav ,
  kXR_asynunav ,
  kXR_asyncgo ,
  kXR_asynresp = 5008
}
 
enum  XDirlistRequestOption {
  kXR_online = 1 ,
  kXR_dstat = 2 ,
  kXR_dcksm = 4 ,
  kXR_dstatx = 8
}
 
enum  XErrorCode {
  kXR_ArgInvalid = 3000 ,
  kXR_ArgMissing ,
  kXR_ArgTooLong ,
  kXR_FileLocked ,
  kXR_FileNotOpen ,
  kXR_FSError ,
  kXR_InvalidRequest ,
  kXR_IOError ,
  kXR_NoMemory ,
  kXR_NoSpace ,
  kXR_NotAuthorized ,
  kXR_NotFound ,
  kXR_ServerError ,
  kXR_Unsupported ,
  kXR_noserver ,
  kXR_NotFile ,
  kXR_isDirectory ,
  kXR_Cancelled ,
  kXR_ItExists ,
  kXR_ChkSumErr ,
  kXR_inProgress ,
  kXR_overQuota ,
  kXR_SigVerErr ,
  kXR_DecryptErr ,
  kXR_Overloaded ,
  kXR_fsReadOnly ,
  kXR_BadPayload ,
  kXR_AttrNotFound ,
  kXR_TLSRequired ,
  kXR_noReplicas ,
  kXR_AuthFailed ,
  kXR_Impossible ,
  kXR_Conflict ,
  kXR_TooManyErrs ,
  kXR_ReqTimedOut ,
  kXR_TimerExpired ,
  kXR_ERRFENCE ,
  kXR_noErrorYet = 10000
}
 
enum  xfaLimits {
  kXR_faMaxVars = 16 ,
  kXR_faMaxNlen = 248 ,
  kXR_faMaxVlen = 65536
}
 
enum  xfaSubCode {
  kXR_fattrDel = 0 ,
  kXR_fattrGet = 1 ,
  kXR_fattrList = 2 ,
  kXR_fattrSet = 3 ,
  kXR_fatrrMaxSC = 3
}
 
enum  XLoginAbility {
  kXR_nothing = 0 ,
  kXR_fullurl = 1 ,
  kXR_multipr = 3 ,
  kXR_readrdok = 4 ,
  kXR_hasipv64 = 8 ,
  kXR_onlyprv4 = 16 ,
  kXR_onlyprv6 = 32 ,
  kXR_lclfile = 64 ,
  kXR_redirflags = 128
}
 
enum  XLoginAbility2 {
  kXR_empty = 0 ,
  kXR_ecredir = 1
}
 
enum  XLoginCapVer {
  kXR_lcvnone = 0 ,
  kXR_vermask = 63 ,
  kXR_asyncap = 128
}
 
enum  XLoginVersion {
  kXR_ver000 = 0 ,
  kXR_ver001 = 1 ,
  kXR_ver002 = 2 ,
  kXR_ver003 = 3 ,
  kXR_ver004 = 4 ,
  kXR_ver005 = 5
}
 
enum  XMkdirOptions {
  kXR_mknone = 0 ,
  kXR_mkdirpath = 1
}
 
enum  XOpenRequestMode {
  kXR_ur = 0x100 ,
  kXR_uw = 0x080 ,
  kXR_ux = 0x040 ,
  kXR_gr = 0x020 ,
  kXR_gw = 0x010 ,
  kXR_gx = 0x008 ,
  kXR_or = 0x004 ,
  kXR_ow = 0x002 ,
  kXR_ox = 0x001
}
 
enum  XOpenRequestOption {
  kXR_compress = 0x0001 ,
  kXR_delete = 0x0002 ,
  kXR_force = 0x0004 ,
  kXR_new = 0x0008 ,
  kXR_open_read = 0x0010 ,
  kXR_open_updt = 0x0020 ,
  kXR_async = 0x0040 ,
  kXR_refresh = 0x0080 ,
  kXR_mkpath = 0x0100 ,
  kXR_prefname = 0x0100 ,
  kXR_open_apnd = 0x0200 ,
  kXR_retstat = 0x0400 ,
  kXR_4dirlist = 0x0400 ,
  kXR_replica = 0x0800 ,
  kXR_posc = 0x1000 ,
  kXR_nowait = 0x2000 ,
  kXR_seqio = 0x4000 ,
  kXR_open_wrto = 0x8000
}
 
enum  XOpenRequestOption2 {
  kXR_dup = 0x0001 ,
  kXR_samefs = 0x0002 ,
  kXR_retstatx = 0x0004 ,
  kXR_directio = 0x0008
}
 
enum  XPrepRequestOption {
  kXR_cancel = 1 ,
  kXR_notify = 2 ,
  kXR_noerrs = 4 ,
  kXR_stage = 8 ,
  kXR_wmode = 16 ,
  kXR_coloc = 32 ,
  kXR_fresh = 64 ,
  kXR_usetcp = 128 ,
  kXR_evict = 0x0001
}
 
enum  XQueryType {
  kXR_QStats = 1 ,
  kXR_QPrep = 2 ,
  kXR_Qcksum = 3 ,
  kXR_Qxattr = 4 ,
  kXR_Qspace = 5 ,
  kXR_Qckscan = 6 ,
  kXR_Qconfig = 7 ,
  kXR_Qvisa = 8 ,
  kXR_QFinfo = 9 ,
  kXR_QFSinfo =10 ,
  kXR_Qopaque =16 ,
  kXR_Qopaquf =32 ,
  kXR_Qopaqug =64
}
 
enum  XRequestTypes {
  kXR_1stRequest = 3000 ,
  kXR_auth = 3000 ,
  kXR_query ,
  kXR_chmod ,
  kXR_close ,
  kXR_dirlist ,
  kXR_gpfile ,
  kXR_protocol ,
  kXR_login ,
  kXR_mkdir ,
  kXR_mv ,
  kXR_open ,
  kXR_ping ,
  kXR_chkpoint ,
  kXR_read ,
  kXR_rm ,
  kXR_rmdir ,
  kXR_sync ,
  kXR_stat ,
  kXR_set ,
  kXR_write ,
  kXR_fattr ,
  kXR_prepare ,
  kXR_statx ,
  kXR_endsess ,
  kXR_bind ,
  kXR_readv ,
  kXR_pgwrite ,
  kXR_locate ,
  kXR_truncate ,
  kXR_sigver ,
  kXR_pgread ,
  kXR_writev ,
  kXR_clone ,
  kXR_REQFENCE
}
 
enum  XResponseType {
  kXR_ok = 0 ,
  kXR_oksofar = 4000 ,
  kXR_attn ,
  kXR_authmore ,
  kXR_error ,
  kXR_redirect ,
  kXR_wait ,
  kXR_waitresp ,
  kXR_status ,
  kXR_noResponsesYet = 10000
}
 
enum  XSecCrypto {
  kXR_SHA256 = 0x01 ,
  kXR_HashMask = 0x0f ,
  kXR_rsaKey = 0x80
}
 
enum  XSecFlags { kXR_nodata = 1 }
 
enum  XSecVersion { kXR_Ver_00 = 0 }
 
enum  XStatRequestOption { kXR_vfs = 1 }
 
enum  XStatRequestWants { kXR_Want_btime = 0x00000001 }
 
enum  XStatRespFlags {
  kXR_file = 0 ,
  kXR_xset = 1 ,
  kXR_isDir = 2 ,
  kXR_other = 4 ,
  kXR_offline = 8 ,
  kXR_readable =16 ,
  kXR_writable =32 ,
  kXR_poscpend =64 ,
  kXR_bkpexist =128 ,
  kXR_cachersp =512
}
 
enum  XVirtRequestTypes { kXR_virtReadv = 2000 }
 

Variables

static const int XrdProto::clItemLen = sizeof(clone_list)
 
static const kXR_char XrdProto::kXR_AnyPath = 0xff
 
static const int kXR_ckpBegin = 0
 
static const int kXR_ckpCommit = 1
 
static const int kXR_ckpMinMax = 104857604
 
static const int kXR_ckpQuery = 2
 
static const int kXR_ckpRollback = 3
 
static const int kXR_ckpXeq = 4
 
static const int XrdProto::kXR_pgMaxEos = 256
 
static const int XrdProto::kXR_pgMaxEpr = 128
 
static const int XrdProto::kXR_pgPageBL = 12
 
static const int XrdProto::kXR_pgPageSZ = 4096
 
static const int XrdProto::kXR_pgRetry = 0x01
 
static const int XrdProto::kXR_pgUnitSZ = kXR_pgPageSZ + sizeof(kXR_unt32)
 
static const int XrdProto::kXR_statusBodyLen = sizeof(ServerResponseBody_Status)
 
static const int XrdProto::maxCloneln = 32768
 
static const int XrdProto::maxClonesz = maxCloneln/clItemLen
 
static const int XrdProto::maxRVdsz = minRVbsz-rlItemLen
 
static const int XrdProto::maxRvecln = 16384
 
static const int XrdProto::maxRvecsz = maxRvecln/rlItemLen
 
static const int XrdProto::maxWvecln = 16384
 
static const int XrdProto::maxWvecsz = maxWvecln/wlItemLen
 
static const int XrdProto::minRVbsz = 2097152
 
static const int XrdProto::rlItemLen = sizeof(read_list)
 
static const int XrdProto::wlItemLen = sizeof(write_list)
 

Class Documentation

◆ ALIGN_CHECK

struct ALIGN_CHECK

Definition at line 1360 of file XProtocol.hh.

+ Collaboration diagram for ALIGN_CHECK:
Class Members
char chkszreq[25-sizeof(ClientRequest)]
char chkszrsp[9-sizeof(ServerResponseHeader)]

◆ ClientAuthRequest

struct ClientAuthRequest

Definition at line 168 of file XProtocol.hh.

+ Collaboration diagram for ClientAuthRequest:
Class Members
kXR_char credtype[4]
kXR_int32 dlen
kXR_unt16 requestid
kXR_char reserved[12]
kXR_char streamid[2]

◆ ClientBindRequest

struct ClientBindRequest

Definition at line 180 of file XProtocol.hh.

+ Collaboration diagram for ClientBindRequest:
Class Members
kXR_int32 dlen
kXR_unt16 requestid
kXR_char sessid[16]
kXR_char streamid[2]

◆ ClientChkPointRequest

struct ClientChkPointRequest

Definition at line 203 of file XProtocol.hh.

+ Collaboration diagram for ClientChkPointRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_char opcode
kXR_unt16 requestid
kXR_char reserved[11]
kXR_char streamid[2]

◆ ClientChmodRequest

struct ClientChmodRequest

Definition at line 191 of file XProtocol.hh.

+ Collaboration diagram for ClientChmodRequest:
Class Members
kXR_int32 dlen
kXR_unt16 mode
kXR_unt16 requestid
kXR_char reserved[14]
kXR_char streamid[2]

◆ ClientCloneRequest

struct ClientCloneRequest

Definition at line 228 of file XProtocol.hh.

+ Collaboration diagram for ClientCloneRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_unt16 requestid
kXR_char reserved[12]
kXR_char streamid[2]

◆ ClientCloseRequest

struct ClientCloseRequest

Definition at line 255 of file XProtocol.hh.

+ Collaboration diagram for ClientCloseRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_unt16 requestid
kXR_char reserved[12]
kXR_char streamid[2]

◆ ClientDirlistRequest

struct ClientDirlistRequest

Definition at line 274 of file XProtocol.hh.

+ Collaboration diagram for ClientDirlistRequest:
Class Members
kXR_int32 dlen
kXR_char options[1]
kXR_unt16 requestid
kXR_char reserved[15]
kXR_char streamid[2]

◆ ClientEndsessRequest

struct ClientEndsessRequest

Definition at line 286 of file XProtocol.hh.

+ Collaboration diagram for ClientEndsessRequest:
Class Members
kXR_int32 dlen
kXR_unt16 requestid
kXR_char sessid[16]
kXR_char streamid[2]

◆ ClientGPfileRequest

struct ClientGPfileRequest

Definition at line 360 of file XProtocol.hh.

+ Collaboration diagram for ClientGPfileRequest:
Class Members
kXR_int32 buffsz
kXR_int32 dlen
kXR_int32 options
kXR_unt16 requestid
kXR_char reserved[8]
kXR_char streamid[2]

◆ ClientInitHandShake

struct ClientInitHandShake

Definition at line 84 of file XProtocol.hh.

+ Collaboration diagram for ClientInitHandShake:
Class Members
kXR_int32 fifth
kXR_int32 first
kXR_int32 fourth
kXR_int32 second
kXR_int32 third

◆ ClientLocateRequest

struct ClientLocateRequest

Definition at line 373 of file XProtocol.hh.

+ Collaboration diagram for ClientLocateRequest:
Class Members
kXR_int32 dlen
kXR_unt16 options
kXR_unt16 requestid
kXR_char reserved[14]
kXR_char streamid[2]

◆ ClientLoginRequest

struct ClientLoginRequest

Definition at line 422 of file XProtocol.hh.

+ Collaboration diagram for ClientLoginRequest:
Class Members
kXR_char ability
kXR_char ability2
kXR_char capver[1]
kXR_int32 dlen
kXR_int32 pid
kXR_unt16 requestid
kXR_char reserved2
kXR_char streamid[2]
kXR_char username[8]

◆ ClientMkdirRequest

struct ClientMkdirRequest

Definition at line 443 of file XProtocol.hh.

+ Collaboration diagram for ClientMkdirRequest:
Class Members
kXR_int32 dlen
kXR_unt16 mode
kXR_char options[1]
kXR_unt16 requestid
kXR_char reserved[13]
kXR_char streamid[2]

◆ ClientMvRequest

struct ClientMvRequest

Definition at line 456 of file XProtocol.hh.

+ Collaboration diagram for ClientMvRequest:
Class Members
kXR_int16 arg1len
kXR_int32 dlen
kXR_unt16 requestid
kXR_char reserved[14]
kXR_char streamid[2]

◆ ClientOpenRequest

struct ClientOpenRequest

Definition at line 509 of file XProtocol.hh.

+ Collaboration diagram for ClientOpenRequest:
Class Members
kXR_int32 dlen
kXR_char fhtemplt[4]
kXR_unt16 mode
kXR_unt16 options
kXR_unt16 optiont
kXR_unt16 requestid
kXR_char reserved[6]
kXR_char streamid[2]

◆ ClientPgReadReqArgs

struct ClientPgReadReqArgs

Definition at line 549 of file XProtocol.hh.

+ Collaboration diagram for ClientPgReadReqArgs:
Class Members
kXR_char pathid
kXR_char reqflags

◆ ClientPgReadRequest

struct ClientPgReadRequest

Definition at line 540 of file XProtocol.hh.

+ Collaboration diagram for ClientPgReadRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_int64 offset
kXR_unt16 requestid
kXR_int32 rlen
kXR_char streamid[2]

◆ ClientPgWriteRequest

struct ClientPgWriteRequest

Definition at line 562 of file XProtocol.hh.

+ Collaboration diagram for ClientPgWriteRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_int64 offset
kXR_char pathid
kXR_char reqflags
kXR_unt16 requestid
kXR_char reserved[2]
kXR_char streamid[2]

◆ ClientPingRequest

struct ClientPingRequest

Definition at line 578 of file XProtocol.hh.

+ Collaboration diagram for ClientPingRequest:
Class Members
kXR_int32 dlen
kXR_unt16 requestid
kXR_char reserved[16]
kXR_char streamid[2]

◆ ClientPrepareRequest

struct ClientPrepareRequest

Definition at line 633 of file XProtocol.hh.

+ Collaboration diagram for ClientPrepareRequest:
Class Members
kXR_int32 dlen
kXR_char options
kXR_unt16 optionX
kXR_unt16 port
kXR_char prty
kXR_unt16 requestid
kXR_char reserved[10]
kXR_char streamid[2]

◆ ClientQueryRequest

struct ClientQueryRequest

Definition at line 664 of file XProtocol.hh.

+ Collaboration diagram for ClientQueryRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_unt16 infotype
kXR_unt16 requestid
kXR_char reserved1[2]
kXR_char reserved2[8]
kXR_char streamid[2]

◆ ClientReadRequest

struct ClientReadRequest

Definition at line 678 of file XProtocol.hh.

+ Collaboration diagram for ClientReadRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_int64 offset
kXR_unt16 requestid
kXR_int32 rlen
kXR_char streamid[2]

◆ ClientReadVRequest

struct ClientReadVRequest

Definition at line 704 of file XProtocol.hh.

+ Collaboration diagram for ClientReadVRequest:
Class Members
kXR_int32 dlen
kXR_char pathid
kXR_unt16 requestid
kXR_char reserved[15]
kXR_char streamid[2]

◆ ClientRequest

union ClientRequest

Definition at line 886 of file XProtocol.hh.

+ Collaboration diagram for ClientRequest:
Class Members
struct ClientAuthRequest auth
struct ClientBindRequest bind
struct ClientChkPointRequest chkpoint
struct ClientChmodRequest chmod
struct ClientCloneRequest clone
struct ClientCloseRequest close
struct ClientDirlistRequest dirlist
struct ClientEndsessRequest endsess
struct ClientFattrRequest fattr
struct ClientGPfileRequest gpfile
struct ClientRequestHdr header
struct ClientLocateRequest locate
struct ClientLoginRequest login
struct ClientMkdirRequest mkdir
struct ClientMvRequest mv
struct ClientOpenRequest open
struct ClientPgReadRequest pgread
struct ClientPgWriteRequest pgwrite
struct ClientPingRequest ping
struct ClientPrepareRequest prepare
struct ClientProtocolRequest protocol
struct ClientQueryRequest query
struct ClientReadRequest read
struct ClientReadVRequest readv
struct ClientRmRequest rm
struct ClientRmdirRequest rmdir
struct ClientSetRequest set
struct ClientSigverRequest sigver
struct ClientStatRequest stat
struct ClientSyncRequest sync
struct ClientTruncateRequest truncate
struct ClientWriteRequest write
struct ClientWriteVRequest writev

◆ ClientRequestHdr

struct ClientRequestHdr

Definition at line 157 of file XProtocol.hh.

+ Collaboration diagram for ClientRequestHdr:
Class Members
kXR_char body[16]
kXR_int32 dlen
kXR_unt16 requestid
kXR_char streamid[2]

◆ ClientRmdirRequest

struct ClientRmdirRequest

Definition at line 742 of file XProtocol.hh.

+ Collaboration diagram for ClientRmdirRequest:
Class Members
kXR_int32 dlen
kXR_unt16 requestid
kXR_char reserved[16]
kXR_char streamid[2]

◆ ClientRmRequest

struct ClientRmRequest

Definition at line 731 of file XProtocol.hh.

+ Collaboration diagram for ClientRmRequest:
Class Members
kXR_int32 dlen
kXR_unt16 requestid
kXR_char reserved[16]
kXR_char streamid[2]

◆ ClientSetRequest

struct ClientSetRequest

Definition at line 753 of file XProtocol.hh.

+ Collaboration diagram for ClientSetRequest:
Class Members
kXR_int32 dlen
kXR_char modifier
kXR_unt16 requestid
kXR_char reserved[15]
kXR_char streamid[2]

◆ ClientSigverRequest

struct ClientSigverRequest

Definition at line 782 of file XProtocol.hh.

+ Collaboration diagram for ClientSigverRequest:
Class Members
kXR_char crypto
kXR_int32 dlen
kXR_unt16 expectrid
kXR_char flags
kXR_unt16 requestid
kXR_char rsvd2[3]
kXR_unt64 seqno
kXR_char streamid[2]
kXR_char version

◆ ClientStatRequest

struct ClientStatRequest

Definition at line 806 of file XProtocol.hh.

+ Collaboration diagram for ClientStatRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_char options
kXR_unt16 requestid
kXR_char reserved[7]
kXR_char streamid[2]
kXR_unt32 wants

◆ ClientSyncRequest

struct ClientSyncRequest

Definition at line 820 of file XProtocol.hh.

+ Collaboration diagram for ClientSyncRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_unt16 requestid
kXR_char reserved[12]
kXR_char streamid[2]

◆ ClientTruncateRequest

struct ClientTruncateRequest

Definition at line 832 of file XProtocol.hh.

+ Collaboration diagram for ClientTruncateRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_int64 offset
kXR_unt16 requestid
kXR_char reserved[4]
kXR_char streamid[2]

◆ ClientWriteRequest

struct ClientWriteRequest

Definition at line 845 of file XProtocol.hh.

+ Collaboration diagram for ClientWriteRequest:
Class Members
kXR_int32 dlen
kXR_char fhandle[4]
kXR_int64 offset
kXR_char pathid
kXR_unt16 requestid
kXR_char reserved[3]
kXR_char streamid[2]

◆ XrdProto::clone_list

struct XrdProto::clone_list

Definition at line 239 of file XProtocol.hh.

+ Collaboration diagram for XrdProto::clone_list:
Class Members
kXR_unt64 dstOffs
kXR_char rsvd[4]
kXR_char srcFH[4]
kXR_unt64 srcLen
kXR_unt64 srcOffs

◆ read_args

struct read_args

Definition at line 688 of file XProtocol.hh.

+ Collaboration diagram for read_args:
Class Members
kXR_char pathid
kXR_char reserved[7]

◆ XrdProto::read_list

struct XrdProto::read_list

Definition at line 715 of file XProtocol.hh.

+ Collaboration diagram for XrdProto::read_list:
Class Members
kXR_char fhandle[4]
kXR_int64 offset
kXR_int32 rlen

◆ readahead_list

struct readahead_list

Definition at line 694 of file XProtocol.hh.

+ Collaboration diagram for readahead_list:
Class Members
kXR_char fhandle[4]
kXR_int64 offset
kXR_int32 rlen

◆ SecurityRequest

union SecurityRequest

Definition at line 922 of file XProtocol.hh.

+ Collaboration diagram for SecurityRequest:
Class Members
struct ClientRequestHdr header
struct ClientSigverRequest sigver

◆ ServerInitHandShake

struct ServerInitHandShake

Definition at line 94 of file XProtocol.hh.

+ Collaboration diagram for ServerInitHandShake:
Class Members
kXR_int32 msglen
kXR_int32 msgval
kXR_int32 protover

◆ ServerResponse

struct ServerResponse

Definition at line 1328 of file XProtocol.hh.

+ Collaboration diagram for ServerResponse:
Class Members
union ServerResponse body
ServerResponseHeader hdr

◆ ServerResponse.body

union ServerResponse.body

Definition at line 1331 of file XProtocol.hh.

+ Collaboration diagram for ServerResponse.body:
Class Members
ServerResponseBody_Attn attn
ServerResponseBody_Authmore authmore
ServerResponseBody_Bind bind
ServerResponseBody_Buffer buffer
ServerResponseBody_Error error
ServerResponseBody_Login login
ServerResponseBody_Protocol protocol
ServerResponseBody_Redirect redirect
ServerResponseBody_Status status
ServerResponseBody_Wait wait
ServerResponseBody_Waitresp waitresp

◆ ServerResponseBifs_Protocol

struct ServerResponseBifs_Protocol

Definition at line 1133 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBifs_Protocol:
Class Members
kXR_unt16 bifILen
kXR_char rsvd
kXR_char theTag

◆ ServerResponseBody_Attn

struct ServerResponseBody_Attn

Definition at line 983 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Attn:
Class Members
kXR_int32 actnum
char parms[4096]

◆ XProtocol::ServerResponseBody_Attn_asyncdi

struct XProtocol::ServerResponseBody_Attn_asyncdi

Definition at line 1504 of file XProtocol.hh.

+ Collaboration diagram for XProtocol::ServerResponseBody_Attn_asyncdi:
Class Members
kXR_int32 actnum
kXR_int32 msec
kXR_int32 wsec

◆ ServerResponseBody_Attn_asyncms

struct ServerResponseBody_Attn_asyncms

Definition at line 988 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Attn_asyncms:
Class Members
kXR_int32 actnum
char reserved[4]
char respdata[4096]
ServerResponseHeader resphdr

◆ XProtocol::ServerResponseBody_Attn_asyncrd

struct XProtocol::ServerResponseBody_Attn_asyncrd

Definition at line 1510 of file XProtocol.hh.

+ Collaboration diagram for XProtocol::ServerResponseBody_Attn_asyncrd:
Class Members
kXR_int32 actnum
char host[4092]
kXR_int32 port

◆ XProtocol::ServerResponseBody_Attn_asyncwt

struct XProtocol::ServerResponseBody_Attn_asyncwt

Definition at line 1516 of file XProtocol.hh.

+ Collaboration diagram for XProtocol::ServerResponseBody_Attn_asyncwt:
Class Members
kXR_int32 actnum
kXR_int32 wsec

◆ ServerResponseBody_Attn_asynresp

struct ServerResponseBody_Attn_asynresp

Definition at line 995 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Attn_asynresp:
Class Members
kXR_int32 actnum
char reserved[4]
char respdata[4096]
ServerResponseHeader resphdr

◆ ServerResponseBody_Authmore

struct ServerResponseBody_Authmore

Definition at line 1006 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Authmore:
Class Members
char data[4096]

◆ ServerResponseBody_Bind

struct ServerResponseBody_Bind

Definition at line 1014 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Bind:
Class Members
kXR_char substreamid

◆ ServerResponseBody_Buffer

struct ServerResponseBody_Buffer

Definition at line 963 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Buffer:
Class Members
char data[4096]

◆ ServerResponseBody_ChkPoint

struct ServerResponseBody_ChkPoint

Definition at line 1022 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_ChkPoint:
Class Members
kXR_unt32 maxCkpSize
kXR_unt32 useCkpSize

◆ ServerResponseBody_Error

struct ServerResponseBody_Error

Definition at line 1072 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Error:
Class Members
char errmsg[4096]
kXR_int32 errnum

◆ ServerResponseBody_Login

struct ServerResponseBody_Login

Definition at line 1081 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Login:
Class Members
kXR_char sec[4096]
kXR_char sessid[16]

◆ ServerResponseBody_Open

struct ServerResponseBody_Open

Definition at line 1090 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Open:
Class Members
kXR_int32 cpsize
kXR_char cptype[4]
kXR_char fhandle[4]

◆ ServerResponseBody_pgRead

struct ServerResponseBody_pgRead

Definition at line 1100 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_pgRead:
Class Members
kXR_int64 offset

◆ ServerResponseBody_pgWrCSE

struct ServerResponseBody_pgWrCSE

Definition at line 1117 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_pgWrCSE:
Class Members
kXR_unt32 cseCRC
kXR_int16 dlFirst
kXR_int16 dlLast

◆ ServerResponseBody_pgWrite

struct ServerResponseBody_pgWrite

Definition at line 1109 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_pgWrite:
Class Members
kXR_int64 offset

◆ ServerResponseBody_Protocol

struct ServerResponseBody_Protocol

Definition at line 1233 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Protocol:
Class Members
kXR_int32 flags
kXR_int32 pval
ServerResponseReqs_Protocol secreq

◆ ServerResponseBody_Redirect

struct ServerResponseBody_Redirect

Definition at line 1249 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Redirect:
Class Members
char host[4096]
kXR_int32 port

◆ ServerResponseBody_Status

struct ServerResponseBody_Status

Definition at line 1277 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Status:
Class Members
kXR_unt32 crc32c
kXR_int32 dlen
kXR_char requestid
kXR_char reserved[4]
kXR_char resptype
kXR_char streamID[2]

◆ ServerResponseBody_Wait

struct ServerResponseBody_Wait

Definition at line 1311 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Wait:
Class Members
char infomsg[4096]
kXR_int32 seconds

◆ ServerResponseBody_Waitresp

struct ServerResponseBody_Waitresp

Definition at line 1320 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Waitresp:
Class Members
kXR_int32 seconds

◆ ServerResponseHeader

struct ServerResponseHeader

Definition at line 955 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseHeader:
Class Members
kXR_int32 dlen
kXR_unt16 status
kXR_char streamid[2]

◆ ServerResponseReqs_Protocol

struct ServerResponseReqs_Protocol

Definition at line 1149 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseReqs_Protocol:
Class Members
kXR_char rsvd
kXR_char seclvl
kXR_char secopt
ServerResponseSVec_Protocol secvec
kXR_char secver
kXR_char secvsz
kXR_char theTag

◆ ServerResponseStatus

struct ServerResponseStatus

Definition at line 1302 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseStatus:
Class Members
struct ServerResponseBody_Status bdy
struct ServerResponseHeader hdr

◆ ServerResponseSVec_Protocol

struct ServerResponseSVec_Protocol

Definition at line 1144 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseSVec_Protocol:
Class Members
kXR_char reqindx
kXR_char reqsreq

◆ ServerResponseV2

struct ServerResponseV2

Definition at line 1350 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseV2:
Class Members
union ServerResponseV2 info
ServerResponseStatus status

◆ ServerResponseV2.info

union ServerResponseV2.info

Definition at line 1353 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseV2.info:
Class Members
ServerResponseBody_pgRead pgread
ServerResponseBody_pgWrite pgwrite

◆ XrdProto::write_list

struct XrdProto::write_list

Definition at line 872 of file XProtocol.hh.

+ Collaboration diagram for XrdProto::write_list:
Class Members
kXR_char fhandle[4]
kXR_int64 offset
kXR_int32 wlen

Macro Definition Documentation

◆ EAUTH

#define EAUTH   EBADE

Definition at line 1393 of file XProtocol.hh.

◆ EBADRQC

#define EBADRQC   EBADRPC

Definition at line 1389 of file XProtocol.hh.

◆ ENOATTR

#define ENOATTR   ENODATA

Definition at line 1385 of file XProtocol.hh.

◆ kXR_anongpf

#define kXR_anongpf   0x00800000

Definition at line 1214 of file XProtocol.hh.

◆ kXR_attrCache

#define kXR_attrCache   0x00000080

Definition at line 1200 of file XProtocol.hh.

◆ kXR_attrMeta

#define kXR_attrMeta   0x00000100

Definition at line 1201 of file XProtocol.hh.

◆ kXR_attrProxy

#define kXR_attrProxy   0x00000200

Definition at line 1202 of file XProtocol.hh.

◆ kXR_attrSuper

#define kXR_attrSuper   0x00000400

Definition at line 1203 of file XProtocol.hh.

◆ kXR_attrVirtRdr

#define kXR_attrVirtRdr   0x00000800

Definition at line 1204 of file XProtocol.hh.

◆ kXR_collapseRedir

#define kXR_collapseRedir   0x00002000

Definition at line 1209 of file XProtocol.hh.

◆ kXR_DataServer

#define kXR_DataServer   1

Definition at line 1192 of file XProtocol.hh.

◆ kXR_ecRedir

#define kXR_ecRedir   0x00004000

Definition at line 1210 of file XProtocol.hh.

◆ kXR_gotoTLS

#define kXR_gotoTLS   0x40000000

Definition at line 1222 of file XProtocol.hh.

◆ kXR_haveTLS

#define kXR_haveTLS   0x80000000

Definition at line 1221 of file XProtocol.hh.

◆ kXR_isManager

#define kXR_isManager   0x00000002

Definition at line 1198 of file XProtocol.hh.

◆ kXR_isServer

#define kXR_isServer   0x00000001

Definition at line 1199 of file XProtocol.hh.

◆ kXR_LBalServer

#define kXR_LBalServer   0

Definition at line 1193 of file XProtocol.hh.

◆ kXR_maxReqRetry

#define kXR_maxReqRetry   10

Definition at line 1535 of file XProtocol.hh.

◆ kXR_PROTCLONEVERSION

#define kXR_PROTCLONEVERSION   0x00000520

Definition at line 74 of file XProtocol.hh.

◆ kXR_PROTOCOLVERSION

#define kXR_PROTOCOLVERSION   0x00000520

Definition at line 70 of file XProtocol.hh.

◆ kXR_PROTOCOLVSTRING

#define kXR_PROTOCOLVSTRING   "5.2.0"

Definition at line 76 of file XProtocol.hh.

◆ kXR_PROTPGRWVERSION

#define kXR_PROTPGRWVERSION   0x00000511

Definition at line 73 of file XProtocol.hh.

◆ kXR_PROTSIGNVERSION

#define kXR_PROTSIGNVERSION   0x00000310

Definition at line 75 of file XProtocol.hh.

◆ kXR_PROTTLSVERSION

#define kXR_PROTTLSVERSION   0x00000500

Definition at line 72 of file XProtocol.hh.

◆ kXR_PROTXATTVERSION

#define kXR_PROTXATTVERSION   0x00000500

Definition at line 71 of file XProtocol.hh.

◆ kXR_recoverWrts

#define kXR_recoverWrts   0x00001000

Definition at line 1208 of file XProtocol.hh.

◆ kXR_secCompatible

#define kXR_secCompatible   1

Definition at line 1174 of file XProtocol.hh.

◆ kXR_secIntense

#define kXR_secIntense   3

Definition at line 1176 of file XProtocol.hh.

◆ kXR_secNone

#define kXR_secNone   0

Definition at line 1173 of file XProtocol.hh.

◆ kXR_secOData

#define kXR_secOData   0x01

Definition at line 1168 of file XProtocol.hh.

◆ kXR_secOFrce

#define kXR_secOFrce   0x02

Definition at line 1169 of file XProtocol.hh.

◆ kXR_secPedantic

#define kXR_secPedantic   4

Definition at line 1177 of file XProtocol.hh.

◆ kXR_secStandard

#define kXR_secStandard   2

Definition at line 1175 of file XProtocol.hh.

◆ kXR_secver_0

#define kXR_secver_0   0

Definition at line 1188 of file XProtocol.hh.

◆ kXR_ShortProtRespLen

#define kXR_ShortProtRespLen

◆ kXR_signIgnore

#define kXR_signIgnore   0

Definition at line 1181 of file XProtocol.hh.

◆ kXR_signLikely

#define kXR_signLikely   1

Definition at line 1182 of file XProtocol.hh.

◆ kXR_signNeeded

#define kXR_signNeeded   2

Definition at line 1183 of file XProtocol.hh.

◆ kXR_supgpf

#define kXR_supgpf   0x00400000

Definition at line 1215 of file XProtocol.hh.

◆ kXR_suppgrw

#define kXR_suppgrw   0x00200000

Definition at line 1216 of file XProtocol.hh.

◆ kXR_supposc

#define kXR_supposc   0x00100000

Definition at line 1217 of file XProtocol.hh.

◆ kXR_tlsAny

#define kXR_tlsAny   0x1f000000

Definition at line 1223 of file XProtocol.hh.

◆ kXR_tlsData

#define kXR_tlsData   0x01000000

Definition at line 1224 of file XProtocol.hh.

◆ kXR_tlsGPF

#define kXR_tlsGPF   0x02000000

Definition at line 1225 of file XProtocol.hh.

◆ kXR_tlsGPFA

#define kXR_tlsGPFA   0x20000000

Definition at line 1229 of file XProtocol.hh.

◆ kXR_tlsLogin

#define kXR_tlsLogin   0x04000000

Definition at line 1226 of file XProtocol.hh.

◆ kXR_tlsSess

#define kXR_tlsSess   0x08000000

Definition at line 1227 of file XProtocol.hh.

◆ kXR_tlsTPC

#define kXR_tlsTPC   0x10000000

Definition at line 1228 of file XProtocol.hh.

Enumeration Type Documentation

◆ XActionCode

Enumerator
kXR_asyncab 
kXR_asyncdi 
kXR_asyncms 
kXR_asyncrd 
kXR_asyncwt 
kXR_asyncav 
kXR_asynunav 
kXR_asyncgo 
kXR_asynresp 

Definition at line 971 of file XProtocol.hh.

971  {
972  kXR_asyncab = 5000, // No longer supported
973  kXR_asyncdi, // 5001 No longer supported
974  kXR_asyncms = 5002,
975  kXR_asyncrd, // 5003 No longer supported
976  kXR_asyncwt, // 5004 No longer supported
977  kXR_asyncav, // 5005 No longer supported
978  kXR_asynunav, // 5006 No longer supported
979  kXR_asyncgo, // 5007 No longer supported
980  kXR_asynresp= 5008
981 };
@ kXR_asyncgo
Definition: XProtocol.hh:979
@ kXR_asyncwt
Definition: XProtocol.hh:976
@ kXR_asynunav
Definition: XProtocol.hh:978
@ kXR_asynresp
Definition: XProtocol.hh:980
@ kXR_asyncav
Definition: XProtocol.hh:977
@ kXR_asyncms
Definition: XProtocol.hh:974
@ kXR_asyncab
Definition: XProtocol.hh:972
@ kXR_asyncrd
Definition: XProtocol.hh:975
@ kXR_asyncdi
Definition: XProtocol.hh:973

◆ XDirlistRequestOption

Enumerator
kXR_online 
kXR_dstat 
kXR_dcksm 
kXR_dstatx 

Definition at line 267 of file XProtocol.hh.

267  {
268  kXR_online = 1,
269  kXR_dstat = 2,
270  kXR_dcksm = 4, // dcksm implies dstat irrespective of dstat setting
271  kXR_dstatx = 8 // Return extended information, if available
272 };
@ kXR_dstat
Definition: XProtocol.hh:269
@ kXR_dstatx
Definition: XProtocol.hh:271
@ kXR_dcksm
Definition: XProtocol.hh:270
@ kXR_online
Definition: XProtocol.hh:268

◆ XErrorCode

enum XErrorCode
Enumerator
kXR_ArgInvalid 
kXR_ArgMissing 
kXR_ArgTooLong 
kXR_FileLocked 
kXR_FileNotOpen 
kXR_FSError 
kXR_InvalidRequest 
kXR_IOError 
kXR_NoMemory 
kXR_NoSpace 
kXR_NotAuthorized 
kXR_NotFound 
kXR_ServerError 
kXR_Unsupported 
kXR_noserver 
kXR_NotFile 
kXR_isDirectory 
kXR_Cancelled 
kXR_ItExists 
kXR_ChkSumErr 
kXR_inProgress 
kXR_overQuota 
kXR_SigVerErr 
kXR_DecryptErr 
kXR_Overloaded 
kXR_fsReadOnly 
kXR_BadPayload 
kXR_AttrNotFound 
kXR_TLSRequired 
kXR_noReplicas 
kXR_AuthFailed 
kXR_Impossible 
kXR_Conflict 
kXR_TooManyErrs 
kXR_ReqTimedOut 
kXR_TimerExpired 
kXR_ERRFENCE 
kXR_noErrorYet 

Definition at line 1031 of file XProtocol.hh.

1031  {
1032  kXR_ArgInvalid = 3000,
1033  kXR_ArgMissing, // 3001
1034  kXR_ArgTooLong, // 3002
1035  kXR_FileLocked, // 3003
1036  kXR_FileNotOpen, // 3004
1037  kXR_FSError, // 3005
1038  kXR_InvalidRequest, // 3006
1039  kXR_IOError, // 3007
1040  kXR_NoMemory, // 3008
1041  kXR_NoSpace, // 3009
1042  kXR_NotAuthorized, // 3010
1043  kXR_NotFound, // 3011
1044  kXR_ServerError, // 3012
1045  kXR_Unsupported, // 3013
1046  kXR_noserver, // 3014
1047  kXR_NotFile, // 3015
1048  kXR_isDirectory, // 3016
1049  kXR_Cancelled, // 3017
1050  kXR_ItExists, // 3018
1051  kXR_ChkSumErr, // 3019
1052  kXR_inProgress, // 3020
1053  kXR_overQuota, // 3021
1054  kXR_SigVerErr, // 3022
1055  kXR_DecryptErr, // 3023
1056  kXR_Overloaded, // 3024
1057  kXR_fsReadOnly, // 3025
1058  kXR_BadPayload, // 3026
1059  kXR_AttrNotFound, // 3027
1060  kXR_TLSRequired, // 3028
1061  kXR_noReplicas, // 3029
1062  kXR_AuthFailed, // 3030
1063  kXR_Impossible, // 3031
1064  kXR_Conflict, // 3032
1065  kXR_TooManyErrs, // 3033
1066  kXR_ReqTimedOut, // 3034
1067  kXR_TimerExpired, // 3035
1068  kXR_ERRFENCE, // Always last valid errcode + 1
1069  kXR_noErrorYet = 10000
1070 };
@ kXR_ArgInvalid
Definition: XProtocol.hh:1032
@ kXR_InvalidRequest
Definition: XProtocol.hh:1038
@ kXR_ArgMissing
Definition: XProtocol.hh:1033
@ kXR_fsReadOnly
Definition: XProtocol.hh:1057
@ kXR_Impossible
Definition: XProtocol.hh:1063
@ kXR_TLSRequired
Definition: XProtocol.hh:1060
@ kXR_SigVerErr
Definition: XProtocol.hh:1054
@ kXR_TimerExpired
Definition: XProtocol.hh:1067
@ kXR_TooManyErrs
Definition: XProtocol.hh:1065
@ kXR_AttrNotFound
Definition: XProtocol.hh:1059
@ kXR_ItExists
Definition: XProtocol.hh:1050
@ kXR_AuthFailed
Definition: XProtocol.hh:1062
@ kXR_NotAuthorized
Definition: XProtocol.hh:1042
@ kXR_NotFound
Definition: XProtocol.hh:1043
@ kXR_FileLocked
Definition: XProtocol.hh:1035
@ kXR_ERRFENCE
Definition: XProtocol.hh:1068
@ kXR_noErrorYet
Definition: XProtocol.hh:1069
@ kXR_ChkSumErr
Definition: XProtocol.hh:1051
@ kXR_DecryptErr
Definition: XProtocol.hh:1055
@ kXR_overQuota
Definition: XProtocol.hh:1053
@ kXR_BadPayload
Definition: XProtocol.hh:1058
@ kXR_NoSpace
Definition: XProtocol.hh:1041
@ kXR_FileNotOpen
Definition: XProtocol.hh:1036
@ kXR_isDirectory
Definition: XProtocol.hh:1048
@ kXR_noReplicas
Definition: XProtocol.hh:1061
@ kXR_inProgress
Definition: XProtocol.hh:1052
@ kXR_NotFile
Definition: XProtocol.hh:1047
@ kXR_Unsupported
Definition: XProtocol.hh:1045
@ kXR_Cancelled
Definition: XProtocol.hh:1049
@ kXR_Conflict
Definition: XProtocol.hh:1064
@ kXR_ServerError
Definition: XProtocol.hh:1044
@ kXR_Overloaded
Definition: XProtocol.hh:1056
@ kXR_ArgTooLong
Definition: XProtocol.hh:1034
@ kXR_noserver
Definition: XProtocol.hh:1046
@ kXR_ReqTimedOut
Definition: XProtocol.hh:1066
@ kXR_IOError
Definition: XProtocol.hh:1039
@ kXR_FSError
Definition: XProtocol.hh:1037
@ kXR_NoMemory
Definition: XProtocol.hh:1040

◆ xfaLimits

enum xfaLimits
Enumerator
kXR_faMaxVars 
kXR_faMaxNlen 
kXR_faMaxVlen 

Definition at line 309 of file XProtocol.hh.

309  {
310  kXR_faMaxVars = 16, // Maximum variables per request
311  kXR_faMaxNlen = 248, // Maximum length of variable name
312  kXR_faMaxVlen = 65536 // Maximum length of variable value
313 };
@ kXR_faMaxVars
Definition: XProtocol.hh:310
@ kXR_faMaxVlen
Definition: XProtocol.hh:312
@ kXR_faMaxNlen
Definition: XProtocol.hh:311

◆ xfaSubCode

enum xfaSubCode
Enumerator
kXR_fattrDel 
kXR_fattrGet 
kXR_fattrList 
kXR_fattrSet 
kXR_fatrrMaxSC 

Definition at line 299 of file XProtocol.hh.

299  {
300  kXR_fattrDel = 0,
301  kXR_fattrGet = 1,
302  kXR_fattrList = 2,
303  kXR_fattrSet = 3,
304  kXR_fatrrMaxSC = 3 // Highest valid subcode
305 };
@ kXR_fattrDel
Definition: XProtocol.hh:300
@ kXR_fattrSet
Definition: XProtocol.hh:303
@ kXR_fattrList
Definition: XProtocol.hh:302
@ kXR_fattrGet
Definition: XProtocol.hh:301
@ kXR_fatrrMaxSC
Definition: XProtocol.hh:304

◆ XLoginAbility

Enumerator
kXR_nothing 
kXR_fullurl 
kXR_multipr 
kXR_readrdok 
kXR_hasipv64 
kXR_onlyprv4 
kXR_onlyprv6 
kXR_lclfile 
kXR_redirflags 

Definition at line 386 of file XProtocol.hh.

386  {
387  kXR_nothing = 0,
388  kXR_fullurl = 1,
389  kXR_multipr = 3,
390  kXR_readrdok = 4,
391  kXR_hasipv64 = 8,
392  kXR_onlyprv4 = 16,
393  kXR_onlyprv6 = 32,
394  kXR_lclfile = 64,
395  kXR_redirflags = 128
396 };
@ kXR_readrdok
Definition: XProtocol.hh:390
@ kXR_fullurl
Definition: XProtocol.hh:388
@ kXR_onlyprv4
Definition: XProtocol.hh:392
@ kXR_lclfile
Definition: XProtocol.hh:394
@ kXR_multipr
Definition: XProtocol.hh:389
@ kXR_nothing
Definition: XProtocol.hh:387
@ kXR_redirflags
Definition: XProtocol.hh:395
@ kXR_hasipv64
Definition: XProtocol.hh:391
@ kXR_onlyprv6
Definition: XProtocol.hh:393

◆ XLoginAbility2

Enumerator
kXR_empty 
kXR_ecredir 

Definition at line 399 of file XProtocol.hh.

399  {
400  kXR_empty = 0,
401  kXR_ecredir = 1
402 };
@ kXR_empty
Definition: XProtocol.hh:400
@ kXR_ecredir
Definition: XProtocol.hh:401

◆ XLoginCapVer

Enumerator
kXR_lcvnone 
kXR_vermask 
kXR_asyncap 

Definition at line 405 of file XProtocol.hh.

405  {
406  kXR_lcvnone = 0,
407  kXR_vermask = 63,
408  kXR_asyncap = 128
409 };
@ kXR_vermask
Definition: XProtocol.hh:407
@ kXR_asyncap
Definition: XProtocol.hh:408
@ kXR_lcvnone
Definition: XProtocol.hh:406

◆ XLoginVersion

Enumerator
kXR_ver000 
kXR_ver001 
kXR_ver002 
kXR_ver003 
kXR_ver004 
kXR_ver005 

Definition at line 413 of file XProtocol.hh.

413  {
414  kXR_ver000 = 0, // Old clients predating history
415  kXR_ver001 = 1, // Generally implemented 2005 protocol
416  kXR_ver002 = 2, // Same as 1 but adds asyncresp recognition
417  kXR_ver003 = 3, // The 2011-2012 rewritten client
418  kXR_ver004 = 4, // The 2016 sign-capable client
419  kXR_ver005 = 5 // The 2019 TLS-capable client
420 };
@ kXR_ver005
Definition: XProtocol.hh:419
@ kXR_ver001
Definition: XProtocol.hh:415
@ kXR_ver003
Definition: XProtocol.hh:417
@ kXR_ver000
Definition: XProtocol.hh:414
@ kXR_ver004
Definition: XProtocol.hh:418
@ kXR_ver002
Definition: XProtocol.hh:416

◆ XMkdirOptions

Enumerator
kXR_mknone 
kXR_mkdirpath 

Definition at line 438 of file XProtocol.hh.

438  {
439  kXR_mknone = 0,
440  kXR_mkdirpath = 1
441 };
@ kXR_mkdirpath
Definition: XProtocol.hh:440
@ kXR_mknone
Definition: XProtocol.hh:439

◆ XOpenRequestMode

Enumerator
kXR_ur 
kXR_uw 
kXR_ux 
kXR_gr 
kXR_gw 
kXR_gx 
kXR_or 
kXR_ow 
kXR_ox 

Definition at line 469 of file XProtocol.hh.

469  {
470  kXR_ur = 0x100,
471  kXR_uw = 0x080,
472  kXR_ux = 0x040,
473  kXR_gr = 0x020,
474  kXR_gw = 0x010,
475  kXR_gx = 0x008,
476  kXR_or = 0x004,
477  kXR_ow = 0x002,
478  kXR_ox = 0x001
479 };
@ kXR_gw
Definition: XProtocol.hh:474
@ kXR_ur
Definition: XProtocol.hh:470
@ kXR_uw
Definition: XProtocol.hh:471
@ kXR_gr
Definition: XProtocol.hh:473
@ kXR_ow
Definition: XProtocol.hh:477
@ kXR_gx
Definition: XProtocol.hh:475
@ kXR_or
Definition: XProtocol.hh:476
@ kXR_ox
Definition: XProtocol.hh:478
@ kXR_ux
Definition: XProtocol.hh:472

◆ XOpenRequestOption

Enumerator
kXR_compress 
kXR_delete 
kXR_force 
kXR_new 
kXR_open_read 
kXR_open_updt 
kXR_async 
kXR_refresh 
kXR_mkpath 
kXR_prefname 
kXR_open_apnd 
kXR_retstat 
kXR_4dirlist 
kXR_replica 
kXR_posc 
kXR_nowait 
kXR_seqio 
kXR_open_wrto 

Definition at line 481 of file XProtocol.hh.

481  {
482  kXR_compress = 0x0001, // 1 // also locate (return unique hosts)
483  kXR_delete = 0x0002, // 2
484  kXR_force = 0x0004, // 4
485  kXR_new = 0x0008, // 8
486  kXR_open_read= 0x0010, // 16
487  kXR_open_updt= 0x0020, // 32
488  kXR_async = 0x0040, // 64
489  kXR_refresh = 0x0080, // 128 // also locate
490  kXR_mkpath = 0x0100, // 256
491  kXR_prefname = 0x0100, // 256 // only locate
492  kXR_open_apnd= 0x0200, // 512
493  kXR_retstat = 0x0400, // 1024
494  kXR_4dirlist = 0x0400, // 1024 // for locate intending a dirlist
495  kXR_replica = 0x0800, // 2048
496  kXR_posc = 0x1000, // 4096
497  kXR_nowait = 0x2000, // 8192 // also locate
498  kXR_seqio = 0x4000, // 16384
499  kXR_open_wrto= 0x8000 // 32768
500 };
@ kXR_open_wrto
Definition: XProtocol.hh:499
@ kXR_compress
Definition: XProtocol.hh:482
@ kXR_async
Definition: XProtocol.hh:488
@ kXR_delete
Definition: XProtocol.hh:483
@ kXR_prefname
Definition: XProtocol.hh:491
@ kXR_nowait
Definition: XProtocol.hh:497
@ kXR_open_read
Definition: XProtocol.hh:486
@ kXR_open_updt
Definition: XProtocol.hh:487
@ kXR_mkpath
Definition: XProtocol.hh:490
@ kXR_seqio
Definition: XProtocol.hh:498
@ kXR_replica
Definition: XProtocol.hh:495
@ kXR_posc
Definition: XProtocol.hh:496
@ kXR_refresh
Definition: XProtocol.hh:489
@ kXR_new
Definition: XProtocol.hh:485
@ kXR_force
Definition: XProtocol.hh:484
@ kXR_4dirlist
Definition: XProtocol.hh:494
@ kXR_open_apnd
Definition: XProtocol.hh:492
@ kXR_retstat
Definition: XProtocol.hh:493

◆ XOpenRequestOption2

Enumerator
kXR_dup 
kXR_samefs 
kXR_retstatx 
kXR_directio 

Definition at line 502 of file XProtocol.hh.

502  {// Set in optiont
503  kXR_dup = 0x0001, // 1
504  kXR_samefs = 0x0002, // 2
505  kXR_retstatx = 0x0004, // 4 // open: return extended stat -> retstat
506  kXR_directio = 0x0008 // 8
507 };
@ kXR_dup
Definition: XProtocol.hh:503
@ kXR_samefs
Definition: XProtocol.hh:504
@ kXR_directio
Definition: XProtocol.hh:506
@ kXR_retstatx
Definition: XProtocol.hh:505

◆ XPrepRequestOption

Enumerator
kXR_cancel 
kXR_notify 
kXR_noerrs 
kXR_stage 
kXR_wmode 
kXR_coloc 
kXR_fresh 
kXR_usetcp 
kXR_evict 

Definition at line 620 of file XProtocol.hh.

620  {
621  kXR_cancel = 1,
622  kXR_notify = 2,
623  kXR_noerrs = 4,
624  kXR_stage = 8,
625  kXR_wmode = 16,
626  kXR_coloc = 32,
627  kXR_fresh = 64,
628  kXR_usetcp = 128,
629 
630  kXR_evict = 0x0001 // optionsX: file no longer useful
631 };
@ kXR_wmode
Definition: XProtocol.hh:625
@ kXR_evict
Definition: XProtocol.hh:630
@ kXR_usetcp
Definition: XProtocol.hh:628
@ kXR_cancel
Definition: XProtocol.hh:621
@ kXR_fresh
Definition: XProtocol.hh:627
@ kXR_notify
Definition: XProtocol.hh:622
@ kXR_coloc
Definition: XProtocol.hh:626
@ kXR_stage
Definition: XProtocol.hh:624
@ kXR_noerrs
Definition: XProtocol.hh:623

◆ XQueryType

enum XQueryType
Enumerator
kXR_QStats 
kXR_QPrep 
kXR_Qcksum 
kXR_Qxattr 
kXR_Qspace 
kXR_Qckscan 
kXR_Qconfig 
kXR_Qvisa 
kXR_QFinfo 
kXR_QFSinfo 
kXR_Qopaque 
kXR_Qopaquf 
kXR_Qopaqug 

Definition at line 648 of file XProtocol.hh.

648  {
649  kXR_QStats = 1,
650  kXR_QPrep = 2,
651  kXR_Qcksum = 3,
652  kXR_Qxattr = 4,
653  kXR_Qspace = 5,
654  kXR_Qckscan= 6,
655  kXR_Qconfig= 7,
656  kXR_Qvisa = 8,
657  kXR_QFinfo = 9,
658  kXR_QFSinfo=10,
659  kXR_Qopaque=16,
660  kXR_Qopaquf=32,
661  kXR_Qopaqug=64
662 };
@ kXR_QPrep
Definition: XProtocol.hh:650
@ kXR_Qopaqug
Definition: XProtocol.hh:661
@ kXR_Qconfig
Definition: XProtocol.hh:655
@ kXR_Qopaquf
Definition: XProtocol.hh:660
@ kXR_QFSinfo
Definition: XProtocol.hh:658
@ kXR_Qckscan
Definition: XProtocol.hh:654
@ kXR_Qxattr
Definition: XProtocol.hh:652
@ kXR_Qspace
Definition: XProtocol.hh:653
@ kXR_Qvisa
Definition: XProtocol.hh:656
@ kXR_QStats
Definition: XProtocol.hh:649
@ kXR_Qcksum
Definition: XProtocol.hh:651
@ kXR_QFinfo
Definition: XProtocol.hh:657
@ kXR_Qopaque
Definition: XProtocol.hh:659

◆ XRequestTypes

Enumerator
kXR_1stRequest 
kXR_auth 
kXR_query 
kXR_chmod 
kXR_close 
kXR_dirlist 
kXR_gpfile 
kXR_protocol 
kXR_login 
kXR_mkdir 
kXR_mv 
kXR_open 
kXR_ping 
kXR_chkpoint 
kXR_read 
kXR_rm 
kXR_rmdir 
kXR_sync 
kXR_stat 
kXR_set 
kXR_write 
kXR_fattr 
kXR_prepare 
kXR_statx 
kXR_endsess 
kXR_bind 
kXR_readv 
kXR_pgwrite 
kXR_locate 
kXR_truncate 
kXR_sigver 
kXR_pgread 
kXR_writev 
kXR_clone 
kXR_REQFENCE 

Definition at line 111 of file XProtocol.hh.

111  {
112  kXR_1stRequest= 3000,
113  kXR_auth = 3000,
114  kXR_query, // 3001
115  kXR_chmod, // 3002
116  kXR_close, // 3003
117  kXR_dirlist, // 3004
118  kXR_gpfile, // 3005 was kXR_getfile
119  kXR_protocol,// 3006
120  kXR_login, // 3007
121  kXR_mkdir, // 3008
122  kXR_mv, // 3009
123  kXR_open, // 3010
124  kXR_ping, // 3011
125  kXR_chkpoint,// 3012 was kXR_putfile
126  kXR_read, // 3013
127  kXR_rm, // 3014
128  kXR_rmdir, // 3015
129  kXR_sync, // 3016
130  kXR_stat, // 3017
131  kXR_set, // 3018
132  kXR_write, // 3019
133  kXR_fattr, // 3020 was kXR_admin
134  kXR_prepare, // 3021
135  kXR_statx, // 3022
136  kXR_endsess, // 3023
137  kXR_bind, // 3024
138  kXR_readv, // 3025
139  kXR_pgwrite, // 3026 was kXR_verifyw
140  kXR_locate, // 3027
141  kXR_truncate,// 3028
142  kXR_sigver, // 3029
143  kXR_pgread, // 3030 was kXR_decrypt
144  kXR_writev, // 3031
145  kXR_clone, // 3032
146  kXR_REQFENCE // Always last valid request code +1
147 };
@ kXR_read
Definition: XProtocol.hh:126
@ kXR_open
Definition: XProtocol.hh:123
@ kXR_writev
Definition: XProtocol.hh:144
@ kXR_clone
Definition: XProtocol.hh:145
@ kXR_readv
Definition: XProtocol.hh:138
@ kXR_mkdir
Definition: XProtocol.hh:121
@ kXR_sync
Definition: XProtocol.hh:129
@ kXR_REQFENCE
Definition: XProtocol.hh:146
@ kXR_chmod
Definition: XProtocol.hh:115
@ kXR_bind
Definition: XProtocol.hh:137
@ kXR_dirlist
Definition: XProtocol.hh:117
@ kXR_sigver
Definition: XProtocol.hh:142
@ kXR_fattr
Definition: XProtocol.hh:133
@ kXR_rm
Definition: XProtocol.hh:127
@ kXR_query
Definition: XProtocol.hh:114
@ kXR_write
Definition: XProtocol.hh:132
@ kXR_gpfile
Definition: XProtocol.hh:118
@ kXR_login
Definition: XProtocol.hh:120
@ kXR_auth
Definition: XProtocol.hh:113
@ kXR_endsess
Definition: XProtocol.hh:136
@ kXR_set
Definition: XProtocol.hh:131
@ kXR_rmdir
Definition: XProtocol.hh:128
@ kXR_1stRequest
Definition: XProtocol.hh:112
@ kXR_statx
Definition: XProtocol.hh:135
@ kXR_truncate
Definition: XProtocol.hh:141
@ kXR_protocol
Definition: XProtocol.hh:119
@ kXR_mv
Definition: XProtocol.hh:122
@ kXR_ping
Definition: XProtocol.hh:124
@ kXR_stat
Definition: XProtocol.hh:130
@ kXR_pgread
Definition: XProtocol.hh:143
@ kXR_chkpoint
Definition: XProtocol.hh:125
@ kXR_locate
Definition: XProtocol.hh:140
@ kXR_close
Definition: XProtocol.hh:116
@ kXR_pgwrite
Definition: XProtocol.hh:139
@ kXR_prepare
Definition: XProtocol.hh:134

◆ XResponseType

Enumerator
kXR_ok 
kXR_oksofar 
kXR_attn 
kXR_authmore 
kXR_error 
kXR_redirect 
kXR_wait 
kXR_waitresp 
kXR_status 
kXR_noResponsesYet 

Definition at line 940 of file XProtocol.hh.

940  {
941  kXR_ok = 0,
942  kXR_oksofar = 4000,
943  kXR_attn, // 4001
944  kXR_authmore,// 4002
945  kXR_error, // 4003
946  kXR_redirect,// 4004
947  kXR_wait, // 4005
948  kXR_waitresp,// 4006
949  kXR_status, // 4007
950  kXR_noResponsesYet = 10000
951 };
@ kXR_noResponsesYet
Definition: XProtocol.hh:950
@ kXR_waitresp
Definition: XProtocol.hh:948
@ kXR_redirect
Definition: XProtocol.hh:946
@ kXR_oksofar
Definition: XProtocol.hh:942
@ kXR_status
Definition: XProtocol.hh:949
@ kXR_ok
Definition: XProtocol.hh:941
@ kXR_authmore
Definition: XProtocol.hh:944
@ kXR_attn
Definition: XProtocol.hh:943
@ kXR_wait
Definition: XProtocol.hh:947
@ kXR_error
Definition: XProtocol.hh:945

◆ XSecCrypto

enum XSecCrypto
Enumerator
kXR_SHA256 
kXR_HashMask 
kXR_rsaKey 

Definition at line 766 of file XProtocol.hh.

766  {
767  kXR_SHA256 = 0x01, // Hash used
768  kXR_HashMask = 0x0f, // Mak to extract the hash type
769  kXR_rsaKey = 0x80 // The rsa key was used
770 };
@ kXR_SHA256
Definition: XProtocol.hh:767
@ kXR_HashMask
Definition: XProtocol.hh:768
@ kXR_rsaKey
Definition: XProtocol.hh:769

◆ XSecFlags

enum XSecFlags
Enumerator
kXR_nodata 

Definition at line 773 of file XProtocol.hh.

773  {
774  kXR_nodata = 1 // Request payload was not hashed
775 };
@ kXR_nodata
Definition: XProtocol.hh:774

◆ XSecVersion

Enumerator
kXR_Ver_00 

Definition at line 778 of file XProtocol.hh.

778  {
779  kXR_Ver_00 = 0
780 };
@ kXR_Ver_00
Definition: XProtocol.hh:779

◆ XStatRequestOption

Enumerator
kXR_vfs 

Definition at line 798 of file XProtocol.hh.

798  {
799  kXR_vfs = 1
800 };
@ kXR_vfs
Definition: XProtocol.hh:799

◆ XStatRequestWants

Enumerator
kXR_Want_btime 

Definition at line 802 of file XProtocol.hh.

802  {
803  kXR_Want_btime = 0x00000001
804 };
@ kXR_Want_btime
Definition: XProtocol.hh:803

◆ XStatRespFlags

Enumerator
kXR_file 
kXR_xset 
kXR_isDir 
kXR_other 
kXR_offline 
kXR_readable 
kXR_writable 
kXR_poscpend 
kXR_bkpexist 
kXR_cachersp 

Definition at line 1260 of file XProtocol.hh.

1260  {
1261  kXR_file = 0,
1262  kXR_xset = 1,
1263  kXR_isDir = 2,
1264  kXR_other = 4,
1265  kXR_offline = 8,
1266  kXR_readable=16,
1267  kXR_writable=32,
1268  kXR_poscpend=64,
1269  kXR_bkpexist=128,
1270  kXR_cachersp=512
1271 };
@ kXR_readable
Definition: XProtocol.hh:1266
@ kXR_file
Definition: XProtocol.hh:1261
@ kXR_isDir
Definition: XProtocol.hh:1263
@ kXR_offline
Definition: XProtocol.hh:1265
@ kXR_bkpexist
Definition: XProtocol.hh:1269
@ kXR_other
Definition: XProtocol.hh:1264
@ kXR_poscpend
Definition: XProtocol.hh:1268
@ kXR_writable
Definition: XProtocol.hh:1267
@ kXR_cachersp
Definition: XProtocol.hh:1270
@ kXR_xset
Definition: XProtocol.hh:1262

◆ XVirtRequestTypes

Enumerator
kXR_virtReadv 

Definition at line 151 of file XProtocol.hh.

151  {
152  kXR_virtReadv = 2000
153 };
@ kXR_virtReadv
Definition: XProtocol.hh:152

Variable Documentation

◆ kXR_ckpBegin

const int kXR_ckpBegin = 0
static

Definition at line 214 of file XProtocol.hh.

Referenced by XrdCl::XRootDTransport::GenerateDescription().

◆ kXR_ckpCommit

const int kXR_ckpCommit = 1
static

Definition at line 215 of file XProtocol.hh.

Referenced by XrdCl::XRootDTransport::GenerateDescription().

◆ kXR_ckpMinMax

const int kXR_ckpMinMax = 104857604
static

Definition at line 222 of file XProtocol.hh.

◆ kXR_ckpQuery

const int kXR_ckpQuery = 2
static

Definition at line 216 of file XProtocol.hh.

Referenced by XrdCl::XRootDTransport::GenerateDescription().

◆ kXR_ckpRollback

const int kXR_ckpRollback = 3
static

Definition at line 217 of file XProtocol.hh.

Referenced by XrdCl::XRootDTransport::GenerateDescription().

◆ kXR_ckpXeq