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