CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Utilities/StorageFactory/interface/IOFlags.h

Go to the documentation of this file.
00001 #ifndef STORAGE_FACTORY_IO_FLAGS_H
00002 # define STORAGE_FACTORY_IO_FLAGS_H
00003 
00004 namespace IOFlags
00005 {
00007   enum OpenMode
00008   {
00009     OpenRead            = 1,    /*< Open for read access.  */
00010     OpenWrite           = 2,    /*< Open for write access.  */
00011     OpenNonBlock        = 4,    /*< Open in non-blocking mode.
00012                                     Neither the #open() nor any
00013                                     subsequent operation on the
00014                                     returned descriptor cause the
00015                                     process to wait.  Applied to
00016                                     opening a named pipe (a FIFO)
00017                                     allows the pipe to be opened
00018                                     without waiting for the other end
00019                                     to be connected.  */
00020     OpenAppend          = 8,    /*< Writes to the file should always
00021                                     append to the end of the file.  */
00022     OpenUnbuffered      = 16,   /*< No write caching should be done on
00023                                     this file; may result in blocking
00024                                     the process until the data has
00025                                     actually been written.  */
00026     OpenCreate          = 32,   /*< Create the file if it does not exist.  */
00027     OpenExclusive       = 64,   /*< With #ModeCreate specifies that
00028                                     the creation should fali if the
00029                                     file exists.  */
00030     OpenTruncate        = 128,  /*< If the file exists, truncate it to
00031                                     zero size.  */
00032     OpenNotCTTY         = 256   /*< If the specified file is a
00033                                     terminal device, do not make it
00034                                     the controlling terminal for the
00035                                     process even if the process does
00036                                     not have one yet.  */
00037   };
00038 } // namespace IOFlags
00039 
00040 #endif // STORAGE_FACTORY_IO_FLAGS_H