xrootd
XrdXrootdMonData.hh
Go to the documentation of this file.
00001 #ifndef __XRDXROOTDMONDATA__
00002 #define __XRDXROOTDMONDATA__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                   X r d X r o o t d M o n D a t a . h h                    */
00006 /*                                                                            */
00007 /* (c) 2004 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-AC03-76-SFO0515 with the Department of Energy              */
00011 /******************************************************************************/
00012 
00013 #include "XProtocol/XPtypes.hh"
00014 
00015 /******************************************************************************/
00016 /*                    P a c k e t   D e f i n i t i o n s                     */
00017 /******************************************************************************/
00018   
00019 struct XrdXrootdMonHeader
00020        {kXR_char   code;         // 'd' | 'i' | 'r' | 't' | 'u'
00021         kXR_char   pseq;         // packet sequence
00022         kXR_unt16  plen;         // packet length
00023         kXR_int32  stod;         // Unix time at Server Start
00024        };
00025 
00026 struct XrdXrootdMonTrace
00027        {union {kXR_int64  val;
00028                kXR_char   id[8];
00029                kXR_unt16  sVal[4];
00030                kXR_unt32  rTot[2]; } arg0;
00031         union {kXR_int32  buflen;
00032                kXR_int32  Window;
00033                kXR_unt32  wTot;    } arg1;
00034         union {kXR_unt32  dictid;
00035                kXR_int32  Window;  } arg2;
00036        };
00037 
00038 struct XrdXrootdMonBuff
00039        {XrdXrootdMonHeader hdr;
00040         XrdXrootdMonTrace  info[sizeof(XrdXrootdMonTrace)]; //This is really [n]
00041        };
00042 
00043 struct XrdXrootdMonMap
00044        {XrdXrootdMonHeader hdr;
00045         kXR_unt32          dictid;
00046         char               info[1024+256];
00047        };
00048   
00049 const kXR_char XROOTD_MON_APPID         = 0xa0;
00050 const kXR_char XROOTD_MON_CLOSE         = 0xc0;
00051 const kXR_char XROOTD_MON_DISC          = 0xd0;
00052 const kXR_char XROOTD_MON_OPEN          = 0x80;
00053 const kXR_char XROOTD_MON_READV         = 0x90;
00054 const kXR_char XROOTD_MON_WINDOW        = 0xe0;
00055 
00056 const kXR_char XROOTD_MON_MAPPATH       = 'd';
00057 const kXR_char XROOTD_MON_MAPINFO       = 'i';
00058 const kXR_char XROOTD_MON_MAPREDR       = 'r';
00059 const kXR_char XROOTD_MON_MAPSTAG       = 's';
00060 const kXR_char XROOTD_MON_MAPTRCE       = 't';
00061 const kXR_char XROOTD_MON_MAPUSER       = 'u';
00062 
00063 #endif