00001 #ifndef __OSSMIOFILE_H__ 00002 #define __OSSMIOFILE_H__ 00003 /******************************************************************************/ 00004 /* */ 00005 /* X r d O s s M i o F i l e . h h */ 00006 /* */ 00007 /* (c) 2005 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: XrdOssMioFile.hh 22437 2008-03-04 14:35:16Z rdm $ 00014 00015 #include <time.h> 00016 #include <sys/types.h> 00017 00018 class XrdOssMioFile 00019 { 00020 public: 00021 friend class XrdOssMio; 00022 00023 off_t Export(void **Addr) {*Addr = Base; return Size;} 00024 00025 XrdOssMioFile(char *hname) 00026 {strcpy(HashName, hname); 00027 inUse = 1; Next = 0; Size = 0; 00028 } 00029 ~XrdOssMioFile(); 00030 00031 private: 00032 00033 XrdOssMioFile *Next; 00034 dev_t Dev; 00035 ino_t Ino; 00036 int Status; 00037 int inUse; 00038 void *Base; 00039 off_t Size; 00040 char HashName[64]; 00041 }; 00042 #endif