xrootd
XProtocol.hh
Go to the documentation of this file.
1 #ifndef __XPROTOCOL_H
2 #define __XPROTOCOL_H
3 /******************************************************************************/
4 /* */
5 /* X P r o t o c o l . h h */
6 /* */
7 /* (c) 2012 by the Board of Trustees of the Leland Stanford, Jr., University */
8 /* All Rights Reserved */
9 /* Produced by Andrew Hanushevsky for Stanford University under contract */
10 /* DE-AC02-76-SFO0515 with the Department of Energy */
11 /* */
12 /* This file is part of the XRootD software suite. */
13 /* */
14 /* XRootD is free software: you can redistribute it and/or modify it under */
15 /* the terms of the GNU Lesser General Public License as published by the */
16 /* Free Software Foundation, either version 3 of the License, or (at your */
17 /* option) any later version. */
18 /* */
19 /* The XRootD protocol definition, documented in this file, is distributed */
20 /* under a modified BSD license and may be freely used to reimplement it. */
21 /* Any references to "source" in this license refers to this file or any */
22 /* other file that specifically contains the following license. */
23 /* */
24 /* Redistribution and use in source and binary forms, with or without */
25 /* modification, are permitted provided that the following conditions */
26 /* are met: */
27 /* */
28 /* 1. Redistributions of source code must retain the above copyright notice, */
29 /* this list of conditions and the following disclaimer. */
30 /* */
31 /* 2. Redistributions in binary form must reproduce the above copyright */
32 /* notice, this list of conditions and the following disclaimer in the */
33 /* documentation and/or other materials provided with the distribution. */
34 /* */
35 /* 3. Neither the name of the copyright holder nor the names of its */
36 /* contributors may be used to endorse or promote products derived from */
37 /* this software without specific prior written permission. */
38 /* */
39 /* 4. Derived software may not use the name XRootD or cmsd (regardless of */
40 /* capitilization) in association with the derived work if the protocol */
41 /* documented in this file is changed in any way. */
42 /* */
43 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
44 /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
45 /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */
46 /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
47 /* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
48 /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
49 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
50 /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */
51 /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
52 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */
53 /******************************************************************************/
54 
55 //#ifndef __GNUC__
56 //#define __attribute__(x)
57 //#ifdef SUNCC
58 //#pragma pack(4)
59 //#endif
60 //#endif
61 
62 #ifdef __CINT__
63 #define __attribute__(x)
64 #endif
65 
66 // The following is the binary representation of the protocol version here.
67 // Protocol version is repesented as three base10 digits x.y.z with x having no
68 // upper limit (i.e. n.9.9 + 1 -> n+1.0.0). The kXR_PROTSIGNVERSION defines the
69 // protocol version where request signing became available.
70 //
71 #define kXR_PROTOCOLVERSION 0x00000400
72 #define kXR_PROTSIGNVERSION 0x00000310
73 #define kXR_PROTOCOLVSTRING "4.0.0"
74 
75 #include "XProtocol/XPtypes.hh"
76 
77 // KINDS of SERVERS
78 //
79 //
80 #define kXR_DataServer 1
81 #define kXR_LBalServer 0
82 
83 // The below are defined for protocol version 2.9.7 or higher
84 // These are the flag value in the kXR_protool response
85 //
86 #define kXR_isManager 0x00000002
87 #define kXR_isServer 0x00000001
88 #define kXR_attrMeta 0x00000100
89 #define kXR_attrProxy 0x00000200
90 #define kXR_attrSuper 0x00000400
91 #define kXR_attrVirtRdr 0x00000800
92 
93 #define kXR_maxReqRetry 10
94 
95 // Kind of error inside a XTNetFile's routine (temporary)
96 //
98  kGENERICERR = 0, // Generic error
99  kREAD, // Error while reading from stream
100  kWRITE, // Error while writing to stream
101  kREDIRCONNECT, // Error redirecting to a given host
102  kOK, // Everything seems ok
103  kNOMORESTREAMS // No more available stream IDs for
104  // async processing
105 };
106 
107 //______________________________________________
108 // PROTOCOL DEFINITION: CLIENT'S REQUESTS TYPES
109 //______________________________________________
110 //
112  kXR_auth = 3000,
113  kXR_query, // 3001
114  kXR_chmod, // 3002
115  kXR_close, // 3003
116  kXR_dirlist, // 3004
117  kXR_getfile, // 3005
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_putfile, // 3012
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_admin, // 3020
133  kXR_prepare, // 3021
134  kXR_statx, // 3022
135  kXR_endsess, // 3023
136  kXR_bind, // 3024
137  kXR_readv, // 3025
138  kXR_verifyw, // 3026
139  kXR_locate, // 3027
140  kXR_truncate,// 3028
141  kXR_sigver, // 3029
142  kXR_decrypt, // 3030
143  kXR_writev, // 3031
144  kXR_REQFENCE // Always last valid request code +1
145 };
146 
147 // OPEN MODE FOR A REMOTE FILE
149  kXR_ur = 0x100,
150  kXR_uw = 0x080,
151  kXR_ux = 0x040,
152  kXR_gr = 0x020,
153  kXR_gw = 0x010,
154  kXR_gx = 0x008,
155  kXR_or = 0x004,
156  kXR_ow = 0x002,
157  kXR_ox = 0x001
158 };
159 
162  kXR_mkdirpath = 1
163 };
164 
165 // this is a bitmask
174  kXR_lclfile = 64
175 };
176 
177 // this is a bitmask
181  kXR_asyncap = 128
182 };
183 
184 // this is a single number that goes into capver as the version
185 //
187  kXR_ver000 = 0, // Old clients predating history
188  kXR_ver001 = 1, // Generally implemented 2005 protocol
189  kXR_ver002 = 2, // Same as 1 but adds asyncresp recognition
190  kXR_ver003 = 3, // The 2011-2012 rewritten client
191  kXR_ver004 = 4 // The 2016 sign-capable client
192 };
193 
195  kXR_vfs = 1
196 };
197 
199  kXR_file = 0,
200  kXR_xset = 1,
207  kXR_bkpexist=128
208 };
209 
212  kXR_dstat = 2
213 };
214 
216  kXR_compress = 1, // also locate (return unique hosts)
219  kXR_new = 8,
222  kXR_async = 64,
223  kXR_refresh = 128, // also locate
224  kXR_mkpath = 256,
225  kXR_prefname = 256, // only locate
227  kXR_retstat = 1024,
228  kXR_4dirlist = 1024, // for locate intending a dirlist
229  kXR_replica = 2048,
230  kXR_posc = 4096,
231  kXR_nowait = 8192, // also locate
232  kXR_seqio =16384,
233  kXR_open_wrto=32768
234 };
235 
237  kXR_secreqs = 1 // Return security requirements
238 };
239 
251  kXR_Qopaqug=64
252 };
253 
256  kXR_crc32 = 1
257 };
258 
261  kXR_useradmin = 1
262 };
263 
269  kXR_wmode = 16,
270  kXR_coloc = 32,
271  kXR_fresh = 64,
272  kXR_usetcp = 128,
273 
274  kXR_evict = 0x0001 // optionsX: file no longer useful
275 };
276 
277 // Version used for kXR_decrypt and kXR_sigver and is set in
278 // Set in SigverRequest::version, DecryptRequest::version and
279 // ServerResponseReqs_Protocol::secver
280 #define kXR_secver_0 0
281 
282 // Flags for kXR_decrypt and kXR_sigver
283 enum XSecFlags {
284  kXR_nodata = 1 // Request payload was not hashed or encrypted
285 };
286 
287 // Cryptography used for kXR_sigver SigverRequest::crypto
289  kXR_SHA256 = 0x01, // Hash used
290  kXR_HashMask = 0x0f, // Mak to extract the hash type
291  kXR_rsaKey = 0x80 // The rsa key was used
292 };
293 
294 //_______________________________________________
295 // PROTOCOL DEFINITION: SERVER'S RESPONSES TYPES
296 //_______________________________________________
297 //
299  kXR_ok = 0,
300  kXR_oksofar = 4000,
307  kXR_noResponsesYet = 10000
308 };
309 
310 //_______________________________________________
311 // PROTOCOL DEFINITION: SERVER"S ATTN CODES
312 //_______________________________________________
313 
315  kXR_asyncab = 5000,
324 };
325 
326 //_______________________________________________
327 // PROTOCOL DEFINITION: SERVER'S ERROR CODES
328 //_______________________________________________
329 //
332  kXR_ArgMissing, // 3001
333  kXR_ArgTooLong, // 3002
334  kXR_FileLocked, // 3003
336  kXR_FSError, // 3005
338  kXR_IOError, // 3007
339  kXR_NoMemory, // 3008
340  kXR_NoSpace, // 3009
342  kXR_NotFound, // 3011
345  kXR_noserver, // 3014
346  kXR_NotFile, // 3015
348  kXR_Cancelled, // 3017
349  kXR_ChkLenErr, // 3018
350  kXR_ChkSumErr, // 3019
351  kXR_inProgress, // 3020
352  kXR_overQuota, // 3021
353  kXR_SigVerErr, // 3022
354  kXR_DecryptErr, // 3023
355  kXR_Overloaded, // 3024
356  kXR_fsReadOnly, // 3025
357  kXR_BadPayload, // 3026
360  kXR_noReplicas, // 3029
361  kXR_ERRFENCE, // Always last valid errcode + 1
362  kXR_noErrorYet = 10000
363 };
364 
365 
366 //______________________________________________
367 // PROTOCOL DEFINITION: CLIENT'S REQUESTS STRUCTS
368 //______________________________________________
369 //
370 // We need to pack structures sent all over the net!
371 // __attribute__((packed)) assures no padding bytes.
372 //
373 // Nice bodies of the headers for the client requests.
374 // Note that the protocol specifies these values to be in network
375 // byte order when sent
376 //
377 // G.Ganis: use of flat structures to avoid packing options
378 
384 };
391 };
397 };
404 };
412 };
416  kXR_unt16 expectrid; // Request code of subsequent request
417  kXR_char version; // Security version being used (see enum XSecVersion)
418  kXR_char flags; // One or more flags defined in enum XSecFlags
421 };
428 };
434 };
442 };
449 };
456  kXR_char ability; // See XLoginAbility enum flags
457  kXR_char capver[1]; // See XLoginCapVer enum flags
460 };
468 };
475 };
483 };
484 
490 };
494  kXR_int32 clientpv; // 2.9.7 or higher
495  kXR_char flags; // 3.1.0 or higher
498 };
504  kXR_unt16 port; // 2.9.9 or higher
505  kXR_unt16 optionX; // Extended options
508 };
516 };
525 };
533 };
540 };
546 };
552 };
557  kXR_char modifier; // For security purposes, should be zero
559 };
563  kXR_unt16 expectrid; // Request code of subsequent request
564  kXR_char version; // Security version being used (see XSecVersion)
565  kXR_char flags; // One or more flags defined in enum (see XSecFlags)
566  kXR_unt64 seqno; // Monotonically increasing number (part of hash)
567  kXR_char crypto; // Cryptography used (see XSecCrypto)
570 };
578 };
585 };
593 };
602 };
606  kXR_char options; // See static const ints below
609 
610  static const kXR_int32 doSync = 0x01;
611 };
618  kXR_char vertype; // One of XVerifyType
620  kXR_int32 dlen; // Includes crc length
621 };
622 
628 };
629 
630 typedef union {
631  struct ClientRequestHdr header;
632  struct ClientAdminRequest admin;
633  struct ClientAuthRequest auth;
634  struct ClientBindRequest bind;
635  struct ClientChmodRequest chmod;
636  struct ClientCloseRequest close;
637  struct ClientDecryptRequest decrypt;
638  struct ClientDirlistRequest dirlist;
639  struct ClientEndsessRequest endsess;
640  struct ClientGetfileRequest getfile;
641  struct ClientLocateRequest locate;
642  struct ClientLoginRequest login;
643  struct ClientMkdirRequest mkdir;
644  struct ClientMvRequest mv;
645  struct ClientOpenRequest open;
646  struct ClientPingRequest ping;
647  struct ClientPrepareRequest prepare;
648  struct ClientProtocolRequest protocol;
649  struct ClientPutfileRequest putfile;
650  struct ClientQueryRequest query;
651  struct ClientReadRequest read;
652  struct ClientReadVRequest readv;
653  struct ClientRmRequest rm;
654  struct ClientRmdirRequest rmdir;
655  struct ClientSetRequest set;
656  struct ClientSigverRequest sigver;
657  struct ClientStatRequest stat;
658  struct ClientSyncRequest sync;
660  struct ClientWriteRequest write;
662 } ClientRequest;
663 
664 typedef union {
665  struct ClientRequestHdr header;
666  struct ClientDecryptRequest decrypt;
667  struct ClientSigverRequest sigver;
669 
674 };
675 
676 struct read_args {
679  // his struct is followed by an array of readahead_list
680 };
681 
682 // New additions are placed in a specia namespace to avoid conflicts
683 //
684 namespace XrdProto
685 {
686 struct read_list {
690 };
691 
692 struct write_list {
696 };
697 }
698 
699 //_____________________________________________________________________
700 // PROTOCOL DEFINITION: SERVER'S RESPONSE
701 //_____________________________________________________________________
702 //
703 
704 // Nice header for the server response.
705 // Note that the protocol specifies these values to be in network
706 // byte order when sent
707 //
708 // G.Ganis: The following structures never need padding bytes:
709 // no need of packing options
710 
715 };
716 
717 // Body for the kXR_bind response... useful
720 };
721 
722 // Body for the kXR_open response... useful
725  kXR_int32 cpsize; // cpsize & cptype returned if kXR_compress *or*
726  kXR_char cptype[4]; // kXR_retstat is specified
727 }; // info will follow if kXR_retstat is specified
728 
729 // The following information is returned in the response body when kXR_secreqs
730 // is set in ClientProtocolRequest::flags. Note that the size of secvec is
731 // defined by secvsz and will not be present when secvsz == 0.
733  kXR_char reqindx; // Request index
734  kXR_char reqsreq; // Request signing requirement
735 };
736 
738  kXR_char theTag; // Always the character 'S' to identify struct
739  kXR_char rsvd; // Reserved for the future (always 0 for now)
740  kXR_char secver; // Security version
741  kXR_char secopt; // Security options
742  kXR_char seclvl; // Security level when secvsz == 0
743  kXR_char secvsz; // Number of items in secvec (i.e. its length/2)
745 };
746 
747 // Options reflected in protocol response ServerResponseReqs_Protocol::secopt
748 //
749 #define kXR_secOData 0x01
750 #define kXR_secOFrce 0x02
751 
752 // Security level definitions (these are predefined but can be over-ridden)
753 //
754 #define kXR_secNone 0
755 #define kXR_secCompatible 1
756 #define kXR_secStandard 2
757 #define kXR_secIntense 3
758 #define kXR_secPedantic 4
759 
760 // Requirements one of which set in each ServerResponseReqs_Protocol::secvec
761 //
762 #define kXR_signIgnore 0
763 #define kXR_signLikely 1
764 #define kXR_signNeeded 2
765 
766 // Body for the kXR_protocol response... useful
770  ServerResponseReqs_Protocol secreq; // Only for V3.1.0+ && if requested
771 };
772 
773 // Handy definition of the size of the protocol response when the security
774 // information is not present.
775 //
776 #define kXR_ShortProtRespLen sizeof(ServerResponseBody_Protocol)-\
777  sizeof(ServerResponseReqs_Protocol)
778 
781  kXR_char sec[4096]; // Should be sufficient for every use
782 };
783 
786  char host[4096]; // Should be sufficient for every use
787 };
788 
791  char errmsg[4096]; // Should be sufficient for every use
792 };
793 
796  char infomsg[4096]; // Should be sufficient for every use
797 };
798 
801 };
802 
805  char parms[4096]; // Should be sufficient for every use
806 };
807 
811  char host[4092];
812 };
813 
816  char reserved[4];
818  char respdata[4096];
819 };
820 
824 };
825 
830 };
831 
833  char data[4096];
834 };
835 
837  char data[4096];
838 };
839 
841 {
843  union
844  {
855  } body;
856 };
857 
859 
860 // The fields to be sent as initial handshake
867 };
868 
869 // The body received after the first handshake's header
874 };
875 
876 
877 
879 
880 struct ALIGN_CHECK {char chkszreq[25-sizeof(ClientRequest)];
881  char chkszrsp[ 9-sizeof(ServerResponseHeader)];
882 };
883 
884 /******************************************************************************/
885 /* X P r o t o c o l U t i l i t i e s */
886 /******************************************************************************/
887 
888 #include <errno.h>
889 #if defined(WIN32)
890 #if !defined(ENOTBLK)
891 # define ENOTBLK 15
892 #endif
893 #if !defined(ETXTBSY)
894 #define ETXTBSY 26
895 #endif
896 #if !defined(ENOBUFS)
897 #define ENOBUFS 105
898 #endif
899 #if !defined(ENETUNREACH)
900 #define ENETUNREACH 114
901 #endif
902 #endif
903 
904 #ifndef ENOATTR
905 #define ENOATTR ENODATA
906 #endif
907 
909 {
910 public:
911 
912 // mapError() is the occicial mapping from errno to xrootd protocol error.
913 //
914 static int mapError(int rc)
915  {if (rc < 0) rc = -rc;
916  switch(rc)
917  {case ENOENT: return kXR_NotFound;
918  case EINVAL: return kXR_ArgInvalid;
919  case EPERM: return kXR_NotAuthorized;
920  case EACCES: return kXR_NotAuthorized;
921  case EIO: return kXR_IOError;
922  case ENOMEM: return kXR_NoMemory;
923  case ENOBUFS: return kXR_NoMemory;
924  case ENOSPC: return kXR_NoSpace;
925  case ENAMETOOLONG: return kXR_ArgTooLong;
926  case ENETUNREACH: return kXR_noserver;
927  case ENOTBLK: return kXR_NotFile;
928  case EISDIR: return kXR_isDirectory;
929  case EEXIST: return kXR_InvalidRequest;
930  case ETXTBSY: return kXR_inProgress;
931  case ENODEV: return kXR_FSError;
932  case EFAULT: return kXR_ServerError;
933  case EDOM: return kXR_ChkSumErr;
934  case EDQUOT: return kXR_overQuota;
935  case EILSEQ: return kXR_SigVerErr;
936  case ERANGE: return kXR_DecryptErr;
937  case EUSERS: return kXR_Overloaded;
938  case EROFS: return kXR_fsReadOnly;
939  case ENOATTR: return kXR_AttrNotFound;
940  case EPROTOTYPE: return kXR_TLSRequired;
941  case EADDRNOTAVAIL: return kXR_noReplicas;
942  default: return kXR_FSError;
943  }
944  }
945 
946 static int toErrno( int xerr )
947 {
948  switch(xerr)
949  {case kXR_ArgInvalid: return EINVAL;
950  case kXR_ArgMissing: return EINVAL;
951  case kXR_ArgTooLong: return ENAMETOOLONG;
952  case kXR_FileLocked: return EDEADLK;
953  case kXR_FileNotOpen: return EBADF;
954  case kXR_FSError: return EIO;
955  case kXR_InvalidRequest:return EEXIST;
956  case kXR_IOError: return EIO;
957  case kXR_NoMemory: return ENOMEM;
958  case kXR_NoSpace: return ENOSPC;
959  case kXR_NotAuthorized: return EACCES;
960  case kXR_NotFound: return ENOENT;
961  case kXR_ServerError: return ENOMSG;
962  case kXR_Unsupported: return ENOSYS;
963  case kXR_noserver: return EHOSTUNREACH;
964  case kXR_NotFile: return ENOTBLK;
965  case kXR_isDirectory: return EISDIR;
966  case kXR_Cancelled: return ECANCELED;
967  case kXR_ChkLenErr: return EDOM;
968  case kXR_ChkSumErr: return EDOM;
969  case kXR_inProgress: return EINPROGRESS;
970  case kXR_overQuota: return EDQUOT;
971  case kXR_SigVerErr: return EILSEQ;
972  case kXR_DecryptErr: return ERANGE;
973  case kXR_Overloaded: return EUSERS;
974  case kXR_fsReadOnly: return EROFS;
975  case kXR_BadPayload: return EINVAL;
976  case kXR_AttrNotFound: return ENOATTR;
977  case kXR_TLSRequired: return EPROTOTYPE;
978  case kXR_noReplicas: return EADDRNOTAVAIL;
979  default: return ENOMSG;
980  }
981 }
982 
983 static const char *errName(kXR_int32 errCode);
984 
985 static const char *reqName(kXR_unt16 reqCode);
986 };
987 #endif
kXR_noReplicas
@ kXR_noReplicas
Definition: XProtocol.hh:360
kXR_evict
@ kXR_evict
Definition: XProtocol.hh:274
ServerResponse::waitresp
ServerResponseBody_Waitresp waitresp
Definition: XProtocol.hh:848
kNOMORESTREAMS
@ kNOMORESTREAMS
Definition: XProtocol.hh:103
ServerResponseBody_Attn_asyncrd::actnum
kXR_int32 actnum
Definition: XProtocol.hh:809
kXR_int32
int kXR_int32
Definition: XPtypes.hh:89
kXR_NotAuthorized
@ kXR_NotAuthorized
Definition: XProtocol.hh:341
kXR_onlyprv4
@ kXR_onlyprv4
Definition: XProtocol.hh:172
kXR_NoMemory
@ kXR_NoMemory
Definition: XProtocol.hh:339
kXR_mv
@ kXR_mv
Definition: XProtocol.hh:121
ServerResponseType
kXR_int32 ServerResponseType
Definition: XProtocol.hh:878
readv
#define readv(a, b, c)
Definition: XrdPosix.hh:79
kXR_open
@ kXR_open
Definition: XProtocol.hh:122
kXR_Qvisa
@ kXR_Qvisa
Definition: XProtocol.hh:248
XOpenRequestOption
XOpenRequestOption
Definition: XProtocol.hh:215
ClientVerifywRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:614
ClientRequestHdr
Definition: XProtocol.hh:623
ALIGN_CHECK::chkszreq
char chkszreq[25-sizeof(ClientRequest)]
Definition: XProtocol.hh:880
ClientWriteVRequest::options
kXR_char options
Definition: XProtocol.hh:606
kXR_write
@ kXR_write
Definition: XProtocol.hh:131
ClientLocateRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:444
kXR_vermask
@ kXR_vermask
Definition: XProtocol.hh:180
ClientMvRequest
Definition: XProtocol.hh:469
kXR_wmode
@ kXR_wmode
Definition: XProtocol.hh:269
ClientOpenRequest::mode
kXR_unt16 mode
Definition: XProtocol.hh:479
XProtocol::errName
static const char * errName(kXR_int32 errCode)
kXR_waitresp
@ kXR_waitresp
Definition: XProtocol.hh:306
kXR_refresh
@ kXR_refresh
Definition: XProtocol.hh:223
ServerResponseBody_Attn_asynresp
Definition: XProtocol.hh:814
kXR_sigver
@ kXR_sigver
Definition: XProtocol.hh:141
ClientTruncateRequest
Definition: XProtocol.hh:586
ClientStatRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:577
ClientGetfileRequest::buffsz
kXR_int32 buffsz
Definition: XProtocol.hh:440
kXR_vfs
@ kXR_vfs
Definition: XProtocol.hh:195
ClientQueryRequest::reserved2
kXR_char reserved2[8]
Definition: XProtocol.hh:523
kXR_posc
@ kXR_posc
Definition: XProtocol.hh:230
kXR_ver000
@ kXR_ver000
Definition: XProtocol.hh:187
ClientSigverRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:562
kXR_ver004
@ kXR_ver004
Definition: XProtocol.hh:191
ServerResponseHeader2NetFmt
void ServerResponseHeader2NetFmt(struct ServerResponseHeader *srh)
ClientAuthRequest::credtype
kXR_char credtype[4]
Definition: XProtocol.hh:389
ServerResponseBody_Attn_asyncdi::actnum
kXR_int32 actnum
Definition: XProtocol.hh:827
XMkdirOptions
XMkdirOptions
Definition: XProtocol.hh:160
kXR_QStats
@ kXR_QStats
Definition: XProtocol.hh:241
ServerResponseBody_Redirect::port
kXR_int32 port
Definition: XProtocol.hh:785
ClientTruncateRequest::offset
kXR_int64 offset
Definition: XProtocol.hh:590
kXR_DecryptErr
@ kXR_DecryptErr
Definition: XProtocol.hh:354
ClientInitHandShake
Definition: XProtocol.hh:861
ClientStatRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:576
ClientBindRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:396
ClientDecryptRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:414
ClientLoginRequest::role
kXR_char role[1]
Definition: XProtocol.hh:458
ClientPrepareRequest::prty
kXR_char prty
Definition: XProtocol.hh:503
ClientSetRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:554
ClientPrepareRequest::port
kXR_unt16 port
Definition: XProtocol.hh:504
ClientWriteVRequest::doSync
static const kXR_int32 doSync
Definition: XProtocol.hh:610
ServerResponseBody_Bind
Definition: XProtocol.hh:718
kXR_ChkSumErr
@ kXR_ChkSumErr
Definition: XProtocol.hh:350
kXR_NoSpace
@ kXR_NoSpace
Definition: XProtocol.hh:340
kXR_isDirectory
@ kXR_isDirectory
Definition: XProtocol.hh:347
ClientSigverRequest
Definition: XProtocol.hh:560
XVerifyType
XVerifyType
Definition: XProtocol.hh:254
ClientPutfileRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:511
kXR_AttrNotFound
@ kXR_AttrNotFound
Definition: XProtocol.hh:358
ClientRmdirRequest
Definition: XProtocol.hh:547
ClientPrepareRequest
Definition: XProtocol.hh:499
ServerResponseBody_Error::errmsg
char errmsg[4096]
Definition: XProtocol.hh:791
XrdProto::read_list
Definition: XProtocol.hh:686
ServerResponseReqs_Protocol::rsvd
kXR_char rsvd
Definition: XProtocol.hh:739
kXR_int64
long long kXR_int64
Definition: XPtypes.hh:98
ClientPingRequest
Definition: XProtocol.hh:485
kXR_int16
short kXR_int16
Definition: XPtypes.hh:66
ClientQueryRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:519
ServerResponseBody_Authmore::data
char data[4096]
Definition: XProtocol.hh:833
kXR_auth
@ kXR_auth
Definition: XProtocol.hh:112
kXR_truncate
@ kXR_truncate
Definition: XProtocol.hh:140
ServerResponseBody_Protocol
Definition: XProtocol.hh:767
kXR_gr
@ kXR_gr
Definition: XProtocol.hh:152
ClientLocateRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:445
kXR_rmdir
@ kXR_rmdir
Definition: XProtocol.hh:127
ClientOpenRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:482
kXR_useruser
@ kXR_useruser
Definition: XProtocol.hh:260
kXR_noResponsesYet
@ kXR_noResponsesYet
Definition: XProtocol.hh:307
ServerResponseBody_Attn_asynresp::reserved
char reserved[4]
Definition: XProtocol.hh:816
ClientReadRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:532
ClientCloseRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:406
XQueryType
XQueryType
Definition: XProtocol.hh:240
ClientOpenRequest::options
kXR_unt16 options
Definition: XProtocol.hh:480
kXR_readv
@ kXR_readv
Definition: XProtocol.hh:137
ClientRmRequest
Definition: XProtocol.hh:541
kXR_asyncap
@ kXR_asyncap
Definition: XProtocol.hh:181
ClientReadVRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:539
ClientInitHandShake::fifth
kXR_int32 fifth
Definition: XProtocol.hh:866
ClientCloseRequest
Definition: XProtocol.hh:405
ClientWriteRequest::pathid
kXR_char pathid
Definition: XProtocol.hh:599
ClientSigverRequest::seqno
kXR_unt64 seqno
Definition: XProtocol.hh:566
ClientStatRequest::reserved
kXR_char reserved[11]
Definition: XProtocol.hh:575
kXR_Qckscan
@ kXR_Qckscan
Definition: XProtocol.hh:246
ClientOpenRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:477
ClientProtocolRequest::flags
kXR_char flags
Definition: XProtocol.hh:495
kXR_writable
@ kXR_writable
Definition: XProtocol.hh:205
ClientDecryptRequest::flags
kXR_char flags
Definition: XProtocol.hh:418
ClientOpenRequest::reserved
kXR_char reserved[12]
Definition: XProtocol.hh:481
kXR_Overloaded
@ kXR_Overloaded
Definition: XProtocol.hh:355
ServerResponseBody_Login::sessid
kXR_char sessid[16]
Definition: XProtocol.hh:780
ClientEndsessRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:433
kXR_isDir
@ kXR_isDir
Definition: XProtocol.hh:201
kXR_nowait
@ kXR_nowait
Definition: XProtocol.hh:231
ServerResponseBody_Attn_asyncdi
Definition: XProtocol.hh:826
kXR_char
unsigned char kXR_char
Definition: XPtypes.hh:65
ClientSigverRequest::flags
kXR_char flags
Definition: XProtocol.hh:565
kXR_admin
@ kXR_admin
Definition: XProtocol.hh:132
ServerInitHandShake::protover
kXR_int32 protover
Definition: XProtocol.hh:872
kXR_other
@ kXR_other
Definition: XProtocol.hh:202
kXR_SHA256
@ kXR_SHA256
Definition: XProtocol.hh:289
kXR_asyncwt
@ kXR_asyncwt
Definition: XProtocol.hh:319
readahead_list
Definition: XProtocol.hh:670
ClientSigverRequest::crypto
kXR_char crypto
Definition: XProtocol.hh:567
ClientRmdirRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:548
ClientVerifywRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:613
ServerResponseReqs_Protocol::secopt
kXR_char secopt
Definition: XProtocol.hh:741
ClientCloseRequest::fsize
kXR_int64 fsize
Definition: XProtocol.hh:409
XLoginCapVer
XLoginCapVer
Definition: XProtocol.hh:178
ClientTruncateRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:592
ClientMvRequest::reserved
kXR_char reserved[14]
Definition: XProtocol.hh:472
ClientChmodRequest::reserved
kXR_char reserved[14]
Definition: XProtocol.hh:401
kXR_readrdok
@ kXR_readrdok
Definition: XProtocol.hh:170
XErrorCode
XErrorCode
Definition: XProtocol.hh:330
ENOATTR
#define ENOATTR
Definition: XProtocol.hh:905
ClientPrepareRequest::optionX
kXR_unt16 optionX
Definition: XProtocol.hh:505
kXR_useradmin
@ kXR_useradmin
Definition: XProtocol.hh:261
ServerResponseSVec_Protocol
Definition: XProtocol.hh:732
ClientReadRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:527
kXR_putfile
@ kXR_putfile
Definition: XProtocol.hh:124
ClientVerifywRequest
Definition: XProtocol.hh:612
writev
#define writev(a, b, c)
Definition: XrdPosix.hh:112
ClientMkdirRequest::mode
kXR_unt16 mode
Definition: XProtocol.hh:466
kXR_verifyw
@ kXR_verifyw
Definition: XProtocol.hh:138
kXR_ver003
@ kXR_ver003
Definition: XProtocol.hh:190
ClientMvRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:474
ClientSigverRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:561
ClientInitHandShake::first
kXR_int32 first
Definition: XProtocol.hh:862
ServerResponseBody_Attn
Definition: XProtocol.hh:803
kXR_asynresp
@ kXR_asynresp
Definition: XProtocol.hh:323
ClientDirlistRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:424
ClientReadVRequest
Definition: XProtocol.hh:534
XrdProto::write_list::offset
kXR_int64 offset
Definition: XProtocol.hh:695
ServerResponseBody_Attn::parms
char parms[4096]
Definition: XProtocol.hh:805
kXR_gx
@ kXR_gx
Definition: XProtocol.hh:154
kXR_stage
@ kXR_stage
Definition: XProtocol.hh:268
XProtocol::mapError
static int mapError(int rc)
Definition: XProtocol.hh:914
ServerResponseBody_Open::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:724
kXR_login
@ kXR_login
Definition: XProtocol.hh:119
ServerResponseBody_Buffer
Definition: XProtocol.hh:836
XLogonType
XLogonType
Definition: XProtocol.hh:259
ClientQueryRequest
Definition: XProtocol.hh:517
kXR_nothing
@ kXR_nothing
Definition: XProtocol.hh:167
ClientMkdirRequest
Definition: XProtocol.hh:461
kXR_FSError
@ kXR_FSError
Definition: XProtocol.hh:336
ClientAdminRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:380
ClientRequestHdr::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:625
kXR_rsaKey
@ kXR_rsaKey
Definition: XProtocol.hh:291
kWRITE
@ kWRITE
Definition: XProtocol.hh:100
ClientVerifywRequest::vertype
kXR_char vertype
Definition: XProtocol.hh:618
ClientQueryRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:524
kXR_open_read
@ kXR_open_read
Definition: XProtocol.hh:220
ServerInitHandShake
Definition: XProtocol.hh:870
ServerResponseBody_Wait
Definition: XProtocol.hh:794
kXR_file
@ kXR_file
Definition: XProtocol.hh:199
ServerResponseBody_Login::sec
kXR_char sec[4096]
Definition: XProtocol.hh:781
XOpenRequestMode
XOpenRequestMode
Definition: XProtocol.hh:148
ServerResponseBody_Error::errnum
kXR_int32 errnum
Definition: XProtocol.hh:790
kXR_Qopaque
@ kXR_Qopaque
Definition: XProtocol.hh:249
kXR_ArgMissing
@ kXR_ArgMissing
Definition: XProtocol.hh:332
kXR_nodata
@ kXR_nodata
Definition: XProtocol.hh:284
kXR_ERRFENCE
@ kXR_ERRFENCE
Definition: XProtocol.hh:361
ClientLoginRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:459
rmdir
#define rmdir(a)
Definition: XrdPosix.hh:92
kXR_fullurl
@ kXR_fullurl
Definition: XProtocol.hh:168
ClientEndsessRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:430
read_args::pathid
kXR_char pathid
Definition: XProtocol.hh:677
ClientEndsessRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:431
ClientMkdirRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:462
kXR_ChkLenErr
@ kXR_ChkLenErr
Definition: XProtocol.hh:349
ClientSyncRequest::reserved
kXR_char reserved[12]
Definition: XProtocol.hh:583
kREAD
@ kREAD
Definition: XProtocol.hh:99
ClientProtocolRequest::clientpv
kXR_int32 clientpv
Definition: XProtocol.hh:494
ClientVerifywRequest::reserved
kXR_char reserved[2]
Definition: XProtocol.hh:619
write
#define write(a, b, c)
Definition: XrdPosix.hh:110
kXR_Qopaquf
@ kXR_Qopaquf
Definition: XProtocol.hh:250
kXR_multipr
@ kXR_multipr
Definition: XProtocol.hh:169
kXR_Qconfig
@ kXR_Qconfig
Definition: XProtocol.hh:247
ServerResponseHeader::dlen
kXR_int32 dlen
Definition: XProtocol.hh:714
readahead_list::offset
kXR_int64 offset
Definition: XProtocol.hh:673
ClientCloseRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:411
XProtocolRequestFlags
XProtocolRequestFlags
Definition: XProtocol.hh:236
XrdProto::read_list::rlen
kXR_int32 rlen
Definition: XProtocol.hh:688
ClientLoginRequest::username
kXR_char username[8]
Definition: XProtocol.hh:454
ClientLoginRequest::capver
kXR_char capver[1]
Definition: XProtocol.hh:457
XrdProto::read_list::offset
kXR_int64 offset
Definition: XProtocol.hh:689
kXR_rm
@ kXR_rm
Definition: XProtocol.hh:126
ClientInitHandShake::fourth
kXR_int32 fourth
Definition: XProtocol.hh:865
ServerResponseReqs_Protocol::seclvl
kXR_char seclvl
Definition: XProtocol.hh:742
ServerResponse::bind
ServerResponseBody_Bind bind
Definition: XProtocol.hh:854
truncate
#define truncate(a, b)
Definition: XrdPosix.hh:106
ClientRequestHdr::dlen
kXR_int32 dlen
Definition: XProtocol.hh:627
kXR_unt16
unsigned short kXR_unt16
Definition: XPtypes.hh:67
kXR_or
@ kXR_or
Definition: XProtocol.hh:155
kXR_IOError
@ kXR_IOError
Definition: XProtocol.hh:338
ServerResponseBody_Attn_asyncwt::actnum
kXR_int32 actnum
Definition: XProtocol.hh:822
ClientSigverRequest::expectrid
kXR_unt16 expectrid
Definition: XProtocol.hh:563
kXR_authmore
@ kXR_authmore
Definition: XProtocol.hh:302
kXR_overQuota
@ kXR_overQuota
Definition: XProtocol.hh:352
XProtocol
Definition: XProtocol.hh:909
kXR_chmod
@ kXR_chmod
Definition: XProtocol.hh:114
ClientReadRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:529
open
#define open
Definition: XrdPosix.hh:71
XSecCrypto
XSecCrypto
Definition: XProtocol.hh:288
ClientSetRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:558
ClientMkdirRequest::options
kXR_char options[1]
Definition: XProtocol.hh:464
ClientProtocolRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:492
ServerResponseSVec_Protocol::reqindx
kXR_char reqindx
Definition: XProtocol.hh:733
ClientBindRequest
Definition: XProtocol.hh:392
ClientDirlistRequest
Definition: XProtocol.hh:422
kXR_REQFENCE
@ kXR_REQFENCE
Definition: XProtocol.hh:144
kXR_mkdir
@ kXR_mkdir
Definition: XProtocol.hh:120
ClientSyncRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:580
ServerResponseBody_Bind::substreamid
kXR_char substreamid
Definition: XProtocol.hh:719
ServerResponseBody_Login
Definition: XProtocol.hh:779
kXR_offline
@ kXR_offline
Definition: XProtocol.hh:203
kXR_NotFile
@ kXR_NotFile
Definition: XProtocol.hh:346
ClientVerifywRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:615
kXR_set
@ kXR_set
Definition: XProtocol.hh:130
kXR_mknone
@ kXR_mknone
Definition: XProtocol.hh:161
ClientChmodRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:399
kXR_async
@ kXR_async
Definition: XProtocol.hh:222
ClientPutfileRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:515
kXR_delete
@ kXR_delete
Definition: XProtocol.hh:217
kGENERICERR
@ kGENERICERR
Definition: XProtocol.hh:98
ClientSigverRequest::rsvd2
kXR_char rsvd2[3]
Definition: XProtocol.hh:568
ServerResponseBody_Buffer::data
char data[4096]
Definition: XProtocol.hh:837
ClientAdminRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:381
kXR_sync
@ kXR_sync
Definition: XProtocol.hh:128
ClientTruncateRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:589
ClientGetfileRequest::reserved
kXR_char reserved[8]
Definition: XProtocol.hh:439
ClientWriteRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:597
readahead_list::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:671
kXR_ArgTooLong
@ kXR_ArgTooLong
Definition: XProtocol.hh:333
ClientWriteVRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:604
ServerResponseBody_Authmore
Definition: XProtocol.hh:832
kXR_asyncgo
@ kXR_asyncgo
Definition: XProtocol.hh:322
ServerResponse::error
ServerResponseBody_Error error
Definition: XProtocol.hh:845
ClientLoginRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:451
ClientPrepareRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:507
kXR_asyncav
@ kXR_asyncav
Definition: XProtocol.hh:320
kXR_hasipv64
@ kXR_hasipv64
Definition: XProtocol.hh:171
ClientRequestHdr::body
kXR_char body[16]
Definition: XProtocol.hh:626
ALIGN_CHECK
Definition: XProtocol.hh:880
kXR_onlyprv6
@ kXR_onlyprv6
Definition: XProtocol.hh:173
kXR_asyncdi
@ kXR_asyncdi
Definition: XProtocol.hh:316
kXR_oksofar
@ kXR_oksofar
Definition: XProtocol.hh:300
kXR_asyncms
@ kXR_asyncms
Definition: XProtocol.hh:317
ClientBindRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:394
ServerResponseBody_Error
Definition: XProtocol.hh:789
kXR_lclfile
@ kXR_lclfile
Definition: XProtocol.hh:174
kXR_noErrorYet
@ kXR_noErrorYet
Definition: XProtocol.hh:362
XPrepRequestOption
XPrepRequestOption
Definition: XProtocol.hh:264
ClientDirlistRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:423
ClientProtocolRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:493
kXR_ServerError
@ kXR_ServerError
Definition: XProtocol.hh:343
ServerResponse::authmore
ServerResponseBody_Authmore authmore
Definition: XProtocol.hh:846
ServerResponse::protocol
ServerResponseBody_Protocol protocol
Definition: XProtocol.hh:851
ClientRequest
Definition: XProtocol.hh:630
ClientGetfileRequest::options
kXR_int32 options
Definition: XProtocol.hh:438
ClientDirlistRequest::options
kXR_char options[1]
Definition: XProtocol.hh:426
ServerResponseReqs_Protocol::secvec
ServerResponseSVec_Protocol secvec
Definition: XProtocol.hh:744
ClientWriteRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:601
kXR_retstat
@ kXR_retstat
Definition: XProtocol.hh:227
XLoginAbility
XLoginAbility
Definition: XProtocol.hh:166
ServerResponse::buffer
ServerResponseBody_Buffer buffer
Definition: XProtocol.hh:853
kXR_query
@ kXR_query
Definition: XProtocol.hh:113
ServerResponseBody_Attn_asyncdi::msec
kXR_int32 msec
Definition: XProtocol.hh:829
readahead_list::rlen
kXR_int32 rlen
Definition: XProtocol.hh:672
XReqErrorType
XReqErrorType
Definition: XProtocol.hh:97
ClientLoginRequest
Definition: XProtocol.hh:450
ClientLocateRequest::reserved
kXR_char reserved[14]
Definition: XProtocol.hh:447
ClientAuthRequest
Definition: XProtocol.hh:385
ServerResponseBody_Redirect::host
char host[4096]
Definition: XProtocol.hh:786
ClientRmRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:543
kXR_statx
@ kXR_statx
Definition: XProtocol.hh:134
kXR_cancel
@ kXR_cancel
Definition: XProtocol.hh:265
ClientReadVRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:535
kXR_dirlist
@ kXR_dirlist
Definition: XProtocol.hh:116
ClientCloseRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:407
ServerResponse::login
ServerResponseBody_Login login
Definition: XProtocol.hh:852
ClientPrepareRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:501
ClientWriteVRequest
Definition: XProtocol.hh:603
kXR_QPrep
@ kXR_QPrep
Definition: XProtocol.hh:242
ClientAuthRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:386
ClientRmRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:542
ClientPutfileRequest::buffsz
kXR_int32 buffsz
Definition: XProtocol.hh:514
ClientChmodRequest::mode
kXR_unt16 mode
Definition: XProtocol.hh:402
kXR_stat
@ kXR_stat
Definition: XProtocol.hh:129
kXR_InvalidRequest
@ kXR_InvalidRequest
Definition: XProtocol.hh:337
ServerResponse
Definition: XProtocol.hh:841
ServerResponseBody_Attn_asyncrd::host
char host[4092]
Definition: XProtocol.hh:811
ServerResponseReqs_Protocol::secver
kXR_char secver
Definition: XProtocol.hh:740
SecurityRequest
Definition: XProtocol.hh:664
kXR_asyncab
@ kXR_asyncab
Definition: XProtocol.hh:315
ALIGN_CHECK::chkszrsp
char chkszrsp[9-sizeof(ServerResponseHeader)]
Definition: XProtocol.hh:881
ClientSyncRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:584
kXR_ping
@ kXR_ping
Definition: XProtocol.hh:123
ServerResponseBody_Protocol::flags
kXR_int32 flags
Definition: XProtocol.hh:769
ClientDirlistRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:427
kXR_ver002
@ kXR_ver002
Definition: XProtocol.hh:189
kXR_Qxattr
@ kXR_Qxattr
Definition: XProtocol.hh:244
ClientSyncRequest
Definition: XProtocol.hh:579
ClientPutfileRequest
Definition: XProtocol.hh:509
ServerResponseBody_Attn_asynresp::respdata
char respdata[4096]
Definition: XProtocol.hh:818
ClientMkdirRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:467
kXR_secreqs
@ kXR_secreqs
Definition: XProtocol.hh:237
ServerResponseBody_Wait::seconds
kXR_int32 seconds
Definition: XProtocol.hh:795
kXR_writev
@ kXR_writev
Definition: XProtocol.hh:143
ClientSetRequest
Definition: XProtocol.hh:553
kXR_Unsupported
@ kXR_Unsupported
Definition: XProtocol.hh:344
ServerInitHandShake::msgval
kXR_int32 msgval
Definition: XProtocol.hh:873
kREDIRCONNECT
@ kREDIRCONNECT
Definition: XProtocol.hh:101
ClientReadVRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:536
ClientQueryRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:518
kXR_unt64
unsigned long long kXR_unt64
Definition: XPtypes.hh:99
ClientSetRequest::reserved
kXR_char reserved[15]
Definition: XProtocol.hh:556
kXR_protocol
@ kXR_protocol
Definition: XProtocol.hh:118
ClientRmRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:545
kXR_Cancelled
@ kXR_Cancelled
Definition: XProtocol.hh:348
close
#define close(a)
Definition: XrdPosix.hh:43
XLoginVersion
XLoginVersion
Definition: XProtocol.hh:186
ServerResponseBody_Wait::infomsg
char infomsg[4096]
Definition: XProtocol.hh:796
ClientGetfileRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:437
ServerResponse::body
union ServerResponse::@0 body
ClientProtocolRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:497
ClientSetRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:555
kXR_close
@ kXR_close
Definition: XProtocol.hh:115
ServerResponseBody_Protocol::pval
kXR_int32 pval
Definition: XProtocol.hh:768
ClientWriteRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:595
ClientMvRequest::arg1len
kXR_int16 arg1len
Definition: XProtocol.hh:473
ClientPingRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:486
ClientPutfileRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:510
kXR_gw
@ kXR_gw
Definition: XProtocol.hh:153
ServerResponseBody_Attn_asyncwt::wsec
kXR_int32 wsec
Definition: XProtocol.hh:823
ServerResponseReqs_Protocol::secvsz
kXR_char secvsz
Definition: XProtocol.hh:743
ServerResponseBody_Open
Definition: XProtocol.hh:723
ClientReadRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:528
XrdProto::read_list::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:687
kXR_error
@ kXR_error
Definition: XProtocol.hh:303
ClientStatRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:573
ClientWriteVRequest::reserved
kXR_char reserved[15]
Definition: XProtocol.hh:607
kXR_dstat
@ kXR_dstat
Definition: XProtocol.hh:212
ServerResponseBody_Attn_asyncwt
Definition: XProtocol.hh:821
ServerResponseHeader::status
kXR_unt16 status
Definition: XProtocol.hh:713
ServerResponse::hdr
ServerResponseHeader hdr
Definition: XProtocol.hh:842
ClientQueryRequest::reserved1
kXR_char reserved1[2]
Definition: XProtocol.hh:521
ClientAuthRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:390
ClientCloseRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:408
kXR_xset
@ kXR_xset
Definition: XProtocol.hh:200
ServerResponseBody_Waitresp::seconds
kXR_int32 seconds
Definition: XProtocol.hh:800
kXR_attn
@ kXR_attn
Definition: XProtocol.hh:301
kXR_open_wrto
@ kXR_open_wrto
Definition: XProtocol.hh:233
ClientPutfileRequest::reserved
kXR_char reserved[8]
Definition: XProtocol.hh:513
ClientPrepareRequest::options
kXR_char options
Definition: XProtocol.hh:502
kXR_Qopaqug
@ kXR_Qopaqug
Definition: XProtocol.hh:251
kXR_Qcksum
@ kXR_Qcksum
Definition: XProtocol.hh:243
ClientAdminRequest
Definition: XProtocol.hh:379
ClientDecryptRequest::expectrid
kXR_unt16 expectrid
Definition: XProtocol.hh:416
ClientGetfileRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:436
ClientLocateRequest
Definition: XProtocol.hh:443
kXR_ux
@ kXR_ux
Definition: XProtocol.hh:151
kXR_BadPayload
@ kXR_BadPayload
Definition: XProtocol.hh:357
ClientRmRequest::reserved
kXR_char reserved[16]
Definition: XProtocol.hh:544
kXR_prefname
@ kXR_prefname
Definition: XProtocol.hh:225
ServerResponseReqs_Protocol
Definition: XProtocol.hh:737
kXR_open_apnd
@ kXR_open_apnd
Definition: XProtocol.hh:226
ServerResponseHeader
Definition: XProtocol.hh:711
ServerResponseBody_Attn_asyncdi::wsec
kXR_int32 wsec
Definition: XProtocol.hh:828
kXR_ur
@ kXR_ur
Definition: XProtocol.hh:149
ClientWriteRequest::offset
kXR_int64 offset
Definition: XProtocol.hh:598
kXR_seqio
@ kXR_seqio
Definition: XProtocol.hh:232
XProtocol::reqName
static const char * reqName(kXR_unt16 reqCode)
ClientAdminRequest::reserved
kXR_char reserved[16]
Definition: XProtocol.hh:382
ClientStatRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:572
ClientChmodRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:403
ServerResponse::attn
ServerResponseBody_Attn attn
Definition: XProtocol.hh:850
ServerResponseBody_Open::cptype
kXR_char cptype[4]
Definition: XProtocol.hh:726
kXR_endsess
@ kXR_endsess
Definition: XProtocol.hh:135
kXR_force
@ kXR_force
Definition: XProtocol.hh:218
read_args
Definition: XProtocol.hh:676
ServerResponseSVec_Protocol::reqsreq
kXR_char reqsreq
Definition: XProtocol.hh:734
ClientAuthRequest::reserved
kXR_char reserved[12]
Definition: XProtocol.hh:388
ClientWriteVRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:608
XResponseType
XResponseType
Definition: XProtocol.hh:298
kXR_ver001
@ kXR_ver001
Definition: XProtocol.hh:188
ClientDecryptRequest::reserved
kXR_char reserved[12]
Definition: XProtocol.hh:419
ClientAdminRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:383
XProtocol::toErrno
static int toErrno(int xerr)
Definition: XProtocol.hh:946
kXR_wait
@ kXR_wait
Definition: XProtocol.hh:305
kXR_online
@ kXR_online
Definition: XProtocol.hh:211
ClientSyncRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:582
kXR_read
@ kXR_read
Definition: XProtocol.hh:125
ServerResponseBody_Attn_asynresp::resphdr
ServerResponseHeader resphdr
Definition: XProtocol.hh:817
kXR_bind
@ kXR_bind
Definition: XProtocol.hh:136
ServerResponseBody_Attn_asyncrd
Definition: XProtocol.hh:808
ServerResponseBody_Protocol::secreq
ServerResponseReqs_Protocol secreq
Definition: XProtocol.hh:770
kXR_inProgress
@ kXR_inProgress
Definition: XProtocol.hh:351
ServerResponseBody_Waitresp
Definition: XProtocol.hh:799
mkdir
#define mkdir(a, b)
Definition: XrdPosix.hh:69
ClientWriteRequest::reserved
kXR_char reserved[3]
Definition: XProtocol.hh:600
ClientBindRequest::sessid
kXR_char sessid[16]
Definition: XProtocol.hh:395
ClientPrepareRequest::reserved
kXR_char reserved[10]
Definition: XProtocol.hh:506
ClientBindRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:393
kXR_Qspace
@ kXR_Qspace
Definition: XProtocol.hh:245
ClientQueryRequest::infotype
kXR_unt16 infotype
Definition: XProtocol.hh:520
ClientEndsessRequest
Definition: XProtocol.hh:429
ClientLocateRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:448
ClientChmodRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:400
kXR_nocrc
@ kXR_nocrc
Definition: XProtocol.hh:255
ClientVerifywRequest::offset
kXR_int64 offset
Definition: XProtocol.hh:616
ClientReadRequest
Definition: XProtocol.hh:526
kXR_4dirlist
@ kXR_4dirlist
Definition: XProtocol.hh:228
ClientSetRequest::modifier
kXR_char modifier
Definition: XProtocol.hh:557
XrdProto::write_list::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:693
ClientProtocolRequest
Definition: XProtocol.hh:491
read
#define read(a, b, c)
Definition: XrdPosix.hh:77
ClientRequestHdr::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:624
ServerResponseBody_Attn_asynresp::actnum
kXR_int32 actnum
Definition: XProtocol.hh:815
ServerInitHandShake::msglen
kXR_int32 msglen
Definition: XProtocol.hh:871
XStatRequestOption
XStatRequestOption
Definition: XProtocol.hh:194
ClientDirlistRequest::reserved
kXR_char reserved[15]
Definition: XProtocol.hh:425
kXR_locate
@ kXR_locate
Definition: XProtocol.hh:139
ClientInitHandShake::third
kXR_int32 third
Definition: XProtocol.hh:864
ClientPrepareRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:500
ClientMvRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:471
ServerResponseReqs_Protocol::theTag
kXR_char theTag
Definition: XProtocol.hh:738
kXR_SigVerErr
@ kXR_SigVerErr
Definition: XProtocol.hh:353
ClientTruncateRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:588
ServerResponseBody_Attn_asyncrd::port
kXR_int32 port
Definition: XProtocol.hh:810
ClientCloseRequest::reserved
kXR_char reserved[4]
Definition: XProtocol.hh:410
kXR_coloc
@ kXR_coloc
Definition: XProtocol.hh:270
kXR_readable
@ kXR_readable
Definition: XProtocol.hh:204
kXR_getfile
@ kXR_getfile
Definition: XProtocol.hh:117
ServerResponseHeader::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:712
stat
#define stat(a, b)
Definition: XrdPosix.hh:96
ClientReadVRequest::reserved
kXR_char reserved[15]
Definition: XProtocol.hh:537
kXR_redirect
@ kXR_redirect
Definition: XProtocol.hh:304
ClientDecryptRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:415
ClientWriteRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:596
ClientLoginRequest::reserved
kXR_char reserved
Definition: XProtocol.hh:455
kOK
@ kOK
Definition: XProtocol.hh:102
kXR_ox
@ kXR_ox
Definition: XProtocol.hh:157
kXR_mkdirpath
@ kXR_mkdirpath
Definition: XProtocol.hh:162
ServerResponse::redirect
ServerResponseBody_Redirect redirect
Definition: XProtocol.hh:849
kXR_open_updt
@ kXR_open_updt
Definition: XProtocol.hh:221
ClientSyncRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:581
ClientVerifywRequest::pathid
kXR_char pathid
Definition: XProtocol.hh:617
ClientGetfileRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:441
kXR_mkpath
@ kXR_mkpath
Definition: XProtocol.hh:224
XRequestTypes
XRequestTypes
Definition: XProtocol.hh:111
XrdProto::write_list::wlen
kXR_int32 wlen
Definition: XProtocol.hh:694
kXR_uw
@ kXR_uw
Definition: XProtocol.hh:150
ClientRmdirRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:551
ClientStatRequest::options
kXR_char options
Definition: XProtocol.hh:574
ClientOpenRequest
Definition: XProtocol.hh:476
ClientOpenRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:478
ClientRmdirRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:549
ClientQueryRequest::fhandle
kXR_char fhandle[4]
Definition: XProtocol.hh:522
kXR_noserver
@ kXR_noserver
Definition: XProtocol.hh:345
ClientReadVRequest::pathid
kXR_char pathid
Definition: XProtocol.hh:538
ClientTruncateRequest::reserved
kXR_char reserved[4]
Definition: XProtocol.hh:591
ClientGetfileRequest
Definition: XProtocol.hh:435
ClientChmodRequest
Definition: XProtocol.hh:398
ClientReadRequest::offset
kXR_int64 offset
Definition: XProtocol.hh:530
ClientTruncateRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:587
ClientProtocolRequest::reserved
kXR_char reserved[11]
Definition: XProtocol.hh:496
kXR_poscpend
@ kXR_poscpend
Definition: XProtocol.hh:206
kXR_ArgInvalid
@ kXR_ArgInvalid
Definition: XProtocol.hh:331
ClientWriteRequest
Definition: XProtocol.hh:594
kXR_TLSRequired
@ kXR_TLSRequired
Definition: XProtocol.hh:359
ServerResponseBody_Attn::actnum
kXR_int32 actnum
Definition: XProtocol.hh:804
ClientReadRequest::rlen
kXR_int32 rlen
Definition: XProtocol.hh:531
ClientWriteVRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:605
XActionCode
XActionCode
Definition: XProtocol.hh:314
ClientPingRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:487
kXR_ok
@ kXR_ok
Definition: XProtocol.hh:299
read_args::reserved
kXR_char reserved[7]
Definition: XProtocol.hh:678
kXR_new
@ kXR_new
Definition: XProtocol.hh:219
XSecFlags
XSecFlags
Definition: XProtocol.hh:283
ClientMvRequest::streamid
kXR_char streamid[2]
Definition: XProtocol.hh:470
kXR_ow
@ kXR_ow
Definition: XProtocol.hh:156
XDirlistRequestOption
XDirlistRequestOption
Definition: XProtocol.hh:210
XrdProto
Definition: XProtocol.hh:685
kXR_fsReadOnly
@ kXR_fsReadOnly
Definition: XProtocol.hh:356
kXR_FileLocked
@ kXR_FileLocked
Definition: XProtocol.hh:334
XrdProto::write_list
Definition: XProtocol.hh:692
ClientStatRequest
Definition: XProtocol.hh:571
ClientEndsessRequest::sessid
kXR_char sessid[16]
Definition: XProtocol.hh:432
kXR_usetcp
@ kXR_usetcp
Definition: XProtocol.hh:272
ClientMkdirRequest::reserved
kXR_char reserved[13]
Definition: XProtocol.hh:465
kXR_lcvnone
@ kXR_lcvnone
Definition: XProtocol.hh:179
ClientDecryptRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:420
kXR_prepare
@ kXR_prepare
Definition: XProtocol.hh:133
ClientLoginRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:452
kXR_bkpexist
@ kXR_bkpexist
Definition: XProtocol.hh:207
ClientSigverRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:569
kXR_NotFound
@ kXR_NotFound
Definition: XProtocol.hh:342
ClientAuthRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:387
ClientPutfileRequest::options
kXR_int32 options
Definition: XProtocol.hh:512
kXR_FileNotOpen
@ kXR_FileNotOpen
Definition: XProtocol.hh:335
kXR_fresh
@ kXR_fresh
Definition: XProtocol.hh:271
kXR_decrypt
@ kXR_decrypt
Definition: XProtocol.hh:142
ClientPingRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:489
ServerResponseBody_Open::cpsize
kXR_int32 cpsize
Definition: XProtocol.hh:725
ClientPingRequest::reserved
kXR_char reserved[16]
Definition: XProtocol.hh:488
ClientLoginRequest::ability
kXR_char ability
Definition: XProtocol.hh:456
ClientLocateRequest::options
kXR_unt16 options
Definition: XProtocol.hh:446
kXR_notify
@ kXR_notify
Definition: XProtocol.hh:266
kXR_replica
@ kXR_replica
Definition: XProtocol.hh:229
kXR_noerrs
@ kXR_noerrs
Definition: XProtocol.hh:267
kXR_asyncrd
@ kXR_asyncrd
Definition: XProtocol.hh:318
ClientDecryptRequest
Definition: XProtocol.hh:413
ServerResponse::wait
ServerResponseBody_Wait wait
Definition: XProtocol.hh:847
ClientSigverRequest::version
kXR_char version
Definition: XProtocol.hh:564
ClientMkdirRequest::requestid
kXR_unt16 requestid
Definition: XProtocol.hh:463
ClientInitHandShake::second
kXR_int32 second
Definition: XProtocol.hh:863
kXR_asynunav
@ kXR_asynunav
Definition: XProtocol.hh:321
kXR_crc32
@ kXR_crc32
Definition: XProtocol.hh:256
ServerResponseBody_Redirect
Definition: XProtocol.hh:784
XStatRespFlags
XStatRespFlags
Definition: XProtocol.hh:198
ClientVerifywRequest::dlen
kXR_int32 dlen
Definition: XProtocol.hh:620
XPtypes.hh
kXR_HashMask
@ kXR_HashMask
Definition: XProtocol.hh:290
ClientLoginRequest::pid
kXR_int32 pid
Definition: XProtocol.hh:453
ClientDecryptRequest::version
kXR_char version
Definition: XProtocol.hh:417
kXR_compress
@ kXR_compress
Definition: XProtocol.hh:216
ClientRmdirRequest::reserved
kXR_char reserved[16]
Definition: XProtocol.hh:550