Merge pull request #484 from roji/transactions_pspe
[mono.git] / mcs / class / Mono.Posix / Documentation / en / Mono.Unix / UnixPipes.xml
1 <Type Name="UnixPipes" FullName="Mono.Unix.UnixPipes">
2   <TypeSignature Language="C#" Value="public struct UnixPipes : IEquatable&lt;Mono.Unix.UnixPipes&gt;" />
3   <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit UnixPipes extends System.ValueType implements class System.IEquatable`1&lt;valuetype Mono.Unix.UnixPipes&gt;" />
4   <AssemblyInfo>
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>
9   </AssemblyInfo>
10   <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
11   <Base>
12     <BaseTypeName>System.ValueType</BaseTypeName>
13   </Base>
14   <Interfaces>
15     <Interface>
16       <InterfaceName>System.IEquatable&lt;Mono.Unix.UnixPipes&gt;</InterfaceName>
17     </Interface>
18   </Interfaces>
19   <Docs>
20     <summary>Provides information about a Unix pipe.</summary>
21     <remarks>
22       <para>
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.
25       </para>
26       <para>
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
35         read end of the pipe.
36       </para>
37       <para>
38         The pipe persists until 
39         <see cref="F:Mono.Unix.UnixPipes.Reading" /> and
40         <see cref="F:Mono.Unix.UnixPipes.Writing" /> are closed.
41       </para>
42       <para>
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.
49       </para>
50     </remarks>
51   </Docs>
52   <Members>
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>
57       <AssemblyInfo>
58         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
59         <AssemblyVersion>2.0.0.0</AssemblyVersion>
60         <AssemblyVersion>4.0.0.0</AssemblyVersion>
61       </AssemblyInfo>
62       <Parameters>
63         <Parameter Name="reading" Type="Mono.Unix.UnixStream" />
64         <Parameter Name="writing" Type="Mono.Unix.UnixStream" />
65       </Parameters>
66       <Docs>
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" />.
71         </param>
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" />.
76         </param>
77         <summary>
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.
81         </summary>
82         <remarks>
83         </remarks>
84       </Docs>
85     </Member>
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>
90       <AssemblyInfo>
91         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
92         <AssemblyVersion>2.0.0.0</AssemblyVersion>
93         <AssemblyVersion>4.0.0.0</AssemblyVersion>
94       </AssemblyInfo>
95       <ReturnValue>
96         <ReturnType>Mono.Unix.UnixPipes</ReturnType>
97       </ReturnValue>
98       <Parameters />
99       <Docs>
100         <summary>Creates a Unix pipe for interprocess communication.</summary>
101         <returns>
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" />)
105           of the pipe.
106         </returns>
107         <remarks>
108           <para>
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.
112           </para>
113         </remarks>
114         <exception cref="Mono.Unix.UnixIOException">
115           <para>
116             Too many descriptors are active.
117             [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
118           </para>
119           <para>-or-</para>
120           <para>
121             The system file table is full.
122             [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
123           </para>
124         </exception>
125       </Docs>
126     </Member>
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>
131       <AssemblyInfo>
132         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
133         <AssemblyVersion>2.0.0.0</AssemblyVersion>
134         <AssemblyVersion>4.0.0.0</AssemblyVersion>
135       </AssemblyInfo>
136       <ReturnValue>
137         <ReturnType>System.Boolean</ReturnType>
138       </ReturnValue>
139       <Parameters>
140         <Parameter Name="value" Type="Mono.Unix.UnixPipes" />
141       </Parameters>
142       <Docs>
143         <param name="value">
144           A <see cref="T:System.Object" /> to compare the current instance
145           against.
146         </param>
147         <summary>
148           Determines whether the current instance and the specified object
149           have the same value.
150         </summary>
151         <returns>
152           <see langword="true" /> if <paramref name="obj" /> is a 
153           <see cref="T:Mono.Unix.UnixPipes" /> instance and the file
154           descriptors for its
155           <see cref="F:Mono.Unix.UnixPipes.Reading" /> and
156           <see cref="F:Mono.Unix.UnixPipes.Writing" /> match; otherwise, 
157           <see langword="false" />.
158         </returns>
159         <remarks>
160         </remarks>
161       </Docs>
162     </Member>
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>
167       <AssemblyInfo>
168         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
169         <AssemblyVersion>2.0.0.0</AssemblyVersion>
170         <AssemblyVersion>4.0.0.0</AssemblyVersion>
171       </AssemblyInfo>
172       <ReturnValue>
173         <ReturnType>System.Boolean</ReturnType>
174       </ReturnValue>
175       <Parameters>
176         <Parameter Name="value" Type="System.Object" />
177       </Parameters>
178       <Docs>
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>
183       </Docs>
184     </Member>
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>
189       <AssemblyInfo>
190         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
191         <AssemblyVersion>2.0.0.0</AssemblyVersion>
192         <AssemblyVersion>4.0.0.0</AssemblyVersion>
193       </AssemblyInfo>
194       <ReturnValue>
195         <ReturnType>System.Int32</ReturnType>
196       </ReturnValue>
197       <Parameters />
198       <Docs>
199         <summary>To be added.</summary>
200         <returns>To be added.</returns>
201         <remarks>To be added.</remarks>
202       </Docs>
203     </Member>
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>
208       <AssemblyInfo>
209         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
210         <AssemblyVersion>2.0.0.0</AssemblyVersion>
211         <AssemblyVersion>4.0.0.0</AssemblyVersion>
212       </AssemblyInfo>
213       <ReturnValue>
214         <ReturnType>System.Boolean</ReturnType>
215       </ReturnValue>
216       <Parameters>
217         <Parameter Name="lhs" Type="Mono.Unix.UnixPipes" />
218         <Parameter Name="rhs" Type="Mono.Unix.UnixPipes" />
219       </Parameters>
220       <Docs>
221         <param name="lhs">
222           The first <see cref="T:Mono.Unix.UnixPipes" /> to compare.
223         </param>
224         <param name="rhs">
225           The second <see cref="T:Mono.Unix.UnixPipes" /> to compare.
226         </param>
227         <summary>
228           Returns a <see cref="T:System.Boolean" /> value indicating whether
229           the two specified <see cref="T:Mono.Unix.UnixPipes" /> values are
230           equal to each other.
231         </summary>
232         <returns>
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>
237         <remarks>
238         </remarks>
239         <altmember cref="M:Mono.Unix.UnixPipes.Equals" />
240       </Docs>
241     </Member>
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>
246       <AssemblyInfo>
247         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
248         <AssemblyVersion>2.0.0.0</AssemblyVersion>
249         <AssemblyVersion>4.0.0.0</AssemblyVersion>
250       </AssemblyInfo>
251       <ReturnValue>
252         <ReturnType>System.Boolean</ReturnType>
253       </ReturnValue>
254       <Parameters>
255         <Parameter Name="lhs" Type="Mono.Unix.UnixPipes" />
256         <Parameter Name="rhs" Type="Mono.Unix.UnixPipes" />
257       </Parameters>
258       <Docs>
259         <param name="lhs">
260           The first <see cref="T:Mono.Unix.UnixPipes" /> to compare.
261         </param>
262         <param name="rhs">
263           The second <see cref="T:Mono.Unix.UnixPipes" /> to compare.
264         </param>
265         <summary>
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.
269         </summary>
270         <returns>
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>
275         <remarks>
276         </remarks>
277         <altmember cref="M:Mono.Unix.UnixPipes.Equals" />
278       </Docs>
279     </Member>
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>
284       <AssemblyInfo>
285         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
286         <AssemblyVersion>2.0.0.0</AssemblyVersion>
287         <AssemblyVersion>4.0.0.0</AssemblyVersion>
288       </AssemblyInfo>
289       <ReturnValue>
290         <ReturnType>Mono.Unix.UnixStream</ReturnType>
291       </ReturnValue>
292       <Docs>
293         <summary>
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.
296         </summary>
297         <remarks>
298           <para>
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.
305           </para>
306         </remarks>
307       </Docs>
308     </Member>
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>
313       <AssemblyInfo>
314         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
315         <AssemblyVersion>2.0.0.0</AssemblyVersion>
316         <AssemblyVersion>4.0.0.0</AssemblyVersion>
317       </AssemblyInfo>
318       <ReturnValue>
319         <ReturnType>Mono.Unix.UnixStream</ReturnType>
320       </ReturnValue>
321       <Docs>
322         <summary>
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.
326         </summary>
327         <remarks>
328           <para>
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.
335           </para>
336         </remarks>
337       </Docs>
338     </Member>
339   </Members>
340 </Type>