--- /dev/null
+using Microsoft.Win32.SafeHandles;
+
+namespace System.IO.Pipes
+{
+ // Common interfaces
+
+ interface IPipe
+ {
+ SafePipeHandle Handle { get; }
+ void WaitForPipeDrain ();
+ }
+
+ interface IAnonymousPipeClient : IPipe
+ {
+ }
+
+ interface IAnonymousPipeServer : IPipe
+ {
+ SafePipeHandle ClientHandle { get; }
+ void DisposeLocalCopyOfClientHandle ();
+ }
+
+ interface INamedPipeClient : IPipe
+ {
+ void Connect ();
+ void Connect (int timeout);
+ int NumberOfServerInstances { get; }
+ bool IsAsync { get; }
+ }
+
+ interface INamedPipeServer : IPipe
+ {
+ void Disconnect ();
+ void WaitForConnection ();
+ }
+}