XRootD
XrdSutPFHeader Class Reference

#include <XrdSutPFile.hh>

+ Collaboration diagram for XrdSutPFHeader:

Public Member Functions

 XrdSutPFHeader (const char *id=" ", kXR_int32 v=0, kXR_int32 ct=0, kXR_int32 it=0, kXR_int32 ent=0, kXR_int32 ofs=0)
 
 XrdSutPFHeader (const XrdSutPFHeader &fh)
 
virtual ~XrdSutPFHeader ()
 
void Print () const
 

Static Public Member Functions

static kXR_int32 Length ()
 

Public Attributes

kXR_int32 ctime
 
kXR_int32 entries
 
char fileID [kFileIDSize]
 
kXR_int32 indofs
 
kXR_int32 itime
 
kXR_int32 jnksiz
 
kXR_int32 version
 

Detailed Description

Definition at line 102 of file XrdSutPFile.hh.

Constructor & Destructor Documentation

◆ XrdSutPFHeader() [1/2]

XrdSutPFHeader::XrdSutPFHeader ( const char *  id = "       ",
kXR_int32  v = 0,
kXR_int32  ct = 0,
kXR_int32  it = 0,
kXR_int32  ent = 0,
kXR_int32  ofs = 0 
)

Definition at line 112 of file XrdSutPFile.cc.

114 {
115  // Constructor
116 
117  memset(fileID,0,kFileIDSize);
118  if (id) {
119  kXR_int32 lid = strlen(id);
120  if (lid > kFileIDSize)
121  lid = kFileIDSize;
122  memcpy(fileID,id,lid);
123  }
124  version = v;
125  ctime = ct;
126  itime = it;
127  entries = ent;
128  indofs = ofs;
129  jnksiz = 0; // At start everything is reachable
130 }
int kXR_int32
Definition: XPtypes.hh:89
#define kFileIDSize
Definition: XrdSutPFile.hh:47
kXR_int32 itime
Definition: XrdSutPFile.hh:107
kXR_int32 entries
Definition: XrdSutPFile.hh:108
kXR_int32 version
Definition: XrdSutPFile.hh:105
kXR_int32 ctime
Definition: XrdSutPFile.hh:106
kXR_int32 jnksiz
Definition: XrdSutPFile.hh:110
kXR_int32 indofs
Definition: XrdSutPFile.hh:109
char fileID[kFileIDSize]
Definition: XrdSutPFile.hh:104

References ctime, entries, fileID, indofs, itime, jnksiz, kFileIDSize, and version.

◆ XrdSutPFHeader() [2/2]

XrdSutPFHeader::XrdSutPFHeader ( const XrdSutPFHeader fh)

Definition at line 133 of file XrdSutPFile.cc.

134 {
135  // Copy constructor
136 
137  memcpy(fileID,fh.fileID,kFileIDSize);
138  version = fh.version;
139  ctime = fh.ctime;
140  itime = fh.itime;
141  entries = fh.entries;
142  indofs = fh.indofs;
143  jnksiz = fh.jnksiz;
144 }

References ctime, entries, fileID, indofs, itime, jnksiz, kFileIDSize, and version.

◆ ~XrdSutPFHeader()

virtual XrdSutPFHeader::~XrdSutPFHeader ( )
inlinevirtual

Definition at line 114 of file XrdSutPFile.hh.

114 { }

Member Function Documentation

◆ Length()

static kXR_int32 XrdSutPFHeader::Length ( )
inlinestatic

Definition at line 117 of file XrdSutPFile.hh.

117 { return (kFileIDSize + 6*sizeof(kXR_int32)); }

References kFileIDSize.

◆ Print()

void XrdSutPFHeader::Print ( ) const

Definition at line 147 of file XrdSutPFile.cc.

148 {
149  // Header printout
150 
151  struct tm tst;
152 
153  // String form for time of last change
154  char sctime[256] = {0};
155  time_t ttmp = ctime;
156  localtime_r(&ttmp,&tst);
157  asctime_r(&tst,sctime);
158  sctime[strlen(sctime)-1] = 0;
159 
160  // String form for time of last index change
161  char sitime[256] = {0};
162  ttmp = itime;
163  localtime_r(&ttmp,&tst);
164  asctime_r(&tst,sitime);
165  sitime[strlen(sitime)-1] = 0;
166 
167  fprintf(stdout,
168  "//------------------------------------"
169  "------------------------------//\n"
170  "// \n"
171  "// File Header dump \n"
172  "// \n"
173  "// File ID: %s \n"
174  "// version: %d \n"
175  "// last changed on: %s (%d sec) \n"
176  "// index changed on: %s (%d sec) \n"
177  "// entries: %d \n"
178  "// unreachable: %d \n"
179  "// first ofs: %d \n"
180  "// \n"
181  "//------------------------------------"
182  "------------------------------//\n",
183  fileID,version,sctime,ctime,sitime,itime,entries,jnksiz,indofs);
184 }

References ctime, entries, fileID, indofs, itime, jnksiz, and version.

Member Data Documentation

◆ ctime

◆ entries

◆ fileID

char XrdSutPFHeader::fileID[kFileIDSize]

Definition at line 104 of file XrdSutPFile.hh.

Referenced by XrdSutPFHeader(), XrdSutPFile::Browse(), and Print().

◆ indofs

◆ itime

◆ jnksiz

◆ version

kXR_int32 XrdSutPFHeader::version

Definition at line 105 of file XrdSutPFile.hh.

Referenced by XrdSutPFHeader(), XrdSutPFile::Browse(), and Print().


The documentation for this class was generated from the following files: