using System; namespace System.Net.Sockets { /// The enumeration defines values used in file transfer requests. // Token: 0x020001F9 RID: 505 [Flags] public enum TransmitFileOptions { /// Use the default thread to process long file transfer requests. // Token: 0x04000F3F RID: 3903 UseDefaultWorkerThread = 0, /// Start a transport-level disconnect after all the file data has been queued for transmission. When used with , these flags return the socket to a disconnected, reusable state after the file has been transmitted. // Token: 0x04000F40 RID: 3904 Disconnect = 1, /// The socket handle may be reused when the request completes. This flag is valid only if is also specified. When used with , these flags return the socket to a disconnected, reusable state after the file has been transmitted. // Token: 0x04000F41 RID: 3905 ReuseSocket = 2, /// Complete the file transfer request immediately, without pending. If this flag is specified and the file transfer succeeds, the data has been accepted by the system but not necessarily acknowledged by the remote end. Do not use this flag with the and flags. // Token: 0x04000F42 RID: 3906 WriteBehind = 4, /// Use system threads to process long file transfer requests. // Token: 0x04000F43 RID: 3907 UseSystemThread = 16, /// Use kernel asynchronous procedure calls (APCs) instead of worker threads to process long file transfer requests. Long requests are defined as requests that require more than a single read from the file or a cache; the request therefore depends on the size of the file and the specified length of the send packet. // Token: 0x04000F44 RID: 3908 UseKernelApc = 32 } }