XrdCmsRRData.hh

Go to the documentation of this file.
00001 #ifndef __XRDCMSRRDATA_H__
00002 #define __XRDCMSRRDATA_H__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                       X r d C m s R R D a t a . h h                        */
00006 /*                                                                            */
00007 /* (c) 2007 by the Board of Trustees of the Leland Stanford, Jr., University  */
00008 /*                            All Rights Reserved                             */
00009 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00010 /*              DE-AC02-76-SFO0515 with the Department of Energy              */
00011 /******************************************************************************/
00012   
00013 //         $Id: XrdCmsRRData.hh 24468 2008-06-22 16:47:03Z ganis $
00014 
00015 #include <stdlib.h>
00016 
00017 #include "XProtocol/YProtocol.hh"
00018 
00019 class XrdCmsRLData
00020 {
00021 public:
00022 
00023        char          *theAuth;
00024        char          *theSID;
00025        char          *thePaths;
00026        int            totLen;
00027 
00028 //     XrdCmsRLData() {}  Lack of constructor makes this a POD type
00029 //    ~XrdCmsRLData() {}  Lack of destructor  makes this a POD type
00030 };
00031 
00032 
00033 class XrdCmsRRData
00034 {
00035 public:
00036 XrdCms::CmsRRHdr       Request;     // all
00037         char          *Path;        // all -prepcan
00038         char          *Opaque;      // all -prepcan
00039         char          *Path2;       // mv
00040         char          *Opaque2;     // mv
00041         char          *Avoid;       // locate, select
00042         char          *Reqid;       // prepadd, prepcan
00043         char          *Notify;      // prepadd
00044         char          *Prty;        // prepadd
00045         char          *Mode;        // chmod, mkdir, mkpath, prepadd
00046         char          *Ident;       // all
00047         unsigned int   Opts;        // locate, select
00048                  int   PathLen;     // locate, prepadd, select (inc null byte)
00049         unsigned int   dskFree;     // avail, load
00050 union  {unsigned int   dskUtil;     // avail
00051                  int   waitVal;
00052        };
00053         char          *Buff;        // Buffer underlying the pointers
00054         int            Blen;        // Length of buffer
00055         int            Dlen;        // Length of data in the buffer
00056         int            Routing;     // Routing options
00057 
00058 enum ArgName
00059 {    Arg_Null=0,   Arg_AToken,    Arg_Avoid,     Arg_Datlen,
00060      Arg_Ident,    Arg_Info,      Arg_Mode,      Arg_Notify,
00061      Arg_Opaque2,  Arg_Opaque,    Arg_Opts,      Arg_Path,
00062      Arg_Path2,    Arg_Port,      Arg_Prty,      Arg_Reqid,
00063      Arg_dskFree,  Arg_dskUtil,   Arg_theLoad,   Arg_SID,
00064      Arg_dskTot,   Arg_dskMinf,
00065 
00066      Arg_Count     // Always the last item which equals the number of elements
00067 };
00068 
00069 static XrdCmsRRData *Objectify(XrdCmsRRData *op=0);
00070 
00071        int           getBuff(size_t bsz);
00072 
00073 //      XrdCmsRRData() {}  Lack of constructor makes this a POD type
00074 //     ~XrdCmsRRData() {}  Lack of destructor  makes this a POD type
00075 
00076 XrdCmsRRData *Next;   // POD types canot have private members so virtual private
00077 };
00078 #endif

Generated on Tue Jul 5 14:46:31 2011 for ROOT_528-00b_version by  doxygen 1.5.1