00001 #ifndef __XRDCnsSSI_H_
00002 #define __XRDCnsSSI_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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