XRootD
Loading...
Searching...
No Matches
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_Login
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

namespace  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.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.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

◆ EBADRQC

#define EBADRQC   EBADRPC

Definition at line 1389 of file XProtocol.hh.

Referenced by XProtocol::mapError(), and XProtocol::toErrno().

◆ ENOATTR

◆ kXR_anongpf

#define kXR_anongpf   0x00800000

Definition at line 1214 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

◆ kXR_attrCache

#define kXR_attrCache   0x00000080

Definition at line 1200 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

◆ kXR_attrMeta

#define kXR_attrMeta   0x00000100

◆ kXR_attrProxy

#define kXR_attrProxy   0x00000200

Definition at line 1202 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

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

Referenced by XrdCl::MessageUtils::RedirectMessage().

◆ kXR_collapseRedir

#define kXR_collapseRedir   0x00002000

Definition at line 1209 of file XProtocol.hh.

Referenced by XrdCl::XRootDMsgHandler::Process().

◆ kXR_DataServer

#define kXR_DataServer   1

Definition at line 1192 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure(), and XrdXrootdProtocol::Match().

◆ kXR_ecRedir

#define kXR_ecRedir   0x00004000

Definition at line 1210 of file XProtocol.hh.

Referenced by XrdCl::XRootDMsgHandler::Process().

◆ kXR_gotoTLS

#define kXR_gotoTLS   0x40000000

◆ kXR_haveTLS

#define kXR_haveTLS   0x80000000

Definition at line 1221 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

◆ kXR_isManager

◆ kXR_isServer

◆ kXR_LBalServer

#define kXR_LBalServer   0

Definition at line 1193 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure(), and XrdXrootdProtocol::Match().

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

Referenced by XrdCl::Utils::HasKSameFS().

◆ kXR_PROTOCOLVERSION

#define kXR_PROTOCOLVERSION   0x00000520

◆ kXR_PROTOCOLVSTRING

#define kXR_PROTOCOLVSTRING   "5.2.0"

Definition at line 76 of file XProtocol.hh.

Referenced by XrdgetProtocol().

◆ kXR_PROTPGRWVERSION

#define kXR_PROTPGRWVERSION   0x00000511

Definition at line 73 of file XProtocol.hh.

Referenced by XrdCl::Utils::HasPgRW(), and XrdCl::FileStateHandler::PgRead().

◆ kXR_PROTSIGNVERSION

#define kXR_PROTSIGNVERSION   0x00000310

Definition at line 75 of file XProtocol.hh.

Referenced by XrdSecProtector::New4Server().

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

Referenced by XrdCl::Utils::HasXAttr().

◆ kXR_recoverWrts

#define kXR_recoverWrts   0x00001000

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

Referenced by XrdSecProtector::New4Client(), XrdSecGetProtection(), and XrdVERSIONINFO().

◆ kXR_secOData

#define kXR_secOData   0x01

Definition at line 1168 of file XProtocol.hh.

Referenced by XrdSecProtect::SetProtection().

◆ kXR_secOFrce

#define kXR_secOFrce   0x02

Definition at line 1169 of file XProtocol.hh.

Referenced by XrdSecProtector::New4Client().

◆ kXR_secPedantic

#define kXR_secPedantic   4

Definition at line 1177 of file XProtocol.hh.

Referenced by XrdSecProtect::SetProtection().

◆ kXR_secStandard

#define kXR_secStandard   2

Definition at line 1175 of file XProtocol.hh.

◆ kXR_secver_0

#define kXR_secver_0   0

◆ kXR_ShortProtRespLen

#define kXR_ShortProtRespLen
Value:

Definition at line 1242 of file XProtocol.hh.

1242#define kXR_ShortProtRespLen sizeof(ServerResponseBody_Protocol)-\
1243 sizeof(ServerResponseReqs_Protocol)

Referenced by XrdSecGetProtection().

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

Referenced by XrdSecProtect::SetProtection().

◆ kXR_supgpf

#define kXR_supgpf   0x00400000

Definition at line 1215 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

◆ kXR_suppgrw

#define kXR_suppgrw   0x00200000

Definition at line 1216 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure(), and XrdCl::FileStateHandler::PgRead().

◆ kXR_supposc

#define kXR_supposc   0x00100000

Definition at line 1217 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

◆ kXR_tlsAny

#define kXR_tlsAny   0x1f000000

Definition at line 1223 of file XProtocol.hh.

Referenced by XrdXrootdProtocol::Configure().

◆ kXR_tlsData

#define kXR_tlsData   0x01000000

◆ 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

◆ kXR_tlsSess

#define kXR_tlsSess   0x08000000

◆ 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
@ kXR_InvalidRequest
@ kXR_ArgMissing
@ kXR_fsReadOnly
@ kXR_Impossible
@ kXR_TLSRequired
@ kXR_SigVerErr
@ kXR_TimerExpired
@ kXR_TooManyErrs
@ kXR_AttrNotFound
@ kXR_ItExists
@ kXR_AuthFailed
@ kXR_NotAuthorized
@ kXR_NotFound
@ kXR_FileLocked
@ kXR_ERRFENCE
@ kXR_noErrorYet
@ kXR_ChkSumErr
@ kXR_DecryptErr
@ kXR_overQuota
@ kXR_BadPayload
@ kXR_NoSpace
@ kXR_FileNotOpen
@ kXR_isDirectory
@ kXR_noReplicas
@ kXR_inProgress
@ kXR_NotFile
@ kXR_Unsupported
@ kXR_Cancelled
@ kXR_Conflict
@ kXR_ServerError
@ kXR_Overloaded
@ kXR_ArgTooLong
@ kXR_noserver
@ kXR_ReqTimedOut
@ kXR_IOError
@ kXR_FSError
@ kXR_NoMemory

◆ 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
@ kXR_file
@ kXR_isDir
@ kXR_offline
@ kXR_bkpexist
@ kXR_other
@ kXR_poscpend
@ kXR_writable
@ kXR_cachersp
@ kXR_xset

◆ 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