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  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  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_PROTOCOLVERSION   0x00000511
 
#define kXR_PROTOCOLVSTRING   "5.1.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
}
 
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
}
 
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_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_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  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
}
 
enum  XVirtRequestTypes { kXR_virtReadv = 2000 }
 

Variables

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::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 1317 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 166 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 178 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 201 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 189 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]

◆ ClientCloseRequest

struct ClientCloseRequest

Definition at line 226 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 244 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 256 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 330 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 83 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 343 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 392 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 413 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 426 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 477 of file XProtocol.hh.

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

◆ ClientPgReadReqArgs

struct ClientPgReadReqArgs

Definition at line 515 of file XProtocol.hh.

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

◆ ClientPgReadRequest

struct ClientPgReadRequest

Definition at line 506 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 528 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 544 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 599 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 628 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 642 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 668 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 845 of file XProtocol.hh.

+ Collaboration diagram for ClientRequest:
Class Members
struct ClientAuthRequest auth
struct ClientBindRequest bind
struct ClientChkPointRequest chkpoint
struct ClientChmodRequest chmod
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 155 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 706 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 695 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 717 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 746 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 766 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[11]
kXR_char streamid[2]

◆ ClientSyncRequest

struct ClientSyncRequest

Definition at line 779 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 791 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 804 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]

◆ read_args

struct read_args

Definition at line 652 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 679 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 658 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 880 of file XProtocol.hh.

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

◆ ServerInitHandShake

struct ServerInitHandShake

Definition at line 93 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 1285 of file XProtocol.hh.

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

◆ ServerResponse.body

union ServerResponse.body

Definition at line 1288 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 1091 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 941 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 1459 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 946 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 1465 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 1471 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 953 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 964 of file XProtocol.hh.

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

◆ ServerResponseBody_Bind

struct ServerResponseBody_Bind

Definition at line 972 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Bind:
Class Members
kXR_char substreamid

◆ ServerResponseBody_Buffer

struct ServerResponseBody_Buffer

Definition at line 921 of file XProtocol.hh.

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

◆ ServerResponseBody_ChkPoint

struct ServerResponseBody_ChkPoint

Definition at line 980 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 1030 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 1039 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 1048 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 1058 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_pgRead:
Class Members
kXR_int64 offset

◆ ServerResponseBody_pgWrCSE

struct ServerResponseBody_pgWrCSE

Definition at line 1075 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 1067 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_pgWrite:
Class Members
kXR_int64 offset

◆ ServerResponseBody_Protocol

struct ServerResponseBody_Protocol

Definition at line 1191 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 1207 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 1234 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 1268 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 1277 of file XProtocol.hh.

+ Collaboration diagram for ServerResponseBody_Waitresp:
Class Members
kXR_int32 seconds

◆ ServerResponseHeader

struct ServerResponseHeader

Definition at line 913 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 1107 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 1259 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 1102 of file XProtocol.hh.

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

◆ ServerResponseV2

struct ServerResponseV2

Definition at line 1307 of file XProtocol.hh.

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

◆ ServerResponseV2.info

union ServerResponseV2.info

Definition at line 1310 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 831 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 1350 of file XProtocol.hh.

◆ EBADRQC

#define EBADRQC   EBADRPC

Definition at line 1346 of file XProtocol.hh.

◆ ENOATTR

#define ENOATTR   ENODATA

Definition at line 1342 of file XProtocol.hh.

◆ kXR_anongpf

#define kXR_anongpf   0x00800000

Definition at line 1172 of file XProtocol.hh.

◆ kXR_attrCache

#define kXR_attrCache   0x00000080

Definition at line 1158 of file XProtocol.hh.

◆ kXR_attrMeta

#define kXR_attrMeta   0x00000100

Definition at line 1159 of file XProtocol.hh.

◆ kXR_attrProxy

#define kXR_attrProxy   0x00000200

Definition at line 1160 of file XProtocol.hh.

◆ kXR_attrSuper

#define kXR_attrSuper   0x00000400

Definition at line 1161 of file XProtocol.hh.

◆ kXR_attrVirtRdr

#define kXR_attrVirtRdr   0x00000800

Definition at line 1162 of file XProtocol.hh.

◆ kXR_collapseRedir

#define kXR_collapseRedir   0x00002000

Definition at line 1167 of file XProtocol.hh.

◆ kXR_DataServer

#define kXR_DataServer   1

Definition at line 1150 of file XProtocol.hh.

◆ kXR_ecRedir

#define kXR_ecRedir   0x00004000

Definition at line 1168 of file XProtocol.hh.

◆ kXR_gotoTLS

#define kXR_gotoTLS   0x40000000

Definition at line 1180 of file XProtocol.hh.

◆ kXR_haveTLS

#define kXR_haveTLS   0x80000000

Definition at line 1179 of file XProtocol.hh.

◆ kXR_isManager

#define kXR_isManager   0x00000002

Definition at line 1156 of file XProtocol.hh.

◆ kXR_isServer

#define kXR_isServer   0x00000001

Definition at line 1157 of file XProtocol.hh.

◆ kXR_LBalServer

#define kXR_LBalServer   0

Definition at line 1151 of file XProtocol.hh.

◆ kXR_maxReqRetry

#define kXR_maxReqRetry   10

Definition at line 1490 of file XProtocol.hh.

◆ kXR_PROTOCOLVERSION

#define kXR_PROTOCOLVERSION   0x00000511

Definition at line 70 of file XProtocol.hh.

◆ kXR_PROTOCOLVSTRING

#define kXR_PROTOCOLVSTRING   "5.1.0"

Definition at line 75 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 74 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 1166 of file XProtocol.hh.

◆ kXR_secCompatible

#define kXR_secCompatible   1

Definition at line 1132 of file XProtocol.hh.

◆ kXR_secIntense

#define kXR_secIntense   3

Definition at line 1134 of file XProtocol.hh.

◆ kXR_secNone

#define kXR_secNone   0

Definition at line 1131 of file XProtocol.hh.

◆ kXR_secOData

#define kXR_secOData   0x01

Definition at line 1126 of file XProtocol.hh.

◆ kXR_secOFrce

#define kXR_secOFrce   0x02

Definition at line 1127 of file XProtocol.hh.

◆ kXR_secPedantic

#define kXR_secPedantic   4

Definition at line 1135 of file XProtocol.hh.

◆ kXR_secStandard

#define kXR_secStandard   2

Definition at line 1133 of file XProtocol.hh.

◆ kXR_secver_0

#define kXR_secver_0   0

Definition at line 1146 of file XProtocol.hh.

◆ kXR_ShortProtRespLen

#define kXR_ShortProtRespLen

◆ kXR_signIgnore

#define kXR_signIgnore   0

Definition at line 1139 of file XProtocol.hh.

◆ kXR_signLikely

#define kXR_signLikely   1

Definition at line 1140 of file XProtocol.hh.

◆ kXR_signNeeded

#define kXR_signNeeded   2

Definition at line 1141 of file XProtocol.hh.

◆ kXR_supgpf

#define kXR_supgpf   0x00400000

Definition at line 1173 of file XProtocol.hh.

◆ kXR_suppgrw

#define kXR_suppgrw   0x00200000

Definition at line 1174 of file XProtocol.hh.

◆ kXR_supposc

#define kXR_supposc   0x00100000

Definition at line 1175 of file XProtocol.hh.

◆ kXR_tlsAny

#define kXR_tlsAny   0x1f000000

Definition at line 1181 of file XProtocol.hh.

◆ kXR_tlsData

#define kXR_tlsData   0x01000000

Definition at line 1182 of file XProtocol.hh.

◆ kXR_tlsGPF

#define kXR_tlsGPF   0x02000000

Definition at line 1183 of file XProtocol.hh.

◆ kXR_tlsGPFA

#define kXR_tlsGPFA   0x20000000

Definition at line 1187 of file XProtocol.hh.

◆ kXR_tlsLogin

#define kXR_tlsLogin   0x04000000

Definition at line 1184 of file XProtocol.hh.

◆ kXR_tlsSess

#define kXR_tlsSess   0x08000000

Definition at line 1185 of file XProtocol.hh.

◆ kXR_tlsTPC

#define kXR_tlsTPC   0x10000000

Definition at line 1186 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 929 of file XProtocol.hh.

929  {
930  kXR_asyncab = 5000, // No longer supported
931  kXR_asyncdi, // 5001 No longer supported
932  kXR_asyncms = 5002,
933  kXR_asyncrd, // 5003 No longer supported
934  kXR_asyncwt, // 5004 No longer supported
935  kXR_asyncav, // 5005 No longer supported
936  kXR_asynunav, // 5006 No longer supported
937  kXR_asyncgo, // 5007 No longer supported
938  kXR_asynresp= 5008
939 };
@ kXR_asyncgo
Definition: XProtocol.hh:937
@ kXR_asyncwt
Definition: XProtocol.hh:934
@ kXR_asynunav
Definition: XProtocol.hh:936
@ kXR_asynresp
Definition: XProtocol.hh:938
@ kXR_asyncav
Definition: XProtocol.hh:935
@ kXR_asyncms
Definition: XProtocol.hh:932
@ kXR_asyncab
Definition: XProtocol.hh:930
@ kXR_asyncrd
Definition: XProtocol.hh:933
@ kXR_asyncdi
Definition: XProtocol.hh:931

◆ XDirlistRequestOption

Enumerator
kXR_online 
kXR_dstat 
kXR_dcksm 

Definition at line 238 of file XProtocol.hh.

238  {
239  kXR_online = 1,
240  kXR_dstat = 2,
241  kXR_dcksm = 4 // dcksm implies dstat irrespective of dstat setting
242 };
@ kXR_dstat
Definition: XProtocol.hh:240
@ kXR_dcksm
Definition: XProtocol.hh:241
@ kXR_online
Definition: XProtocol.hh:239

◆ 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 989 of file XProtocol.hh.

989  {
990  kXR_ArgInvalid = 3000,
991  kXR_ArgMissing, // 3001
992  kXR_ArgTooLong, // 3002
993  kXR_FileLocked, // 3003
994  kXR_FileNotOpen, // 3004
995  kXR_FSError, // 3005
996  kXR_InvalidRequest, // 3006
997  kXR_IOError, // 3007
998  kXR_NoMemory, // 3008
999  kXR_NoSpace, // 3009
1000  kXR_NotAuthorized, // 3010
1001  kXR_NotFound, // 3011
1002  kXR_ServerError, // 3012
1003  kXR_Unsupported, // 3013
1004  kXR_noserver, // 3014
1005  kXR_NotFile, // 3015
1006  kXR_isDirectory, // 3016
1007  kXR_Cancelled, // 3017
1008  kXR_ItExists, // 3018
1009  kXR_ChkSumErr, // 3019
1010  kXR_inProgress, // 3020
1011  kXR_overQuota, // 3021
1012  kXR_SigVerErr, // 3022
1013  kXR_DecryptErr, // 3023
1014  kXR_Overloaded, // 3024
1015  kXR_fsReadOnly, // 3025
1016  kXR_BadPayload, // 3026
1017  kXR_AttrNotFound, // 3027
1018  kXR_TLSRequired, // 3028
1019  kXR_noReplicas, // 3029
1020  kXR_AuthFailed, // 3030
1021  kXR_Impossible, // 3031
1022  kXR_Conflict, // 3032
1023  kXR_TooManyErrs, // 3033
1024  kXR_ReqTimedOut, // 3034
1025  kXR_TimerExpired, // 3035
1026  kXR_ERRFENCE, // Always last valid errcode + 1
1027  kXR_noErrorYet = 10000
1028 };
@ kXR_ArgInvalid
Definition: XProtocol.hh:990
@ kXR_InvalidRequest
Definition: XProtocol.hh:996
@ kXR_ArgMissing
Definition: XProtocol.hh:991
@ kXR_fsReadOnly
Definition: XProtocol.hh:1015
@ kXR_Impossible
Definition: XProtocol.hh:1021
@ kXR_TLSRequired
Definition: XProtocol.hh:1018
@ kXR_SigVerErr
Definition: XProtocol.hh:1012
@ kXR_TimerExpired
Definition: XProtocol.hh:1025
@ kXR_TooManyErrs
Definition: XProtocol.hh:1023
@ kXR_AttrNotFound
Definition: XProtocol.hh:1017
@ kXR_ItExists
Definition: XProtocol.hh:1008
@ kXR_AuthFailed
Definition: XProtocol.hh:1020
@ kXR_NotAuthorized
Definition: XProtocol.hh:1000
@ kXR_NotFound
Definition: XProtocol.hh:1001
@ kXR_FileLocked
Definition: XProtocol.hh:993
@ kXR_ERRFENCE
Definition: XProtocol.hh:1026
@ kXR_noErrorYet
Definition: XProtocol.hh:1027
@ kXR_ChkSumErr
Definition: XProtocol.hh:1009
@ kXR_DecryptErr
Definition: XProtocol.hh:1013
@ kXR_overQuota
Definition: XProtocol.hh:1011
@ kXR_BadPayload
Definition: XProtocol.hh:1016
@ kXR_NoSpace
Definition: XProtocol.hh:999
@ kXR_FileNotOpen
Definition: XProtocol.hh:994
@ kXR_isDirectory
Definition: XProtocol.hh:1006
@ kXR_noReplicas
Definition: XProtocol.hh:1019
@ kXR_inProgress
Definition: XProtocol.hh:1010
@ kXR_NotFile
Definition: XProtocol.hh:1005
@ kXR_Unsupported
Definition: XProtocol.hh:1003
@ kXR_Cancelled
Definition: XProtocol.hh:1007
@ kXR_Conflict
Definition: XProtocol.hh:1022
@ kXR_ServerError
Definition: XProtocol.hh:1002
@ kXR_Overloaded
Definition: XProtocol.hh:1014
@ kXR_ArgTooLong
Definition: XProtocol.hh:992
@ kXR_noserver
Definition: XProtocol.hh:1004
@ kXR_ReqTimedOut
Definition: XProtocol.hh:1024
@ kXR_IOError
Definition: XProtocol.hh:997
@ kXR_FSError
Definition: XProtocol.hh:995
@ kXR_NoMemory
Definition: XProtocol.hh:998

◆ xfaLimits

enum xfaLimits
Enumerator
kXR_faMaxVars 
kXR_faMaxNlen 
kXR_faMaxVlen 

Definition at line 279 of file XProtocol.hh.

279  {
280  kXR_faMaxVars = 16, // Maximum variables per request
281  kXR_faMaxNlen = 248, // Maximum length of variable name
282  kXR_faMaxVlen = 65536 // Maximum length of variable value
283 };
@ kXR_faMaxVars
Definition: XProtocol.hh:280
@ kXR_faMaxVlen
Definition: XProtocol.hh:282
@ kXR_faMaxNlen
Definition: XProtocol.hh:281

◆ xfaSubCode

enum xfaSubCode
Enumerator
kXR_fattrDel 
kXR_fattrGet 
kXR_fattrList 
kXR_fattrSet 
kXR_fatrrMaxSC 

Definition at line 269 of file XProtocol.hh.

269  {
270  kXR_fattrDel = 0,
271  kXR_fattrGet = 1,
272  kXR_fattrList = 2,
273  kXR_fattrSet = 3,
274  kXR_fatrrMaxSC = 3 // Highest valid subcode
275 };
@ kXR_fattrDel
Definition: XProtocol.hh:270
@ kXR_fattrSet
Definition: XProtocol.hh:273
@ kXR_fattrList
Definition: XProtocol.hh:272
@ kXR_fattrGet
Definition: XProtocol.hh:271
@ kXR_fatrrMaxSC
Definition: XProtocol.hh:274

◆ XLoginAbility

Enumerator
kXR_nothing 
kXR_fullurl 
kXR_multipr 
kXR_readrdok 
kXR_hasipv64 
kXR_onlyprv4 
kXR_onlyprv6 
kXR_lclfile 
kXR_redirflags 

Definition at line 356 of file XProtocol.hh.

356  {
357  kXR_nothing = 0,
358  kXR_fullurl = 1,
359  kXR_multipr = 3,
360  kXR_readrdok = 4,
361  kXR_hasipv64 = 8,
362  kXR_onlyprv4 = 16,
363  kXR_onlyprv6 = 32,
364  kXR_lclfile = 64,
365  kXR_redirflags = 128
366 };
@ kXR_readrdok
Definition: XProtocol.hh:360
@ kXR_fullurl
Definition: XProtocol.hh:358
@ kXR_onlyprv4
Definition: XProtocol.hh:362
@ kXR_lclfile
Definition: XProtocol.hh:364
@ kXR_multipr
Definition: XProtocol.hh:359
@ kXR_nothing
Definition: XProtocol.hh:357
@ kXR_redirflags
Definition: XProtocol.hh:365
@ kXR_hasipv64
Definition: XProtocol.hh:361
@ kXR_onlyprv6
Definition: XProtocol.hh:363

◆ XLoginAbility2

Enumerator
kXR_empty 
kXR_ecredir 

Definition at line 369 of file XProtocol.hh.

369  {
370  kXR_empty = 0,
371  kXR_ecredir = 1
372 };
@ kXR_empty
Definition: XProtocol.hh:370
@ kXR_ecredir
Definition: XProtocol.hh:371

◆ XLoginCapVer

Enumerator
kXR_lcvnone 
kXR_vermask 
kXR_asyncap 

Definition at line 375 of file XProtocol.hh.

375  {
376  kXR_lcvnone = 0,
377  kXR_vermask = 63,
378  kXR_asyncap = 128
379 };
@ kXR_vermask
Definition: XProtocol.hh:377
@ kXR_asyncap
Definition: XProtocol.hh:378
@ kXR_lcvnone
Definition: XProtocol.hh:376

◆ XLoginVersion

Enumerator
kXR_ver000 
kXR_ver001 
kXR_ver002 
kXR_ver003 
kXR_ver004 
kXR_ver005 

Definition at line 383 of file XProtocol.hh.

383  {
384  kXR_ver000 = 0, // Old clients predating history
385  kXR_ver001 = 1, // Generally implemented 2005 protocol
386  kXR_ver002 = 2, // Same as 1 but adds asyncresp recognition
387  kXR_ver003 = 3, // The 2011-2012 rewritten client
388  kXR_ver004 = 4, // The 2016 sign-capable client
389  kXR_ver005 = 5 // The 2019 TLS-capable client
390 };
@ kXR_ver005
Definition: XProtocol.hh:389
@ kXR_ver001
Definition: XProtocol.hh:385
@ kXR_ver003
Definition: XProtocol.hh:387
@ kXR_ver000
Definition: XProtocol.hh:384
@ kXR_ver004
Definition: XProtocol.hh:388
@ kXR_ver002
Definition: XProtocol.hh:386

◆ XMkdirOptions

Enumerator
kXR_mknone 
kXR_mkdirpath 

Definition at line 408 of file XProtocol.hh.

408  {
409  kXR_mknone = 0,
410  kXR_mkdirpath = 1
411 };
@ kXR_mkdirpath
Definition: XProtocol.hh:410
@ kXR_mknone
Definition: XProtocol.hh:409

◆ XOpenRequestMode

Enumerator
kXR_ur 
kXR_uw 
kXR_ux 
kXR_gr 
kXR_gw 
kXR_gx 
kXR_or 
kXR_ow 
kXR_ox 

Definition at line 439 of file XProtocol.hh.

439  {
440  kXR_ur = 0x100,
441  kXR_uw = 0x080,
442  kXR_ux = 0x040,
443  kXR_gr = 0x020,
444  kXR_gw = 0x010,
445  kXR_gx = 0x008,
446  kXR_or = 0x004,
447  kXR_ow = 0x002,
448  kXR_ox = 0x001
449 };
@ kXR_gw
Definition: XProtocol.hh:444
@ kXR_ur
Definition: XProtocol.hh:440
@ kXR_uw
Definition: XProtocol.hh:441
@ kXR_gr
Definition: XProtocol.hh:443
@ kXR_ow
Definition: XProtocol.hh:447
@ kXR_gx
Definition: XProtocol.hh:445
@ kXR_or
Definition: XProtocol.hh:446
@ kXR_ox
Definition: XProtocol.hh:448
@ kXR_ux
Definition: XProtocol.hh:442

◆ 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 451 of file XProtocol.hh.

451  {
452  kXR_compress = 0x0001, // 1 // also locate (return unique hosts)
453  kXR_delete = 0x0002, // 2
454  kXR_force = 0x0004, // 4
455  kXR_new = 0x0008, // 8
456  kXR_open_read= 0x0010, // 16
457  kXR_open_updt= 0x0020, // 32
458  kXR_async = 0x0040, // 64
459  kXR_refresh = 0x0080, // 128 // also locate
460  kXR_mkpath = 0x0100, // 256
461  kXR_prefname = 0x0100, // 256 // only locate
462  kXR_open_apnd= 0x0200, // 512
463  kXR_retstat = 0x0400, // 1024
464  kXR_4dirlist = 0x0400, // 1024 // for locate intending a dirlist
465  kXR_replica = 0x0800, // 2048
466  kXR_posc = 0x1000, // 4096
467  kXR_nowait = 0x2000, // 8192 // also locate
468  kXR_seqio = 0x4000, // 16384
469  kXR_open_wrto= 0x8000 // 32768
470 };
@ kXR_open_wrto
Definition: XProtocol.hh:469
@ kXR_compress
Definition: XProtocol.hh:452
@ kXR_async
Definition: XProtocol.hh:458
@ kXR_delete
Definition: XProtocol.hh:453
@ kXR_prefname
Definition: XProtocol.hh:461
@ kXR_nowait
Definition: XProtocol.hh:467
@ kXR_open_read
Definition: XProtocol.hh:456
@ kXR_open_updt
Definition: XProtocol.hh:457
@ kXR_mkpath
Definition: XProtocol.hh:460
@ kXR_seqio
Definition: XProtocol.hh:468
@ kXR_replica
Definition: XProtocol.hh:465
@ kXR_posc
Definition: XProtocol.hh:466
@ kXR_refresh
Definition: XProtocol.hh:459
@ kXR_new
Definition: XProtocol.hh:455
@ kXR_force
Definition: XProtocol.hh:454
@ kXR_4dirlist
Definition: XProtocol.hh:464
@ kXR_open_apnd
Definition: XProtocol.hh:462
@ kXR_retstat
Definition: XProtocol.hh:463

◆ XOpenRequestOption2

Enumerator
kXR_dup 
kXR_samefs 

Definition at line 472 of file XProtocol.hh.

472  {
473  kXR_dup = 0x0001, // 1
474  kXR_samefs = 0x0002 // 2
475 };
@ kXR_dup
Definition: XProtocol.hh:473
@ kXR_samefs
Definition: XProtocol.hh:474

◆ XPrepRequestOption

Enumerator
kXR_cancel 
kXR_notify 
kXR_noerrs 
kXR_stage 
kXR_wmode 
kXR_coloc 
kXR_fresh 
kXR_usetcp 
kXR_evict 

Definition at line 586 of file XProtocol.hh.

586  {
587  kXR_cancel = 1,
588  kXR_notify = 2,
589  kXR_noerrs = 4,
590  kXR_stage = 8,
591  kXR_wmode = 16,
592  kXR_coloc = 32,
593  kXR_fresh = 64,
594  kXR_usetcp = 128,
595 
596  kXR_evict = 0x0001 // optionsX: file no longer useful
597 };
@ kXR_wmode
Definition: XProtocol.hh:591
@ kXR_evict
Definition: XProtocol.hh:596
@ kXR_usetcp
Definition: XProtocol.hh:594
@ kXR_cancel
Definition: XProtocol.hh:587
@ kXR_fresh
Definition: XProtocol.hh:593
@ kXR_notify
Definition: XProtocol.hh:588
@ kXR_coloc
Definition: XProtocol.hh:592
@ kXR_stage
Definition: XProtocol.hh:590
@ kXR_noerrs
Definition: XProtocol.hh:589

◆ XQueryType

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

Definition at line 614 of file XProtocol.hh.

614  {
615  kXR_QStats = 1,
616  kXR_QPrep = 2,
617  kXR_Qcksum = 3,
618  kXR_Qxattr = 4,
619  kXR_Qspace = 5,
620  kXR_Qckscan= 6,
621  kXR_Qconfig= 7,
622  kXR_Qvisa = 8,
623  kXR_Qopaque=16,
624  kXR_Qopaquf=32,
625  kXR_Qopaqug=64
626 };
@ kXR_QPrep
Definition: XProtocol.hh:616
@ kXR_Qopaqug
Definition: XProtocol.hh:625
@ kXR_Qconfig
Definition: XProtocol.hh:621
@ kXR_Qopaquf
Definition: XProtocol.hh:624
@ kXR_Qckscan
Definition: XProtocol.hh:620
@ kXR_Qxattr
Definition: XProtocol.hh:618
@ kXR_Qspace
Definition: XProtocol.hh:619
@ kXR_Qvisa
Definition: XProtocol.hh:622
@ kXR_QStats
Definition: XProtocol.hh:615
@ kXR_Qcksum
Definition: XProtocol.hh:617
@ kXR_Qopaque
Definition: XProtocol.hh:623

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

Definition at line 110 of file XProtocol.hh.

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

◆ 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 898 of file XProtocol.hh.

898  {
899  kXR_ok = 0,
900  kXR_oksofar = 4000,
901  kXR_attn, // 4001
902  kXR_authmore,// 4002
903  kXR_error, // 4003
904  kXR_redirect,// 4004
905  kXR_wait, // 4005
906  kXR_waitresp,// 4006
907  kXR_status, // 4007
908  kXR_noResponsesYet = 10000
909 };
@ kXR_noResponsesYet
Definition: XProtocol.hh:908
@ kXR_waitresp
Definition: XProtocol.hh:906
@ kXR_redirect
Definition: XProtocol.hh:904
@ kXR_oksofar
Definition: XProtocol.hh:900
@ kXR_status
Definition: XProtocol.hh:907
@ kXR_ok
Definition: XProtocol.hh:899
@ kXR_authmore
Definition: XProtocol.hh:902
@ kXR_attn
Definition: XProtocol.hh:901
@ kXR_wait
Definition: XProtocol.hh:905
@ kXR_error
Definition: XProtocol.hh:903

◆ XSecCrypto

enum XSecCrypto
Enumerator
kXR_SHA256 
kXR_HashMask 
kXR_rsaKey 

Definition at line 730 of file XProtocol.hh.

730  {
731  kXR_SHA256 = 0x01, // Hash used
732  kXR_HashMask = 0x0f, // Mak to extract the hash type
733  kXR_rsaKey = 0x80 // The rsa key was used
734 };
@ kXR_SHA256
Definition: XProtocol.hh:731
@ kXR_HashMask
Definition: XProtocol.hh:732
@ kXR_rsaKey
Definition: XProtocol.hh:733

◆ XSecFlags

enum XSecFlags
Enumerator
kXR_nodata 

Definition at line 737 of file XProtocol.hh.

737  {
738  kXR_nodata = 1 // Request payload was not hashed
739 };
@ kXR_nodata
Definition: XProtocol.hh:738

◆ XSecVersion

Enumerator
kXR_Ver_00 

Definition at line 742 of file XProtocol.hh.

742  {
743  kXR_Ver_00 = 0
744 };
@ kXR_Ver_00
Definition: XProtocol.hh:743

◆ XStatRequestOption

Enumerator
kXR_vfs 

Definition at line 762 of file XProtocol.hh.

762  {
763  kXR_vfs = 1
764 };
@ kXR_vfs
Definition: XProtocol.hh:763

◆ XStatRespFlags

Enumerator
kXR_file 
kXR_xset 
kXR_isDir 
kXR_other 
kXR_offline 
kXR_readable 
kXR_writable 
kXR_poscpend 
kXR_bkpexist 

Definition at line 1218 of file XProtocol.hh.

1218  {
1219  kXR_file = 0,
1220  kXR_xset = 1,
1221  kXR_isDir = 2,
1222  kXR_other = 4,
1223  kXR_offline = 8,
1224  kXR_readable=16,
1225  kXR_writable=32,
1226  kXR_poscpend=64,
1227  kXR_bkpexist=128
1228 };
@ kXR_readable
Definition: XProtocol.hh:1224
@ kXR_file
Definition: XProtocol.hh:1219
@ kXR_isDir
Definition: XProtocol.hh:1221
@ kXR_offline
Definition: XProtocol.hh:1223
@ kXR_bkpexist
Definition: XProtocol.hh:1227
@ kXR_other
Definition: XProtocol.hh:1222
@ kXR_poscpend
Definition: XProtocol.hh:1226
@ kXR_writable
Definition: XProtocol.hh:1225
@ kXR_xset
Definition: XProtocol.hh:1220

◆ XVirtRequestTypes

Enumerator
kXR_virtReadv 

Definition at line 149 of file XProtocol.hh.

149  {
150  kXR_virtReadv = 2000
151 };
@ kXR_virtReadv
Definition: XProtocol.hh:150

Variable Documentation

◆ kXR_ckpBegin

const int kXR_ckpBegin = 0
static

Definition at line 212 of file XProtocol.hh.

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

◆ kXR_ckpCommit

const int kXR_ckpCommit = 1
static

Definition at line 213 of file XProtocol.hh.

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

◆ kXR_ckpMinMax

const int kXR_ckpMinMax = 104857604
static

Definition at line 220 of file XProtocol.hh.

◆ kXR_ckpQuery

const int kXR_ckpQuery = 2
static

Definition at line 214 of file XProtocol.hh.

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

◆ kXR_ckpRollback

const int kXR_ckpRollback = 3
static

Definition at line 215 of file XProtocol.hh.

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

◆ kXR_ckpXeq