#ifndef _SYSTEM_IO_ENUMS_ #define _SYSTEM_IO_ENUMS_ namespace System { namespace IO { // Defines constants for read, write, or read/write access to a file. struct FileAccess { enum type { Read = 1, ReadWrite = 3, Write = 2 }; }; // Provides attributes for files and directories. struct FileAttributes { enum type { Archive = 32, Compressed = 2048, Device = 64, Directory = 16, Encrypted = 16384, Hidden = 2, Normal = 128, NotContentIndexed = 8192, Offline = 4096, ReadOnly = 1, ReparsePoint = 1024, SparseFile = 512, System = 4, Temporary = 256 }; }; // Specifies how the operating system should open a file. struct FileMode { enum type { Append = 6, Create = 2, CreateNew = 1, Open = 3, OpenOrCreate = 4, Truncate = 5 }; }; // Represents additional options for creating a FileStream object. struct FileOptions { enum type { Asynchronous = 0x40000000, DeleteOnClose = 0x4000000, Encrypted = 0x4000, None = 0, RandomAccess = 0x10000000, SequentialScan = 0x8000000, WriteThrough = 0x80000000 }; }; // Contains constants for controlling the kind of access other System.IO.FileStream objects can have to the same file. struct FileShare { enum type { None = 0, Read = 1, ReadWrite = 3, Write = 2 }; }; // Provides the fields that represent reference points in streams for seeking. struct SeekOrigin { enum type { Begin, Current, End }; }; typedef FileAccess::type FileAccess_t; typedef FileAttributes::type FileAttributes_t; typedef FileMode::type FileMode_t; typedef FileOptions::type FileOptions_t; typedef FileShare::type FileShare_t; typedef SeekOrigin::type SeekOrigin_t; } } #endif //_SYSTEM_IO_ENUMS_