xrootd
|
00001 #ifndef __OUC_SXEQ_HH__ 00002 #define __OUC_SXEQ_HH__ 00003 /******************************************************************************/ 00004 /* */ 00005 /* X r d O u c S x e q . 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 class XrdOucSxeq 00014 { 00015 public: 00016 00017 static const int noWait = 0x0001; 00018 static const int Share = 0x0002; 00019 static const int Unlink = 0x0004; 00020 static const int Lock = 0x0008; // lock in constructor 00021 00022 int Detach() {int lFD = lokFD; lokFD = -1; return lFD;} 00023 00024 int Release(); 00025 00026 static 00027 int Release(int fileD); 00028 00029 int Serialize(int Opts=0); 00030 00031 static 00032 int Serialize(int fileD, int Opts); 00033 00034 int lastError() {return lokRC;} 00035 00036 XrdOucSxeq(int sOpts, const char *path); 00037 XrdOucSxeq(const char *sfx, const char *sfx1=0, const char *Dir="/tmp/"); 00038 ~XrdOucSxeq(); 00039 00040 private: 00041 00042 char *lokFN; 00043 int lokFD; 00044 int lokUL; 00045 int lokRC; 00046 }; 00047 #endif