PipeState.cs 1.3 KB

12345678910111213141516171819202122232425
  1. using System;
  2. namespace SMBLibrary.SMB1
  3. {
  4. [Flags]
  5. public enum PipeState : ushort
  6. {
  7. /// <summary>
  8. /// If set, the named pipe is operating in message mode.
  9. /// If not set, the named pipe is operating in byte mode.
  10. /// In message mode, the system treats the bytes read or written in each I/O operation to the pipe as a message unit.
  11. /// The system MUST perform write operations on message-type pipes as if write-through mode were enabled.
  12. /// </summary>
  13. ReadMode = 0x0100,
  14. /// <summary>
  15. /// If set, a read or a raw read request returns all data available to be read from the named pipe, up to the maximum read size set in the request.
  16. /// A write request returns after writing data to the named pipe without waiting for the data to be consumed.
  17. /// Named pipe non-blocking raw writes are not allowed. Raw writes MUST be performed in blocking mode.
  18. /// If not set, a read or a raw read request will wait (block) until sufficient data to satisfy the read request becomes available,
  19. /// or until the request is canceled. A write request blocks until its data is consumed, if the write request length is greater than zero.
  20. /// </summary>
  21. Nonblocking = 0x8000,
  22. }
  23. }