Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:51

0001 #ifndef STORAGE_FACTORY_IO_FLAGS_H
0002 #define STORAGE_FACTORY_IO_FLAGS_H
0003 
0004 namespace edm::storage {
0005 
0006   namespace IOFlags {
0007     /// File open mode flags.
0008     enum OpenMode {
0009       OpenRead = 1,        /*< Open for read access.  */
0010       OpenWrite = 2,       /*< Open for write access.  */
0011       OpenNonBlock = 4,    /*< Open in non-blocking mode.
0012                     Neither the #open() nor any
0013                     subsequent operation on the
0014                     returned descriptor cause the
0015                     process to wait.  Applied to
0016                     opening a named pipe (a FIFO)
0017                     allows the pipe to be opened
0018                     without waiting for the other end
0019                     to be connected.  */
0020       OpenAppend = 8,      /*< Writes to the file should always
0021                     append to the end of the file.  */
0022       OpenUnbuffered = 16, /*< No write caching should be done on
0023                     this file; may result in blocking
0024                     the process until the data has
0025                     actually been written.  */
0026       OpenCreate = 32,     /*< Create the file if it does not exist.  */
0027       OpenExclusive = 64,  /*< With #ModeCreate specifies that
0028                     the creation should fali if the
0029                     file exists.  */
0030       OpenTruncate = 128,  /*< If the file exists, truncate it to
0031                     zero size.  */
0032       OpenNotCTTY = 256,   /*< If the specified file is a
0033                     terminal device, do not make it
0034                     the controlling terminal for the
0035                     process even if the process does
0036                     not have one yet.  */
0037       OpenWrap = 512       /*< Wrap the file if at all possible
0038                     with a local file.  */
0039     };
0040   }  // namespace IOFlags
0041 }  // namespace edm::storage
0042 #endif  // STORAGE_FACTORY_IO_FLAGS_H