Merge pull request #484 from roji/transactions_pspe
[mono.git] / mcs / class / Mono.Posix / Documentation / en / Mono.Unix / StdioFileStream.xml
1 <Type Name="StdioFileStream" FullName="Mono.Unix.StdioFileStream">
2   <TypeSignature Language="C#" Value="public class StdioFileStream : System.IO.Stream" />
3   <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit StdioFileStream extends System.IO.Stream" />
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.IO.Stream</BaseTypeName>
13   </Base>
14   <Interfaces />
15   <Docs>
16     <summary>A <see cref="T:System.IO.Stream" /> wrapper over the <c>FILE</c> 
17     type.</summary>
18     <remarks>
19       <para>
20         <see cref="T:Mono.Unix.StdioFileStream" /> is used for reading and 
21         writing files on a file system and interoperating with the standard
22         ANSI/ISO C <c>FILE</c> pointer data type.
23       </para>
24       <para>
25         <see cref="T:Mono.Unix.StdioFileStream" /> objects support 
26         random access to files using the 
27         <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)" /> 
28         method, and the 
29         <see cref="P:System.IO.Stream.CanSeek" /> properties of 
30         <see cref="T:Mono.Unix.StdioFileStream" /> instances 
31         encapsulating files are set to <see langword="true" />. 
32         The 
33         <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)" /> 
34         method allows the read/write position to be moved to any position 
35         within the file. This is done with byte offset reference point 
36         parameters. The byte offset is relative to the seek reference point, 
37         which can be the beginning, the current position, or the end of the 
38         underlying file, as represented by the three values of the
39         <see cref="T:System.IO.SeekOrigin" /> enumeration.
40       </para>
41       <para>
42         If a <see cref="T:Mono.Unix.StdioFileStream" /> encapsulates a 
43         device that does not support seeking, its 
44         <see cref="P:System.IO.FileStream.CanSeek" /> property is 
45         <see langword="false" />. 
46         <block subset="none" type="note">
47           For additional information, see 
48           <see cref="P:System.IO.Stream.CanSeek" />.
49         </block></para>
50       <example>
51         <para>
52           The following example demonstrates the use of a 
53           <see cref="T:Mono.Unix.StdioFileStream" /> object.
54         </para>
55         <code lang="C#">using System;
56 using System.IO;
57 using Mono.Unix;
58
59 class Directory {
60    public static void Main(String[] args) { 
61       StdioFileStream fs = new StdioFileStream ("log.txt", "ab");
62       StreamWriter w = new StreamWriter(fs);         
63
64       Log ("Test1", w);
65       Log ("Test2", w);
66  
67       w.Close(); // Close the writer and underlying file.     
68
69       fs = new StdioFileStream("log.txt", "rb");
70
71       StreamReader r = new StreamReader(fs);        
72       r.BaseStream.Seek(0, SeekOrigin.Begin);   
73       DumpLog (r);
74    }
75
76    public static void Log (String logMessage, StreamWriter w) {
77       w.Write("Log Entry : ");
78       w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString());
79       w.WriteLine(":");
80       w.WriteLine(":{0}", logMessage);
81       w.WriteLine ("-------------------------------");
82       w.Flush();  
83    }
84
85    public static void DumpLog (StreamReader r) {
86       while (r.Peek() &gt; -1) { // While not at the end of the file, write to standard output.     
87         Console.WriteLine(r.ReadLine());
88       }
89
90       r.Close();
91    }
92 }
93 </code>
94         <para>Some example output is </para>
95         <c>
96           <para>Log Entry : 9:26:21 AM Friday, July 06, 2001</para>
97           <para>:</para>
98           <para>:Test1</para>
99           <para>-------------------------------</para>
100           <para>Log Entry : 9:26:21 AM Friday, July 06, 2001</para>
101           <para>:</para>
102           <para>:Test2</para>
103           <para>-------------------------------</para>
104         </c>
105       </example>
106     </remarks>
107   </Docs>
108   <Members>
109     <Member MemberName=".ctor">
110       <MemberSignature Language="C#" Value="public StdioFileStream (IntPtr fileStream);" />
111       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int fileStream) cil managed" />
112       <MemberType>Constructor</MemberType>
113       <AssemblyInfo>
114         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
115         <AssemblyVersion>2.0.0.0</AssemblyVersion>
116         <AssemblyVersion>4.0.0.0</AssemblyVersion>
117       </AssemblyInfo>
118       <Parameters>
119         <Parameter Name="fileStream" Type="System.IntPtr" />
120       </Parameters>
121       <Docs>
122         <param name="fileStream">
123           A <see cref="T:System.IntPtr" /> containing a <c>FILE</c> pointer.
124         </param>
125         <summary>Creates a <see cref="T:Mono.Unix.StdioFileStream" /> type,
126         wrapping the existing unmanaged <c>FILE</c> pointer 
127         <paramref name="fileStream" />.</summary>
128         <remarks>
129           <para>By default, <paramref name="fileStream" /> is owned by the
130           created <see cref="T:Mono.Unix.StdioFileStream" /> instance.</para>
131         </remarks>
132         <exception cref="T:System.ArgumentException">
133           <paramref name="fileStream" /> is an invalid <c>FILE</c> pointer.
134         </exception>
135         <altmember cref="C:Mono.Unix.StdioFileStream(IntPtr, bool)" />
136       </Docs>
137     </Member>
138     <Member MemberName=".ctor">
139       <MemberSignature Language="C#" Value="public StdioFileStream (string path);" />
140       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string path) cil managed" />
141       <MemberType>Constructor</MemberType>
142       <AssemblyInfo>
143         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
144         <AssemblyVersion>2.0.0.0</AssemblyVersion>
145         <AssemblyVersion>4.0.0.0</AssemblyVersion>
146       </AssemblyInfo>
147       <Parameters>
148         <Parameter Name="path" Type="System.String" />
149       </Parameters>
150       <Docs>
151         <param name="path">A <see cref="T:System.String" /> containing the file name to open.</param>
152         <summary>Opens <paramref name="path" /> for reading.</summary>
153         <remarks>
154         </remarks>
155         <exception cref="T:System.ArgumentNullException">
156           <paramref name="path" /> or <paramref name="mode" /> is 
157           <see langword="null" />.
158         </exception>
159         <exception cref="T:System.ArgumentException">
160           <paramref name="path" /> is a <c>0</c>-length string.
161         </exception>
162         <exception cref="T:System.IO.DirectoryNotFoundException">
163           <paramref name="path" /> could not be opened.
164         </exception>
165       </Docs>
166     </Member>
167     <Member MemberName=".ctor">
168       <MemberSignature Language="C#" Value="public StdioFileStream (IntPtr fileStream, bool ownsHandle);" />
169       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int fileStream, bool ownsHandle) cil managed" />
170       <MemberType>Constructor</MemberType>
171       <AssemblyInfo>
172         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
173         <AssemblyVersion>2.0.0.0</AssemblyVersion>
174         <AssemblyVersion>4.0.0.0</AssemblyVersion>
175       </AssemblyInfo>
176       <Parameters>
177         <Parameter Name="fileStream" Type="System.IntPtr" />
178         <Parameter Name="ownsHandle" Type="System.Boolean" />
179       </Parameters>
180       <Docs>
181         <param name="fileStream">A <see cref="T:System.IntPtr" /> containing a <c>FILE</c> pointer</param>
182         <param name="ownsHandle">A <see cref="T:System.Boolean" /> specifying whether or not the created 
183           <see cref="T:Mono.Unix.StdioFileStream" /> instance "owns" 
184           <paramref name="fileStream" />.</param>
185         <summary>Creates a <see cref="T:Mono.Unix.StdioFileStream" /> type,
186         wrapping the existing unmanaged <c>FILE</c> pointer 
187         <paramref name="fileStream" />.</summary>
188         <remarks>If <paramref name="ownsHandle" /> is <see langword="true" />,
189         then <paramref name="fileStream" /> will be closed via 
190         <see cref="M:Mono.Unix.Native.Stdlib.fclose" /> when 
191         <see cref="M:Mono.Unix.StdioFileStream.Close" /> is invoked (which is
192         also called from the finalizer and from the 
193         <see cref="T:System.IDisposable" /> implementation).  Otherwise,
194         <paramref name="fileStream" /> will only be flushed on 
195         <see cref="M:Mono.Unix.StdioFileStream.Close" /> and not actually
196         closed.</remarks>
197         <exception cref="T:System.ArgumentException">
198           <paramref name="fileStream" /> is an invalid <c>FILE</c> pointer.
199         </exception>
200       </Docs>
201     </Member>
202     <Member MemberName=".ctor">
203       <MemberSignature Language="C#" Value="public StdioFileStream (IntPtr fileStream, System.IO.FileAccess access);" />
204       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int fileStream, valuetype System.IO.FileAccess access) cil managed" />
205       <MemberType>Constructor</MemberType>
206       <AssemblyInfo>
207         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
208         <AssemblyVersion>2.0.0.0</AssemblyVersion>
209         <AssemblyVersion>4.0.0.0</AssemblyVersion>
210       </AssemblyInfo>
211       <Parameters>
212         <Parameter Name="fileStream" Type="System.IntPtr" />
213         <Parameter Name="access" Type="System.IO.FileAccess" />
214       </Parameters>
215       <Docs>
216         <param name="fileStream">A <see cref="T:System.IntPtr" /> containing a <c>FILE</c> pointer</param>
217         <param name="access">A <see cref="T:System.IO.FileAccess" /> value
218           that determins how the file may be accessed by the 
219           <see cref="T:Mono.Unix.StdioFileStream" /> object.  This parameter is 
220           used to specify the initial values of the 
221           <see cref="P:System.IO.Stream.CanRead" /> and
222           <see cref="P:System.IO.Stream.CanWrite" /> properties.</param>
223         <summary>Creates a <see cref="T:Mono.Unix.StdioFileStream" /> type,
224         wrapping the existing unmanaged <c>FILE</c> pointer
225         <paramref name="fileStream" /> with the specified file 
226         <paramref name="access" />.</summary>
227         <remarks>
228           <para>By default, <paramref name="fileStream" /> is owned by the
229           created <see cref="T:Mono.Unix.StdioFileStream" /> instance.</para>
230         </remarks>
231         <exception cref="T:System.ArgumentException">
232           <paramref name="fileStream" /> is an invalid <c>FILE</c> pointer.
233         </exception>
234         <altmember cref="C:Mono.Unix.StdioFileStream(IntPtr, System.IO.FileAccess, bool)" />
235       </Docs>
236     </Member>
237     <Member MemberName=".ctor">
238       <MemberSignature Language="C#" Value="public StdioFileStream (string path, System.IO.FileAccess access);" />
239       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string path, valuetype System.IO.FileAccess access) cil managed" />
240       <MemberType>Constructor</MemberType>
241       <AssemblyInfo>
242         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
243         <AssemblyVersion>2.0.0.0</AssemblyVersion>
244         <AssemblyVersion>4.0.0.0</AssemblyVersion>
245       </AssemblyInfo>
246       <Parameters>
247         <Parameter Name="path" Type="System.String" />
248         <Parameter Name="access" Type="System.IO.FileAccess" />
249       </Parameters>
250       <Docs>
251         <param name="path">A <see cref="T:System.String" /> containing the file name to open.</param>
252         <param name="access">A <see cref="T:System.IO.FileAccess" /> value
253         that determins how the file may be accessed by the 
254         <see cref="T:Mono.Unix.StdioFileStream" /> object.  This parameter is 
255         used to specify the initial values of the 
256         <see cref="P:System.IO.Stream.CanRead" /> and
257         <see cref="P:System.IO.Stream.CanWrite" /> properties.</param>
258         <summary>Opens <paramref name="path" /> with the specified file access
259         <paramref name="access" />.</summary>
260         <remarks>
261         </remarks>
262         <exception cref="T:System.ArgumentNullException">
263           <paramref name="path" /> or <paramref name="mode" /> is 
264           <see langword="null" />.
265         </exception>
266         <exception cref="T:System.ArgumentException">
267           <paramref name="path" /> is a <c>0</c>-length string.
268         </exception>
269         <exception cref="T:System.IO.DirectoryNotFoundException">
270           <paramref name="path" /> could not be opened.
271         </exception>
272         <exception cref="T:System.ArgumentOutOfRangeException">
273           <paramref name="access" /> is not one of 
274           <see cref="F:System.IO.FileAccess.Read" />,
275           <see cref="F:System.IO.FileAccess.Write" />, or
276           <see cref="F:System.IO.FileAccess.ReadWrite" />.
277         </exception>
278       </Docs>
279     </Member>
280     <Member MemberName=".ctor">
281       <MemberSignature Language="C#" Value="public StdioFileStream (string path, System.IO.FileMode mode);" />
282       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string path, valuetype System.IO.FileMode mode) cil managed" />
283       <MemberType>Constructor</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       <Parameters>
290         <Parameter Name="path" Type="System.String" />
291         <Parameter Name="mode" Type="System.IO.FileMode" />
292       </Parameters>
293       <Docs>
294         <param name="path">A <see cref="T:System.String" /> containing the file name to open.</param>
295         <param name="mode">A <see cref="T:System.IO.FileMode" /> value that
296         determines how to open or create the file.</param>
297         <summary>Opens <paramref name="path" /> with the specified file mode
298         <paramref name="mode" />.</summary>
299         <remarks>
300         </remarks>
301         <exception cref="T:System.ArgumentNullException">
302           <paramref name="path" /> or <paramref name="mode" /> is 
303           <see langword="null" />.
304         </exception>
305         <exception cref="T:System.ArgumentException">
306           <paramref name="path" /> is a <c>0</c>-length string.
307         </exception>
308         <exception cref="T:System.IO.DirectoryNotFoundException">
309           <paramref name="path" /> could not be opened.
310         </exception>
311         <exception cref="T:System.IO.IOException">
312           <paramref name="path" /> exists and 
313           <see cref="F:System.IO.FileMode.CreateNew" /> was specified.
314         </exception>
315         <exception cref="T:System.IO.FileNotFoundException">
316           <paramref name="path" /> doesn't exist and 
317           <see cref="F:System.IO.FileMode.Open" /> was specified.
318         </exception>
319       </Docs>
320     </Member>
321     <Member MemberName=".ctor">
322       <MemberSignature Language="C#" Value="public StdioFileStream (string path, string mode);" />
323       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string path, string mode) cil managed" />
324       <MemberType>Constructor</MemberType>
325       <AssemblyInfo>
326         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
327         <AssemblyVersion>2.0.0.0</AssemblyVersion>
328         <AssemblyVersion>4.0.0.0</AssemblyVersion>
329       </AssemblyInfo>
330       <Parameters>
331         <Parameter Name="path" Type="System.String" />
332         <Parameter Name="mode" Type="System.String" />
333       </Parameters>
334       <Docs>
335         <param name="path">A <see cref="T:System.String" /> containing the file name to open.</param>
336         <param name="mode">A <see cref="T:System.String" /> specifying how to access <paramref name="path" />.</param>
337         <summary>Opens <paramref name="path" /> with the specified 
338         <paramref name="mode" />.</summary>
339         <remarks>
340           <para>The argument <paramref name="mode" /> points to a string 
341           beginning with one of the following sequences (Additional characters 
342           may follow these sequences.):</para>
343           <list type="table">
344             <listheader>
345               <term>
346                 <paramref name="mode" />
347               </term>
348               <description>Description</description>
349             </listheader>
350             <item>
351               <term>
352                 <c>"r"</c>
353               </term>
354               <description> Open text file for reading.  The stream is positioned at the beginning of the file.</description>
355             </item>
356             <item>
357               <term>
358                 <c>"r+"</c>
359               </term>
360               <description>Open for reading and writing.  The stream is positioned at the beginning of the file.</description>
361             </item>
362             <item>
363               <term>
364                 <c>"w"</c>
365               </term>
366               <description>Truncate file to zero length or create text file for writing.  The stream is positioned at the beginning of the file.</description>
367             </item>
368             <item>
369               <term>
370                 <c>"w+"</c>
371               </term>
372               <description>Open for reading and writing.  The file is created if it does not exist, otherwise it is truncated.  The stream is positioned at the beginning of the file.</description>
373             </item>
374             <item>
375               <term>
376                 <c>"a"</c>
377               </term>
378               <description>Open for writing.  The file is created if it does not exist.  The stream is positioned at the end of the file.  Subsequent writes to the file will always end up at the then current end of file, irrespective of any intervening <see cref="M:System.IO.Stream.Seek" /> call or similar.</description>
379             </item>
380             <item>
381               <term>
382                 <c>"a+"</c>
383               </term>
384               <description>Open for reading and writing.  The file is created if it does not exist.  The stream is positioned at the end of the file.  Subsequent writes to the file will always end up at the then current end of file, irrespective of any intervening <see cref="M:System.IO.Stream.Seek" /> or similar.</description>
385             </item>
386           </list>
387           <para>The <paramref name="mode" /> string can also include the letter 
388           "b" either as a third character or as a character between the 
389           characters in any of the two-character strings described above, and 
390           is used to enable <i>binary</i> reading/writing on platforms which 
391           have different text/binary encodings (read: Microsoft Windows).  The 
392           default (non-<c>b</c><paramref name="mode" />) is text encoding.</para>
393           <para>Any created files will have mode <c>S_IRUSR | S_IWUSR | S_IRGRP | 
394           S_IWGRP | S_IROTH | S_IWOTH</c> (0666), as modified by the process' 
395           umask value (see <see cref="M:Mono.Unix.Native.Syscall.umask" />(2)).
396           </para>
397           <para>ANSI C requires that a file positioning function intervene 
398           between output and input, unless an input operation encounters 
399           end-of-file.</para>
400         </remarks>
401         <exception cref="T:System.ArgumentNullException">
402           <paramref name="path" /> or <paramref name="mode" /> is 
403           <see langword="null" />.
404         </exception>
405         <exception cref="T:System.ArgumentException">
406           <paramref name="path" /> is a <c>0</c>-length string.
407         </exception>
408         <exception cref="T:System.IO.DirectoryNotFoundException">
409           <paramref name="path" /> could not be opened.
410         </exception>
411         <altmember cref="M:Mono.Unix.Native.Stdlib.fopen" />
412       </Docs>
413     </Member>
414     <Member MemberName=".ctor">
415       <MemberSignature Language="C#" Value="public StdioFileStream (IntPtr fileStream, System.IO.FileAccess access, bool ownsHandle);" />
416       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int fileStream, valuetype System.IO.FileAccess access, bool ownsHandle) cil managed" />
417       <MemberType>Constructor</MemberType>
418       <AssemblyInfo>
419         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
420         <AssemblyVersion>2.0.0.0</AssemblyVersion>
421         <AssemblyVersion>4.0.0.0</AssemblyVersion>
422       </AssemblyInfo>
423       <Parameters>
424         <Parameter Name="fileStream" Type="System.IntPtr" />
425         <Parameter Name="access" Type="System.IO.FileAccess" />
426         <Parameter Name="ownsHandle" Type="System.Boolean" />
427       </Parameters>
428       <Docs>
429         <param name="fileStream">A <see cref="T:System.IntPtr" /> containing a <c>FILE</c> pointer</param>
430         <param name="access">A <see cref="T:System.IO.FileAccess" /> value
431           that determins how the file may be accessed by the 
432           <see cref="T:Mono.Unix.StdioFileStream" /> object.  This parameter is 
433           used to specify the initial values of the 
434           <see cref="P:System.IO.Stream.CanRead" /> and
435           <see cref="P:System.IO.Stream.CanWrite" /> properties.</param>
436         <param name="ownsHandle">A <see cref="T:System.Boolean" /> specifying whether or not the created 
437           <see cref="T:Mono.Unix.StdioFileStream" /> instance "owns" 
438           <paramref name="fileStream" />.</param>
439         <summary>Creates a <see cref="T:Mono.Unix.StdioFileStream" /> type,
440         wrapping the existing unmanaged <c>FILE</c> pointer
441         <paramref name="fileStream" /> with the specified file 
442         <paramref name="access" />.</summary>
443         <remarks>If <paramref name="ownsHandle" /> is <see langword="true" />,
444         then <paramref name="fileStream" /> will be closed via 
445         <see cref="M:Mono.Unix.Native.Stdlib.fclose" /> when 
446         <see cref="M:Mono.Unix.StdioFileStream.Close" /> is invoked (which is
447         also called from the finalizer and from the 
448         <see cref="T:System.IDisposable" /> implementation).  Otherwise,
449         <paramref name="fileStream" /> will only be flushed on 
450         <see cref="M:Mono.Unix.StdioFileStream.Close" /> and not actually
451         closed.</remarks>
452         <exception cref="T:System.ArgumentException">
453           <paramref name="fileStream" /> is an invalid <c>FILE</c> pointer.
454         </exception>
455       </Docs>
456     </Member>
457     <Member MemberName=".ctor">
458       <MemberSignature Language="C#" Value="public StdioFileStream (string path, System.IO.FileMode mode, System.IO.FileAccess access);" />
459       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access) cil managed" />
460       <MemberType>Constructor</MemberType>
461       <AssemblyInfo>
462         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
463         <AssemblyVersion>2.0.0.0</AssemblyVersion>
464         <AssemblyVersion>4.0.0.0</AssemblyVersion>
465       </AssemblyInfo>
466       <Parameters>
467         <Parameter Name="path" Type="System.String" />
468         <Parameter Name="mode" Type="System.IO.FileMode" />
469         <Parameter Name="access" Type="System.IO.FileAccess" />
470       </Parameters>
471       <Docs>
472         <param name="path">A <see cref="T:System.String" /> containing the file name to open.</param>
473         <param name="mode">A <see cref="T:System.IO.FileMode" /> value that
474         determines how to open or create the file.</param>
475         <param name="access">A <see cref="T:System.IO.FileAccess" /> value
476         that determins how the file may be accessed by the 
477         <see cref="T:Mono.Unix.StdioFileStream" /> object.  This parameter is 
478         used to specify the initial values of the 
479         <see cref="P:System.IO.Stream.CanRead" /> and
480         <see cref="P:System.IO.Stream.CanWrite" /> properties.</param>
481         <summary>Opens <paramref name="path" /> with the specified file mode 
482         <paramref name="mode" /> and file access
483         <paramref name="access" />.</summary>
484         <remarks>
485         </remarks>
486         <exception cref="T:System.ArgumentNullException">
487           <paramref name="path" /> or <paramref name="mode" /> is 
488           <see langword="null" />.
489         </exception>
490         <exception cref="T:System.ArgumentException">
491           <paramref name="path" /> is a <c>0</c>-length string.
492         </exception>
493         <exception cref="T:System.IO.DirectoryNotFoundException">
494           <paramref name="path" /> could not be opened.
495         </exception>
496         <exception cref="T:System.IO.IOException">
497           <paramref name="path" /> exists and 
498           <see cref="F:System.IO.FileMode.CreateNew" /> was specified.
499         </exception>
500         <exception cref="T:System.IO.FileNotFoundException">
501           <paramref name="path" /> doesn't exist and 
502           <see cref="F:System.IO.FileMode.Open" /> was specified.
503         </exception>
504         <exception cref="T:System.ArgumentOutOfRangeException">
505           <paramref name="access" /> is not one of 
506           <see cref="F:System.IO.FileAccess.Read" />,
507           <see cref="F:System.IO.FileAccess.Write" />, or
508           <see cref="F:System.IO.FileAccess.ReadWrite" />.
509         </exception>
510       </Docs>
511     </Member>
512     <Member MemberName="CanRead">
513       <MemberSignature Language="C#" Value="public override bool CanRead { get; }" />
514       <MemberSignature Language="ILAsm" Value=".property instance bool CanRead" />
515       <MemberType>Property</MemberType>
516       <AssemblyInfo>
517         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
518         <AssemblyVersion>2.0.0.0</AssemblyVersion>
519         <AssemblyVersion>4.0.0.0</AssemblyVersion>
520       </AssemblyInfo>
521       <ReturnValue>
522         <ReturnType>System.Boolean</ReturnType>
523       </ReturnValue>
524       <Docs>
525         <summary>To be added.</summary>
526         <value>To be added.</value>
527         <remarks>To be added.</remarks>
528       </Docs>
529     </Member>
530     <Member MemberName="CanSeek">
531       <MemberSignature Language="C#" Value="public override bool CanSeek { get; }" />
532       <MemberSignature Language="ILAsm" Value=".property instance bool CanSeek" />
533       <MemberType>Property</MemberType>
534       <AssemblyInfo>
535         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
536         <AssemblyVersion>2.0.0.0</AssemblyVersion>
537         <AssemblyVersion>4.0.0.0</AssemblyVersion>
538       </AssemblyInfo>
539       <ReturnValue>
540         <ReturnType>System.Boolean</ReturnType>
541       </ReturnValue>
542       <Docs>
543         <summary>To be added.</summary>
544         <value>To be added.</value>
545         <remarks>To be added.</remarks>
546       </Docs>
547     </Member>
548     <Member MemberName="CanWrite">
549       <MemberSignature Language="C#" Value="public override bool CanWrite { get; }" />
550       <MemberSignature Language="ILAsm" Value=".property instance bool CanWrite" />
551       <MemberType>Property</MemberType>
552       <AssemblyInfo>
553         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
554         <AssemblyVersion>2.0.0.0</AssemblyVersion>
555         <AssemblyVersion>4.0.0.0</AssemblyVersion>
556       </AssemblyInfo>
557       <ReturnValue>
558         <ReturnType>System.Boolean</ReturnType>
559       </ReturnValue>
560       <Docs>
561         <summary>To be added.</summary>
562         <value>To be added.</value>
563         <remarks>To be added.</remarks>
564       </Docs>
565     </Member>
566     <Member MemberName="Close">
567       <MemberSignature Language="C#" Value="public override void Close ();" />
568       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Close() cil managed" />
569       <MemberType>Method</MemberType>
570       <AssemblyInfo>
571         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
572         <AssemblyVersion>2.0.0.0</AssemblyVersion>
573         <AssemblyVersion>4.0.0.0</AssemblyVersion>
574       </AssemblyInfo>
575       <ReturnValue>
576         <ReturnType>System.Void</ReturnType>
577       </ReturnValue>
578       <Parameters />
579       <Docs>
580         <summary>To be added.</summary>
581         <remarks>To be added.</remarks>
582       </Docs>
583     </Member>
584     <Member MemberName="Finalize">
585       <MemberSignature Language="C#" Value="~StdioFileStream ();" />
586       <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
587       <MemberType>Method</MemberType>
588       <AssemblyInfo>
589         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
590         <AssemblyVersion>2.0.0.0</AssemblyVersion>
591         <AssemblyVersion>4.0.0.0</AssemblyVersion>
592       </AssemblyInfo>
593       <ReturnValue>
594         <ReturnType>System.Void</ReturnType>
595       </ReturnValue>
596       <Parameters />
597       <Docs>
598         <summary>To be added.</summary>
599         <remarks>To be added.</remarks>
600       </Docs>
601     </Member>
602     <Member MemberName="Flush">
603       <MemberSignature Language="C#" Value="public override void Flush ();" />
604       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Flush() cil managed" />
605       <MemberType>Method</MemberType>
606       <AssemblyInfo>
607         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
608         <AssemblyVersion>2.0.0.0</AssemblyVersion>
609         <AssemblyVersion>4.0.0.0</AssemblyVersion>
610       </AssemblyInfo>
611       <ReturnValue>
612         <ReturnType>System.Void</ReturnType>
613       </ReturnValue>
614       <Parameters />
615       <Docs>
616         <summary>To be added.</summary>
617         <remarks>To be added.</remarks>
618       </Docs>
619     </Member>
620     <Member MemberName="Handle">
621       <MemberSignature Language="C#" Value="public IntPtr Handle { get; }" />
622       <MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
623       <MemberType>Property</MemberType>
624       <AssemblyInfo>
625         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
626         <AssemblyVersion>2.0.0.0</AssemblyVersion>
627         <AssemblyVersion>4.0.0.0</AssemblyVersion>
628       </AssemblyInfo>
629       <ReturnValue>
630         <ReturnType>System.IntPtr</ReturnType>
631       </ReturnValue>
632       <Docs>
633         <summary>The underlying <c>FILE</c> pointer.</summary>
634         <value>A <see cref="T:System.IntPtr" /> containing the underlying
635                                         <c>FILE</c> pointer.
636         </value>
637         <remarks>
638         </remarks>
639       </Docs>
640     </Member>
641     <Member MemberName="InvalidFileStream">
642       <MemberSignature Language="C#" Value="public static readonly IntPtr InvalidFileStream;" />
643       <MemberSignature Language="ILAsm" Value=".field public static initonly native int InvalidFileStream" />
644       <MemberType>Field</MemberType>
645       <AssemblyInfo>
646         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
647         <AssemblyVersion>2.0.0.0</AssemblyVersion>
648         <AssemblyVersion>4.0.0.0</AssemblyVersion>
649       </AssemblyInfo>
650       <ReturnValue>
651         <ReturnType>System.IntPtr</ReturnType>
652       </ReturnValue>
653       <Docs>
654         <summary>An invalid <c>FILE</c> pointer.</summary>
655         <remarks>This is <see cref="F:System.IntPtr.Zero" />.</remarks>
656       </Docs>
657     </Member>
658     <Member MemberName="Length">
659       <MemberSignature Language="C#" Value="public override long Length { get; }" />
660       <MemberSignature Language="ILAsm" Value=".property instance int64 Length" />
661       <MemberType>Property</MemberType>
662       <AssemblyInfo>
663         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
664         <AssemblyVersion>2.0.0.0</AssemblyVersion>
665         <AssemblyVersion>4.0.0.0</AssemblyVersion>
666       </AssemblyInfo>
667       <ReturnValue>
668         <ReturnType>System.Int64</ReturnType>
669       </ReturnValue>
670       <Docs>
671         <summary>To be added.</summary>
672         <value>To be added.</value>
673         <remarks>To be added.</remarks>
674       </Docs>
675     </Member>
676     <Member MemberName="Position">
677       <MemberSignature Language="C#" Value="public override long Position { get; set; }" />
678       <MemberSignature Language="ILAsm" Value=".property instance int64 Position" />
679       <MemberType>Property</MemberType>
680       <AssemblyInfo>
681         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
682         <AssemblyVersion>2.0.0.0</AssemblyVersion>
683         <AssemblyVersion>4.0.0.0</AssemblyVersion>
684       </AssemblyInfo>
685       <ReturnValue>
686         <ReturnType>System.Int64</ReturnType>
687       </ReturnValue>
688       <Docs>
689         <summary>To be added.</summary>
690         <value>To be added.</value>
691         <remarks>To be added.</remarks>
692       </Docs>
693     </Member>
694     <Member MemberName="Read">
695       <MemberSignature Language="C#" Value="public override int Read (byte[] buffer, int offset, int count);" />
696       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 Read(unsigned int8[] buffer, int32 offset, int32 count) cil managed" />
697       <MemberType>Method</MemberType>
698       <AssemblyInfo>
699         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
700         <AssemblyVersion>2.0.0.0</AssemblyVersion>
701         <AssemblyVersion>4.0.0.0</AssemblyVersion>
702       </AssemblyInfo>
703       <ReturnValue>
704         <ReturnType>System.Int32</ReturnType>
705       </ReturnValue>
706       <Parameters>
707         <Parameter Name="buffer" Type="System.Byte[]" />
708         <Parameter Name="offset" Type="System.Int32" />
709         <Parameter Name="count" Type="System.Int32" />
710       </Parameters>
711       <Docs>
712         <param name="buffer">To be added.</param>
713         <param name="offset">To be added.</param>
714         <param name="count">To be added.</param>
715         <summary>To be added.</summary>
716         <returns>To be added.</returns>
717         <remarks>To be added.</remarks>
718       </Docs>
719     </Member>
720     <Member MemberName="RestoreFilePosition">
721       <MemberSignature Language="C#" Value="public void RestoreFilePosition (Mono.Unix.Native.FilePosition pos);" />
722       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RestoreFilePosition(class Mono.Unix.Native.FilePosition pos) cil managed" />
723       <MemberType>Method</MemberType>
724       <AssemblyInfo>
725         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
726         <AssemblyVersion>2.0.0.0</AssemblyVersion>
727         <AssemblyVersion>4.0.0.0</AssemblyVersion>
728       </AssemblyInfo>
729       <ReturnValue>
730         <ReturnType>System.Void</ReturnType>
731       </ReturnValue>
732       <Parameters>
733         <Parameter Name="pos" Type="Mono.Unix.Native.FilePosition" />
734       </Parameters>
735       <Docs>
736         <param name="pos">
737           A <see cref="T:Mono.Unix.Native.FilePosition" /> from which to
738           restore the file position.
739         </param>
740         <summary>Set the current file position saved in a 
741         <see cref="T:Mono.Unix.Native.FilePosition" /> instance.</summary>
742         <remarks>
743           <para>The <see cref="T:Mono.Unix.Native.FilePosition" /> type holds
744         a platform-specific representation of a file position.  This is useful
745         when the underlying standard C library cannot hold a file position in
746         a <c>long</c> data type.  For example, on 32-bit platforms a
747         <c>long</c> is usually 32-bits in size; thus valid file
748         positions as used from <see cref="P:System.IO.Stream.Position" />
749         cannot be set past 2^31 bytes (effectively limiting you to 2GB files).
750         </para>
751           <para>Use this member if your underlying platform doesn't support
752         <see cref="M:System.IO.Stream.Seek" />ing within large files, or you
753         need to save text stream information.</para>
754         </remarks>
755         <altmember cref="M:Mono.Unix.Native.Stdlib.fsetpos" />
756       </Docs>
757     </Member>
758     <Member MemberName="Rewind">
759       <MemberSignature Language="C#" Value="public void Rewind ();" />
760       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Rewind() cil managed" />
761       <MemberType>Method</MemberType>
762       <AssemblyInfo>
763         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
764         <AssemblyVersion>2.0.0.0</AssemblyVersion>
765         <AssemblyVersion>4.0.0.0</AssemblyVersion>
766       </AssemblyInfo>
767       <ReturnValue>
768         <ReturnType>System.Void</ReturnType>
769       </ReturnValue>
770       <Parameters />
771       <Docs>
772         <summary>Set <see cref="P:Mono.Unix.StdioFileStream.Position" /> 
773         to the beginning of the file.</summary>
774         <remarks>This is equivalent to <see cref="M:System.IO.Stream.Seek" />(0, 
775         <see cref="F:System.IO.SeekOrigin.Begin" />);</remarks>
776       </Docs>
777     </Member>
778     <Member MemberName="SaveFilePosition">
779       <MemberSignature Language="C#" Value="public void SaveFilePosition (Mono.Unix.Native.FilePosition pos);" />
780       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SaveFilePosition(class Mono.Unix.Native.FilePosition pos) cil managed" />
781       <MemberType>Method</MemberType>
782       <AssemblyInfo>
783         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
784         <AssemblyVersion>2.0.0.0</AssemblyVersion>
785         <AssemblyVersion>4.0.0.0</AssemblyVersion>
786       </AssemblyInfo>
787       <ReturnValue>
788         <ReturnType>System.Void</ReturnType>
789       </ReturnValue>
790       <Parameters>
791         <Parameter Name="pos" Type="Mono.Unix.Native.FilePosition" />
792       </Parameters>
793       <Docs>
794         <param name="pos">
795           A <see cref="T:Mono.Unix.Native.FilePosition" /> in which to save 
796           the current file position.
797         </param>
798         <summary>Save the current file position into a 
799         <see cref="T:Mono.Unix.Native.FilePosition" /> instance.</summary>
800         <remarks>
801           <para>The <see cref="T:Mono.Unix.Native.FilePosition" /> type holds
802         a platform-specific representation of a file position.  This is useful
803         when the underlying standard C library cannot hold a file position in
804         a <c>long</c> data type.  For example, on 32-bit platforms a
805         <c>long</c> is usually 32-bits in size; thus valid file
806         positions as used from <see cref="P:System.IO.Stream.Position" />
807         cannot be set past 2^31 bytes (effectively limiting you to 2GB files).
808         </para>
809           <para>Use this member if your underlying platform doesn't support
810         <see cref="M:System.IO.Stream.Seek" />ing within large files, or you
811         need to save text stream information.</para>
812         </remarks>
813         <altmember cref="M:Mono.Unix.Native.Stdlib.fgetpos" />
814       </Docs>
815     </Member>
816     <Member MemberName="Seek">
817       <MemberSignature Language="C#" Value="public override long Seek (long offset, System.IO.SeekOrigin origin);" />
818       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int64 Seek(int64 offset, valuetype System.IO.SeekOrigin origin) cil managed" />
819       <MemberType>Method</MemberType>
820       <AssemblyInfo>
821         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
822         <AssemblyVersion>2.0.0.0</AssemblyVersion>
823         <AssemblyVersion>4.0.0.0</AssemblyVersion>
824       </AssemblyInfo>
825       <ReturnValue>
826         <ReturnType>System.Int64</ReturnType>
827       </ReturnValue>
828       <Parameters>
829         <Parameter Name="offset" Type="System.Int64" />
830         <Parameter Name="origin" Type="System.IO.SeekOrigin" />
831       </Parameters>
832       <Docs>
833         <param name="offset">To be added.</param>
834         <param name="origin">To be added.</param>
835         <summary>To be added.</summary>
836         <returns>To be added.</returns>
837         <remarks>To be added.</remarks>
838       </Docs>
839     </Member>
840     <Member MemberName="SetLength">
841       <MemberSignature Language="C#" Value="public override void SetLength (long value);" />
842       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void SetLength(int64 value) cil managed" />
843       <MemberType>Method</MemberType>
844       <AssemblyInfo>
845         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
846         <AssemblyVersion>2.0.0.0</AssemblyVersion>
847         <AssemblyVersion>4.0.0.0</AssemblyVersion>
848       </AssemblyInfo>
849       <ReturnValue>
850         <ReturnType>System.Void</ReturnType>
851       </ReturnValue>
852       <Parameters>
853         <Parameter Name="value" Type="System.Int64" />
854       </Parameters>
855       <Docs>
856         <param name="value">To be added.</param>
857         <summary>To be added.</summary>
858         <remarks>To be added.</remarks>
859       </Docs>
860     </Member>
861     <Member MemberName="StandardError">
862       <MemberSignature Language="C#" Value="public static readonly IntPtr StandardError;" />
863       <MemberSignature Language="ILAsm" Value=".field public static initonly native int StandardError" />
864       <MemberType>Field</MemberType>
865       <AssemblyInfo>
866         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
867         <AssemblyVersion>2.0.0.0</AssemblyVersion>
868         <AssemblyVersion>4.0.0.0</AssemblyVersion>
869       </AssemblyInfo>
870       <ReturnValue>
871         <ReturnType>System.IntPtr</ReturnType>
872       </ReturnValue>
873       <Docs>
874         <summary>The standard error file stream.</summary>
875         <remarks>This is the 
876         <see cref="F:Mono.Unix.Native.Stdlib.stderr" /> global variable.</remarks>
877       </Docs>
878     </Member>
879     <Member MemberName="StandardInput">
880       <MemberSignature Language="C#" Value="public static readonly IntPtr StandardInput;" />
881       <MemberSignature Language="ILAsm" Value=".field public static initonly native int StandardInput" />
882       <MemberType>Field</MemberType>
883       <AssemblyInfo>
884         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
885         <AssemblyVersion>2.0.0.0</AssemblyVersion>
886         <AssemblyVersion>4.0.0.0</AssemblyVersion>
887       </AssemblyInfo>
888       <ReturnValue>
889         <ReturnType>System.IntPtr</ReturnType>
890       </ReturnValue>
891       <Docs>
892         <summary>The standard input file stream.</summary>
893         <remarks>This is the 
894         <see cref="F:Mono.Unix.Native.Stdlib.stdin" /> global variable.</remarks>
895       </Docs>
896     </Member>
897     <Member MemberName="StandardOutput">
898       <MemberSignature Language="C#" Value="public static readonly IntPtr StandardOutput;" />
899       <MemberSignature Language="ILAsm" Value=".field public static initonly native int StandardOutput" />
900       <MemberType>Field</MemberType>
901       <AssemblyInfo>
902         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
903         <AssemblyVersion>2.0.0.0</AssemblyVersion>
904         <AssemblyVersion>4.0.0.0</AssemblyVersion>
905       </AssemblyInfo>
906       <ReturnValue>
907         <ReturnType>System.IntPtr</ReturnType>
908       </ReturnValue>
909       <Docs>
910         <summary>The standard output file stream.</summary>
911         <remarks>This is the 
912         <see cref="F:Mono.Unix.Native.Stdlib.stdout" /> global variable.</remarks>
913       </Docs>
914     </Member>
915     <Member MemberName="Write">
916       <MemberSignature Language="C#" Value="public override void Write (byte[] buffer, int offset, int count);" />
917       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Write(unsigned int8[] buffer, int32 offset, int32 count) cil managed" />
918       <MemberType>Method</MemberType>
919       <AssemblyInfo>
920         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
921         <AssemblyVersion>2.0.0.0</AssemblyVersion>
922         <AssemblyVersion>4.0.0.0</AssemblyVersion>
923       </AssemblyInfo>
924       <ReturnValue>
925         <ReturnType>System.Void</ReturnType>
926       </ReturnValue>
927       <Parameters>
928         <Parameter Name="buffer" Type="System.Byte[]" />
929         <Parameter Name="offset" Type="System.Int32" />
930         <Parameter Name="count" Type="System.Int32" />
931       </Parameters>
932       <Docs>
933         <param name="buffer">To be added.</param>
934         <param name="offset">To be added.</param>
935         <param name="count">To be added.</param>
936         <summary>To be added.</summary>
937         <remarks>To be added.</remarks>
938       </Docs>
939     </Member>
940   </Members>
941 </Type>