xrootd
|
00001 #ifndef __XRDCnsSSI_H_ 00002 #define __XRDCnsSSI_H_ 00003 /******************************************************************************/ 00004 /* */ 00005 /* X r d C n s S s i . h h */ 00006 /* */ 00007 /* (c) 2009 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$ 00014 00015 class XrdCnsSsiDRec; 00016 class XrdCnsSsiFRec; 00017 struct iovec; 00018 00019 class XrdCnsSsi 00020 { 00021 public: 00022 00023 static int List(const char *Host, const char *Path); 00024 00025 static int Updt(const char *Host, const char *Path); 00026 00027 static int Write(int xFD, struct iovec *iov, int n, int Bytes); 00028 00029 static int nErrs; 00030 static int nDirs; 00031 static int nFiles; 00032 00033 XrdCnsSsi() {} 00034 ~XrdCnsSsi() {} 00035 00036 private: 00037 static XrdCnsSsiDRec *AddDir(char *dP, char *lP); 00038 static int AddDel(char *pPo, char *lP); 00039 static XrdCnsSsiFRec *AddFile(char *lfn, char *lP); 00040 static XrdCnsSsiFRec *AddFile(char *dP, char *fP, char *lP); 00041 static void AddSize(char *dP, char *fP, char *lP); 00042 static int ApplyLog(const char *Path); 00043 static void ApplyLogRec(char *Rec); 00044 static void FSize(char *oP, char *iP, int bsz); 00045 static int Write(int xFD, char *bP, int bL); 00046 static int Write(int xFD, int TOD, const char *Host); 00047 00048 }; 00049 #endif