1 <Type Name="UnixPipes" FullName="Mono.Unix.UnixPipes">
2 <TypeSignature Language="C#" Value="public struct UnixPipes : IEquatable<Mono.Unix.UnixPipes>" />
3 <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit UnixPipes extends System.ValueType implements class System.IEquatable`1<valuetype Mono.Unix.UnixPipes>" />
5 <AssemblyName>Mono.Posix</AssemblyName>
6 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7 <AssemblyVersion>2.0.0.0</AssemblyVersion>
8 <AssemblyVersion>4.0.0.0</AssemblyVersion>
10 <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
12 <BaseTypeName>System.ValueType</BaseTypeName>
16 <InterfaceName>System.IEquatable<Mono.Unix.UnixPipes></InterfaceName>
20 <summary>Provides information about a Unix pipe.</summary>
23 A Unix <i>pipe</i> is an object allowing bidirectional data flow
24 through a pair of <see cref="T:Mono.Unix.UnixStream" />s.
27 <see cref="F:Mono.Unix.UnixPipes.Reading" /> is the <i>read end</i>
28 of the pipe, while <see cref="F:Mono.Unix.UnixPipes.Writing" /> is the
29 <i>write end</i> of the pipe. Data written to
30 <see cref="F:Mono.Unix.UnixPipes.Writing" /> can be read through
31 <see cref="F:Mono.Unix.UnixPipes.Reading" />.
32 This allows the output of one program to be sent to another
33 program: the source's standard output is set up to be the write
34 end of the pipe, and the sink's standard input is set up to be the
38 The pipe persists until
39 <see cref="F:Mono.Unix.UnixPipes.Reading" /> and
40 <see cref="F:Mono.Unix.UnixPipes.Writing" /> are closed.
43 A pipe that has had an end closed is considered widowed.
44 Writing on such a pipe causes the writing process to receive a
45 <see cref="F:Mono.Unix.Native.Signum.SIGPIPE" /> signal.
46 Widowing a pipe is the only way to deliver end-of-file to a reader:
47 after the reader consumes any buffered data, reading a widowed
48 pipe returns a zero count.
53 <Member MemberName=".ctor">
54 <MemberSignature Language="C#" Value="public UnixPipes (Mono.Unix.UnixStream reading, Mono.Unix.UnixStream writing);" />
55 <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Mono.Unix.UnixStream reading, class Mono.Unix.UnixStream writing) cil managed" />
56 <MemberType>Constructor</MemberType>
58 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
59 <AssemblyVersion>2.0.0.0</AssemblyVersion>
60 <AssemblyVersion>4.0.0.0</AssemblyVersion>
63 <Parameter Name="reading" Type="Mono.Unix.UnixStream" />
64 <Parameter Name="writing" Type="Mono.Unix.UnixStream" />
67 <param name="reading">
68 A <see cref="T:Mono.Unix.UnixStream" /> that permits reading.
69 Data written to <paramref name="writing" /> can be read from
70 <paramref name="reading" />.
72 <param name="writing">
73 A <see cref="T:Mono.Unix.UnixStream" /> that permits writing.
74 Data written to <paramref name="writing" /> can be read from
75 <paramref name="reading" />.
78 Constructs and initializes a new instance of the
79 <see cref="T:Mono.Unix.UnixPipes" /> class using the specified
80 <paramref name="reading" /> and <paramref name="writing" /> streams.
86 <Member MemberName="CreatePipes">
87 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixPipes CreatePipes ();" />
88 <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Mono.Unix.UnixPipes CreatePipes() cil managed" />
89 <MemberType>Method</MemberType>
91 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
92 <AssemblyVersion>2.0.0.0</AssemblyVersion>
93 <AssemblyVersion>4.0.0.0</AssemblyVersion>
96 <ReturnType>Mono.Unix.UnixPipes</ReturnType>
100 <summary>Creates a Unix pipe for interprocess communication.</summary>
102 A <see cref="T:Mono.Unix.UnixPipes" /> instance containing the "read
103 end" (<see cref="F:Mono.Unix.UnixPipes.Reading" />)
104 and the "write end" (<see cref="F:Mono.Unix.UnixPipes.Writing" />)
109 This method creates a Unix pipe, an object which allows
110 bidirectional data flow through a pair of
111 <see cref="T:Mono.Unix.UnixStream" /> instances.
114 <exception cref="Mono.Unix.UnixIOException">
116 Too many descriptors are active.
117 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
121 The system file table is full.
122 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
127 <Member MemberName="Equals">
128 <MemberSignature Language="C#" Value="public bool Equals (Mono.Unix.UnixPipes value);" />
129 <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype Mono.Unix.UnixPipes value) cil managed" />
130 <MemberType>Method</MemberType>
132 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
133 <AssemblyVersion>2.0.0.0</AssemblyVersion>
134 <AssemblyVersion>4.0.0.0</AssemblyVersion>
137 <ReturnType>System.Boolean</ReturnType>
140 <Parameter Name="value" Type="Mono.Unix.UnixPipes" />
144 A <see cref="T:System.Object" /> to compare the current instance
148 Determines whether the current instance and the specified object
152 <see langword="true" /> if <paramref name="obj" /> is a
153 <see cref="T:Mono.Unix.UnixPipes" /> instance and the file
155 <see cref="F:Mono.Unix.UnixPipes.Reading" /> and
156 <see cref="F:Mono.Unix.UnixPipes.Writing" /> match; otherwise,
157 <see langword="false" />.
163 <Member MemberName="Equals">
164 <MemberSignature Language="C#" Value="public override bool Equals (object value);" />
165 <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object value) cil managed" />
166 <MemberType>Method</MemberType>
168 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
169 <AssemblyVersion>2.0.0.0</AssemblyVersion>
170 <AssemblyVersion>4.0.0.0</AssemblyVersion>
173 <ReturnType>System.Boolean</ReturnType>
176 <Parameter Name="value" Type="System.Object" />
179 <param name="value">To be added.</param>
180 <summary>To be added.</summary>
181 <returns>To be added.</returns>
182 <remarks>To be added.</remarks>
185 <Member MemberName="GetHashCode">
186 <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
187 <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
188 <MemberType>Method</MemberType>
190 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
191 <AssemblyVersion>2.0.0.0</AssemblyVersion>
192 <AssemblyVersion>4.0.0.0</AssemblyVersion>
195 <ReturnType>System.Int32</ReturnType>
199 <summary>To be added.</summary>
200 <returns>To be added.</returns>
201 <remarks>To be added.</remarks>
204 <Member MemberName="op_Equality">
205 <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Unix.UnixPipes lhs, Mono.Unix.UnixPipes rhs);" />
206 <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Equality(valuetype Mono.Unix.UnixPipes lhs, valuetype Mono.Unix.UnixPipes rhs) cil managed" />
207 <MemberType>Method</MemberType>
209 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
210 <AssemblyVersion>2.0.0.0</AssemblyVersion>
211 <AssemblyVersion>4.0.0.0</AssemblyVersion>
214 <ReturnType>System.Boolean</ReturnType>
217 <Parameter Name="lhs" Type="Mono.Unix.UnixPipes" />
218 <Parameter Name="rhs" Type="Mono.Unix.UnixPipes" />
222 The first <see cref="T:Mono.Unix.UnixPipes" /> to compare.
225 The second <see cref="T:Mono.Unix.UnixPipes" /> to compare.
228 Returns a <see cref="T:System.Boolean" /> value indicating whether
229 the two specified <see cref="T:Mono.Unix.UnixPipes" /> values are
233 <see langword="true" /> if <paramref name="lhs" /> and
234 <paramref name="rhs" /> represent the same
235 <see cref="T:Mono.Unix.UnixPipes" /> value; otherwise,
236 <see langword="false" /></returns>
239 <altmember cref="M:Mono.Unix.UnixPipes.Equals" />
242 <Member MemberName="op_Inequality">
243 <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Unix.UnixPipes lhs, Mono.Unix.UnixPipes rhs);" />
244 <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Inequality(valuetype Mono.Unix.UnixPipes lhs, valuetype Mono.Unix.UnixPipes rhs) cil managed" />
245 <MemberType>Method</MemberType>
247 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
248 <AssemblyVersion>2.0.0.0</AssemblyVersion>
249 <AssemblyVersion>4.0.0.0</AssemblyVersion>
252 <ReturnType>System.Boolean</ReturnType>
255 <Parameter Name="lhs" Type="Mono.Unix.UnixPipes" />
256 <Parameter Name="rhs" Type="Mono.Unix.UnixPipes" />
260 The first <see cref="T:Mono.Unix.UnixPipes" /> to compare.
263 The second <see cref="T:Mono.Unix.UnixPipes" /> to compare.
266 Returns a <see cref="T:System.Boolean" /> value indicating whether
267 the two specified <see cref="T:Mono.Unix.UnixPipes" /> values are
268 not equal to each other.
271 <see langword="true" /> if <paramref name="lhs" /> and
272 <paramref name="rhs" /> do not represent the same
273 <see cref="T:Mono.Unix.UnixPipes" /> value; otherwise,
274 <see langword="false" /></returns>
277 <altmember cref="M:Mono.Unix.UnixPipes.Equals" />
280 <Member MemberName="Reading">
281 <MemberSignature Language="C#" Value="public Mono.Unix.UnixStream Reading;" />
282 <MemberSignature Language="ILAsm" Value=".field public class Mono.Unix.UnixStream Reading" />
283 <MemberType>Field</MemberType>
285 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
286 <AssemblyVersion>2.0.0.0</AssemblyVersion>
287 <AssemblyVersion>4.0.0.0</AssemblyVersion>
290 <ReturnType>Mono.Unix.UnixStream</ReturnType>
294 A <see cref="T:Mono.Unix.UnixStream" /> instance that reads any data
295 written to the <see cref="F:Mono.Unix.UnixPipes.Writing" /> stream.
299 A pipe that has had an end closed is considered widowed.
300 Writing on such a pipe causes the writing process to receive a
301 <see cref="F:Mono.Unix.Native.Signum.SIGPIPE" /> signal.
302 Widowing a pipe is the only way to deliver end-of-file to a reader:
303 after the reader consumes any buffered data, reading a widowed
304 pipe returns a zero count.
309 <Member MemberName="Writing">
310 <MemberSignature Language="C#" Value="public Mono.Unix.UnixStream Writing;" />
311 <MemberSignature Language="ILAsm" Value=".field public class Mono.Unix.UnixStream Writing" />
312 <MemberType>Field</MemberType>
314 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
315 <AssemblyVersion>2.0.0.0</AssemblyVersion>
316 <AssemblyVersion>4.0.0.0</AssemblyVersion>
319 <ReturnType>Mono.Unix.UnixStream</ReturnType>
323 A <see cref="T:Mono.Unix.UnixStream" /> instance that, when written
324 to, makes all data available for reading from the
325 <see cref="F:Mono.Unix.UnixPipes.Reading" /> stream.
329 A pipe that has had an end closed is considered widowed.
330 Writing on such a pipe causes the writing process to receive a
331 <see cref="F:Mono.Unix.Native.Signum.SIGPIPE" /> signal.
332 Widowing a pipe is the only way to deliver end-of-file to a reader:
333 after the reader consumes any buffered data, reading a widowed
334 pipe returns a zero count.