xrootd
Classes | Macros | Typedefs | Enumerations | Functions
XProtocol.hh File Reference
#include "XProtocol/XPtypes.hh"
#include <errno.h>
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  ClientAdminRequest
 
struct  ClientAuthRequest
 
struct  ClientBindRequest
 
struct  ClientChmodRequest
 
struct  ClientCloseRequest
 
struct  ClientDecryptRequest
 
struct  ClientDirlistRequest
 
struct  ClientEndsessRequest
 
struct  ClientGetfileRequest
 
struct  ClientLocateRequest
 
struct  ClientLoginRequest
 
struct  ClientMkdirRequest
 
struct  ClientMvRequest
 
struct  ClientOpenRequest
 
struct  ClientPingRequest
 
struct  ClientProtocolRequest
 
struct  ClientPrepareRequest
 
struct  ClientPutfileRequest
 
struct  ClientQueryRequest
 
struct  ClientReadRequest
 
struct  ClientReadVRequest
 
struct  ClientRmRequest
 
struct  ClientRmdirRequest
 
struct  ClientSetRequest
 
struct  ClientSigverRequest
 
struct  ClientStatRequest
 
struct  ClientSyncRequest
 
struct  ClientTruncateRequest
 
struct  ClientWriteRequest
 
struct  ClientVerifywRequest
 
struct  ClientRequestHdr
 
union  ClientRequest
 
union  SecurityRequest
 
struct  readahead_list
 
struct  read_args
 
struct  ServerResponseHeader
 
struct  ServerResponseBody_Bind
 
struct  ServerResponseBody_Open
 
struct  ServerResponseSVec_Protocol
 
struct  ServerResponseReqs_Protocol
 
struct  ServerResponseBody_Protocol
 
struct  ServerResponseBody_Login
 
struct  ServerResponseBody_Redirect
 
struct  ServerResponseBody_Error
 
struct  ServerResponseBody_Wait
 
struct  ServerResponseBody_Waitresp
 
struct  ServerResponseBody_Attn
 
struct  ServerResponseBody_Attn_asyncrd
 
struct  ServerResponseBody_Attn_asynresp
 
struct  ServerResponseBody_Attn_asyncwt
 
struct  ServerResponseBody_Attn_asyncdi
 
struct  ServerResponseBody_Authmore
 
struct  ServerResponseBody_Buffer
 
struct  ServerResponse
 
struct  ClientInitHandShake
 
struct  ServerInitHandShake
 
struct  ALIGN_CHECK
 
class  XProtocol
 

Macros

#define kXR_PROTOCOLVERSION   0x00000310
 
#define kXR_PROTSIGNVERSION   0x00000310
 
#define kXR_PROTOCOLVSTRING   "3.1.0"
 
#define kXR_DataServer   1
 
#define kXR_LBalServer   0
 
#define kXR_isManager   0x00000002
 
#define kXR_isServer   0x00000001
 
#define kXR_attrMeta   0x00000100
 
#define kXR_attrProxy   0x00000200
 
#define kXR_attrSuper   0x00000400
 
#define kXR_maxReqRetry   10
 
#define kXR_secver_0   0
 
#define kXR_secOData   0x01
 
#define kXR_secOFrce   0x02
 
#define kXR_secNone   0
 
#define kXR_secCompatible   1
 
#define kXR_secStandard   2
 
#define kXR_secIntense   3
 
#define kXR_secPedantic   4
 
#define kXR_signIgnore   0
 
#define kXR_signLikely   1
 
#define kXR_signNeeded   2
 
#define kXR_ShortProtRespLen
 

Typedefs

typedef kXR_int32 ServerResponseType
 

Enumerations

enum  XReqErrorType {
  kGENERICERR = 0, kREAD, kWRITE, kREDIRCONNECT,
  kOK, kNOMORESTREAMS
}
 
enum  XRequestTypes {
  kXR_auth = 3000, kXR_query, kXR_chmod, kXR_close,
  kXR_dirlist, kXR_getfile, kXR_protocol, kXR_login,
  kXR_mkdir, kXR_mv, kXR_open, kXR_ping,
  kXR_putfile, kXR_read, kXR_rm, kXR_rmdir,
  kXR_sync, kXR_stat, kXR_set, kXR_write,
  kXR_admin, kXR_prepare, kXR_statx, kXR_endsess,
  kXR_bind, kXR_readv, kXR_verifyw, kXR_locate,
  kXR_truncate, kXR_sigver, kXR_decrypt, kXR_REQFENCE
}
 
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  XMkdirOptions { kXR_mknone = 0, kXR_mkdirpath = 1 }
 
enum  XLoginAbility {
  kXR_nothing = 0, kXR_fullurl = 1, kXR_multipr = 3, kXR_readrdok = 4,
  kXR_hasipv64 = 8, kXR_onlyprv4 = 16, kXR_onlyprv6 = 32
}
 
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
}
 
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  XDirlistRequestOption { kXR_online = 1, kXR_dstat = 2 }
 
enum  XOpenRequestOption {
  kXR_compress = 1, kXR_delete = 2, kXR_force = 4, kXR_new = 8,
  kXR_open_read = 16, kXR_open_updt = 32, kXR_async = 64, kXR_refresh = 128,
  kXR_mkpath = 256, kXR_prefname = 256, kXR_open_apnd = 512, kXR_retstat = 1024,
  kXR_replica = 2048, kXR_posc = 4096, kXR_nowait = 8192, kXR_seqio =16384,
  kXR_open_wrto =32768
}
 
enum  XProtocolRequestFlags { kXR_secreqs = 1 }
 
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  XVerifyType { kXR_nocrc = 0, kXR_crc32 = 1 }
 
enum  XLogonType { kXR_useruser = 0, kXR_useradmin = 1 }
 
enum  XPrepRequestOption {
  kXR_cancel = 1, kXR_notify = 2, kXR_noerrs = 4, kXR_stage = 8,
  kXR_wmode = 16, kXR_coloc = 32, kXR_fresh = 64
}
 
enum  XSecFlags { kXR_nodata = 1 }
 
enum  XSecCrypto { kXR_SHA256 = 0x01, kXR_HashMask = 0x0f, kXR_rsaKey = 0x80 }
 
enum  XResponseType {
  kXR_ok = 0, kXR_oksofar = 4000, kXR_attn, kXR_authmore,
  kXR_error, kXR_redirect, kXR_wait, kXR_waitresp,
  kXR_noResponsesYet = 10000
}
 
enum  XActionCode {
  kXR_asyncab = 5000, kXR_asyncdi, kXR_asyncms, kXR_asyncrd,
  kXR_asyncwt, kXR_asyncav, kXR_asynunav, kXR_asyncgo,
  kXR_asynresp
}
 
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_ChkLenErr, kXR_ChkSumErr,
  kXR_inProgress, kXR_overQuota, kXR_SigVerErr, kXR_DecryptErr,
  kXR_Overloaded, kXR_ERRFENCE, kXR_noErrorYet = 10000
}
 

Functions

void ServerResponseHeader2NetFmt (struct ServerResponseHeader *srh)
 

Macro Definition Documentation

#define kXR_attrMeta   0x00000100
#define kXR_attrProxy   0x00000200
#define kXR_attrSuper   0x00000400
#define kXR_DataServer   1
#define kXR_isManager   0x00000002
#define kXR_isServer   0x00000001
#define kXR_LBalServer   0
#define kXR_maxReqRetry   10
#define kXR_PROTOCOLVERSION   0x00000310
#define kXR_PROTOCOLVSTRING   "3.1.0"
#define kXR_PROTSIGNVERSION   0x00000310
#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
Value:
Definition: XProtocol.hh:706
Definition: XProtocol.hh:676
#define kXR_signIgnore   0
#define kXR_signLikely   1
#define kXR_signNeeded   2

Typedef Documentation

Enumeration Type Documentation

Enumerator
kXR_asyncab 
kXR_asyncdi 
kXR_asyncms 
kXR_asyncrd 
kXR_asyncwt 
kXR_asyncav 
kXR_asynunav 
kXR_asyncgo 
kXR_asynresp 
Enumerator
kXR_online 
kXR_dstat 
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_ChkLenErr 
kXR_ChkSumErr 
kXR_inProgress 
kXR_overQuota 
kXR_SigVerErr 
kXR_DecryptErr 
kXR_Overloaded 
kXR_ERRFENCE 
kXR_noErrorYet 
Enumerator
kXR_nothing 
kXR_fullurl 
kXR_multipr 
kXR_readrdok 
kXR_hasipv64 
kXR_onlyprv4 
kXR_onlyprv6 
Enumerator
kXR_lcvnone 
kXR_vermask 
kXR_asyncap 
Enumerator
kXR_ver000 
kXR_ver001 
kXR_ver002 
kXR_ver003 
kXR_ver004 
enum XLogonType
Enumerator
kXR_useruser 
kXR_useradmin 
Enumerator
kXR_mknone 
kXR_mkdirpath 
Enumerator
kXR_ur 
kXR_uw 
kXR_ux 
kXR_gr 
kXR_gw 
kXR_gx 
kXR_or 
kXR_ow 
kXR_ox 
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_replica 
kXR_posc 
kXR_nowait 
kXR_seqio 
kXR_open_wrto 
Enumerator
kXR_cancel 
kXR_notify 
kXR_noerrs 
kXR_stage 
kXR_wmode 
kXR_coloc 
kXR_fresh 
Enumerator
kXR_secreqs 
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 
Enumerator
kGENERICERR 
kREAD 
kWRITE 
kREDIRCONNECT 
kOK 
kNOMORESTREAMS 
Enumerator
kXR_auth 
kXR_query 
kXR_chmod 
kXR_close 
kXR_dirlist 
kXR_getfile 
kXR_protocol 
kXR_login 
kXR_mkdir 
kXR_mv 
kXR_open 
kXR_ping 
kXR_putfile 
kXR_read 
kXR_rm 
kXR_rmdir 
kXR_sync 
kXR_stat 
kXR_set 
kXR_write 
kXR_admin 
kXR_prepare 
kXR_statx 
kXR_endsess 
kXR_bind 
kXR_readv 
kXR_verifyw 
kXR_locate 
kXR_truncate 
kXR_sigver 
kXR_decrypt 
kXR_REQFENCE 
Enumerator
kXR_ok 
kXR_oksofar 
kXR_attn 
kXR_authmore 
kXR_error 
kXR_redirect 
kXR_wait 
kXR_waitresp 
kXR_noResponsesYet 
enum XSecCrypto
Enumerator
kXR_SHA256 
kXR_HashMask 
kXR_rsaKey 
enum XSecFlags
Enumerator
kXR_nodata 
Enumerator
kXR_vfs 
Enumerator
kXR_file 
kXR_xset 
kXR_isDir 
kXR_other 
kXR_offline 
kXR_readable 
kXR_writable 
kXR_poscpend 
kXR_bkpexist 
Enumerator
kXR_nocrc 
kXR_crc32 

Function Documentation

void ServerResponseHeader2NetFmt ( struct ServerResponseHeader srh)