Update mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngPattern.cs
[mono.git] / mcs / class / Mono.Posix / Documentation / en / Mono.Unix / UnixFileSystemInfo.xml
1 <Type Name="UnixFileSystemInfo" FullName="Mono.Unix.UnixFileSystemInfo">
2   <TypeSignature Language="C#" Value="public abstract class UnixFileSystemInfo" />
3   <AssemblyInfo>
4     <AssemblyName>Mono.Posix</AssemblyName>
5     <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6     <AssemblyVersion>2.0.0.0</AssemblyVersion>
7   </AssemblyInfo>
8   <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
9   <Base>
10     <BaseTypeName>System.Object</BaseTypeName>
11   </Base>
12   <Interfaces />
13   <Docs>
14     <summary>Provides information and performs operations on file system
15     entries.</summary>
16     <remarks>
17       <para>
18         The <see cref="T:Mono.Unix.UnixFileSystemInfo" /> class provides
19         information about a file system entry and permits file system entry
20         manipulation such as:
21       </para>
22       <list type="bullet">
23         <item>
24           <term>Determining the full file name with 
25             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
26           </term>
27         </item>
28         <item>
29           <term>Determining whether the file exists with 
30             <see cref="P:Mono.Unix.UnixFileSystemInfo.Exists" /></term>
31         </item>
32         <item>
33           <term>Querying file system entry metadata such as the 
34             hardware device it resides on 
35             (<see cref="P:Mono.Unix.UnixFileSystemInfo.Device" />),
36             the file system inode
37             (<see cref="P:Mono.Unix.UnixFileSystemInfo.Inode" />),
38             file access permissions
39             (<see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />),
40             file type
41             (<see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" />),
42             file owner information
43             (<see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUser" />),
44             group information
45             (<see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroup" />),
46             file size
47             (<see cref="P:Mono.Unix.UnixFileSystemInfo.Length" />),
48             various times maintained by the operating system
49             (<see cref="P:Mono.Unix.UnixFileSystemInfo.LastAccessTime" />,
50             <see cref="P:Mono.Unix.UnixFileSystemInfo.LastWriteTime" />,
51             <see cref="P:Mono.Unix.UnixFileSystemInfo.LastStatusChangeTime" />),
52             and more.
53           </term>
54         </item>
55         <item>
56           <term>Creating hard links with
57             <see cref="M:Mono.Unix.UnixFileSystemInfo.CreateLink" />.
58           </term>
59         </item>
60         <item>
61           <term>Creating symbolic links with
62             <see cref="M:Mono.Unix.UnixFileSystemInfo.CreateSymbolicLink" />.
63           </term>
64         </item>
65         <item>
66           <term>File system entry deletion with
67             <see cref="M:Mono.Unix.UnixFileSystemInfo.Delete" />.
68           </term>
69         </item>
70         <item>
71           <term>Setting file system owner and group information with
72             <see cref="M:Mono.Unix.UnixFileSystemInfo.SetOwner" />.
73           </term>
74         </item>
75       </list>
76       <para>
77         Information provided by this type may not be valid for any significant
78         period of time, due to potential race conditions with other processes
79         running on the system or because of file management actions performed
80         within the current process.
81       </para>
82       <para>
83         The only guarantee is that the information provided <i>was</i> valid
84         at some point in time, <i>or</i> an 
85         <see cref="T:System.InvalidOperationException" /> exception will be
86         thrown when attempting to access the provided information.
87         <block subset="none" type="note">
88           To clarify, once the file system entry 
89           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is found, 
90           it won't be checked for again until a call to
91           <see cref="P:Mono.Unix.UnixFileSystemInfo.Refresh" />.
92           <c>FullName</c> will be checked for during object construction, but
93           need not exist during object construction -- 
94           <see cref="P:Mono.Unix.UnixFileSystemInfo.Exists" /> will let you
95           know if the file currently exists and does an implicit 
96           <c>Refresh</c>.  If <c>FullName</c> doesn't exist when the
97           <c>UnixFileSystemInfo</c> is created, it will be checked for
98           whenever information about the file system entry is required,
99           such as with 
100           <see cref="P:Mono.Unix.UnixFileSystemInfo.Device" /> and
101           <see cref="P:Mono.Unix.UnixFileSystemInfo.Length" />.
102         </block></para>
103       <para>
104         Check the individual method and property documentation to determine if
105         and when an exception will be thrown.
106       </para>
107     </remarks>
108     <altmember cref="T:Mono.Unix.UnixDirectoryInfo" />
109     <altmember cref="T:Mono.Unix.UnixFileInfo" />
110     <altmember cref="T:Mono.Unix.UnixSymbolicLinkInfo" />
111   </Docs>
112   <Members>
113     <Member MemberName=".ctor">
114       <MemberSignature Language="C#" Value="protected UnixFileSystemInfo (string path);" />
115       <MemberType>Constructor</MemberType>
116       <Parameters>
117         <Parameter Name="path" Type="System.String" />
118       </Parameters>
119       <Docs>
120         <param name="path">A <see cref="T:System.String" /> containing the
121         name of the file system object to query.</param>
122         <summary>Creates a <see cref="T:Mono.Unix.UnixFileSystemInfo" />
123           subclass.
124         </summary>
125         <remarks>
126           <para>The <paramref name="path" /> argument is permitted to specify
127           relative or absolute path information. Relative path information is 
128           interpreted as relative to the current working directory. 
129           <block subset="none" type="note">To obtain the current working 
130           directory, see 
131           <see cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" qualify="true" />.
132           </block></para>
133         </remarks>
134         <exception cref="T:System.ArgumentNullException">
135           <paramref name="path" /> is <see langword="null" />.
136         </exception>
137         <exception cref="T:System.ArgumentException">
138           <para>
139             <paramref name="path" /> is a zero-length string.</para>
140           <para>-or-</para>
141           <para>
142             <paramref name="path" /> contains an invalid character.
143             See <see cref="M:Mono.Unix.UnixPath.GetInvalidPathChars" />.
144           </para>
145         </exception>
146       </Docs>
147       <AssemblyInfo>
148         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
149         <AssemblyVersion>2.0.0.0</AssemblyVersion>
150       </AssemblyInfo>
151     </Member>
152     <Member MemberName="BlocksAllocated">
153       <MemberSignature Language="C#" Value="public long BlocksAllocated { get; }" />
154       <MemberType>Property</MemberType>
155       <ReturnValue>
156         <ReturnType>System.Int64</ReturnType>
157       </ReturnValue>
158       <Docs>
159         <summary>Gets the number of file system blocks used by this file
160           system entry.</summary>
161         <value>A <see cref="T:System.Int64" /> containing the number of file
162           system blocks used by this file system entry.</value>
163         <remarks>
164         </remarks>
165         <exception cref="T:System.InvalidOperationException">
166           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
167         </exception>
168         <altmember cref="F:Mono.Unix.Native.Stat.st_blocks" />
169         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
170       </Docs>
171       <AssemblyInfo>
172         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
173         <AssemblyVersion>2.0.0.0</AssemblyVersion>
174       </AssemblyInfo>
175     </Member>
176     <Member MemberName="BlockSize">
177       <MemberSignature Language="C#" Value="public long BlockSize { get; }" />
178       <MemberType>Property</MemberType>
179       <ReturnValue>
180         <ReturnType>System.Int64</ReturnType>
181       </ReturnValue>
182       <Docs>
183         <summary>Gets the preferred blocksize for filesystem I/O.</summary>
184         <value>A <see cref="T:System.Int64" /> containing the preferred block 
185           size for file system I/O on this file system entry.</value>
186         <remarks>
187         </remarks>
188         <exception cref="T:System.InvalidOperationException">
189           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
190         </exception>
191         <altmember cref="F:Mono.Unix.Native.Stat.st_blksize" />
192         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
193       </Docs>
194       <AssemblyInfo>
195         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
196         <AssemblyVersion>2.0.0.0</AssemblyVersion>
197       </AssemblyInfo>
198     </Member>
199     <Member MemberName="CanAccess">
200       <MemberSignature Language="C#" Value="public bool CanAccess (Mono.Unix.Native.AccessModes mode);" />
201       <MemberType>Method</MemberType>
202       <ReturnValue>
203         <ReturnType>System.Boolean</ReturnType>
204       </ReturnValue>
205       <Parameters>
206         <Parameter Name="mode" Type="Mono.Unix.Native.AccessModes" />
207       </Parameters>
208       <Docs>
209         <param name="mode">A <see cref="T:Mono.Unix.Native.AccessModes" />
210           specifying what kind of access the process would like.
211         </param>
212         <summary>Determines whether or not the process can access
213           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> with the
214           specified access <paramref name="mode" /></summary>
215         <returns>A <see cref="T:System.Boolean" /> specifying whether or not
216           the process can access
217           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
218         </returns>
219         <remarks>
220           <para>
221             Note that this method is subject to external race conditions --
222             just because you can access 
223             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> now doesn't
224             mean you'll be able to access it later, as another thread/process
225             may change the access permissions.
226           </para>
227         </remarks>
228       </Docs>
229       <AssemblyInfo>
230         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
231         <AssemblyVersion>2.0.0.0</AssemblyVersion>
232       </AssemblyInfo>
233       <Attributes>
234         <Attribute>
235           <AttributeName>System.CLSCompliant(false)</AttributeName>
236         </Attribute>
237       </Attributes>
238     </Member>
239     <Member MemberName="CreateLink">
240       <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo CreateLink (string path);" />
241       <MemberType>Method</MemberType>
242       <ReturnValue>
243         <ReturnType>Mono.Unix.UnixFileSystemInfo</ReturnType>
244       </ReturnValue>
245       <Parameters>
246         <Parameter Name="path" Type="System.String" />
247       </Parameters>
248       <Docs>
249         <param name="path">
250         </param>
251         <summary>Creates a hard link so that 
252           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> and 
253           <paramref name="path" /> are the same file.</summary>
254         <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> instance which
255           represents <paramref name="path" />.</returns>
256         <remarks>
257           <para>The <paramref name="path" /> argument is permitted to specify
258           relative or absolute path information. Relative path information is 
259           interpreted as relative to the current working directory. 
260           <block subset="none" type="note">To obtain the current working 
261             directory, see 
262             <see cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" />.
263           </block></para>
264           <para>
265             After creating the link, the link count 
266             <see cref="P:Mono.Unix.UnixFileSystemInfo.LinkCount" /> will be
267             incremented, and there will be no way to distinguish the two
268             files -- they're the same file with two (or more) different names.
269           </para>
270         </remarks>
271         <exception cref="T:System.InvalidOperationException">
272           <para>
273             The file system containing 
274             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
275             does not support hard links.
276             [<see cref="F:Mono.Unix.Native.Errno.EOPNOTSUPP" />]
277           </para>
278           <para>-or-</para>
279           <para>The file
280             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
281             is a directory or is flagged immutable or append-only
282             (see <see cref="M:Mono.Unix.Native.Syscall.chflags" />).
283             [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
284           </para>
285         </exception>
286         <exception cref="T:System.UnauthorizedAccessException">
287           <para>Search permission is denied for a component of the path
288             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> or
289             <paramref name="path" />.
290             [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
291           </para>
292           <para>-or-</para>
293           <para>
294             <paramref name="path" /> requires writing in a directory with a
295             mode that denies write permissions.
296             [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
297           </para>
298         </exception>
299         <exception cref="T:System.IO.DirectoryNotFoundException">
300           A component of the path prefix of 
301           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
302           or <paramref name="path" /> is not a
303           directory.
304             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
305         </exception>
306         <exception cref="T:System.IO.FileNotFoundException">
307           <para>
308             A component of 
309             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
310             or <paramref name="path" />
311             that must exist does not exist.
312             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
313           </para>
314           <para>-or-</para>
315           <para>
316             The file 
317             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
318             does not exist.
319             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
320           </para>
321         </exception>
322         <exception cref="T:System.IO.IOException">
323           <para>
324             <paramref name="path" />
325             resides on a read-only file system.
326             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
327           </para>
328           <para>-or-</para>
329           <para>The directory for <paramref name="path" /> cannot be extended 
330             because there is no space left.
331             [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
332           </para>
333           <para>-or-</para>
334           <para>An I/O error occurred while making the directory entry.
335             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
336           </para>
337         </exception>
338         <exception cref="T:System.IO.PathTooLongException">
339           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> or
340           <paramref name="path" />
341           was too long.
342             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
343         </exception>
344         <exception cref="T:Mono.Unix.UnixIOException">
345           <para>Too many symbolic links were encountered in translating 
346             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> or
347             <paramref name="path" />
348             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
349           </para>
350           <para>-or-</para>
351           <para>
352             <see cref="P:Mono.Unix.UnixFileInfo.Directory" /> cannot be
353           extended because the user's quota of disk blocks on the file system
354           containing this directory has been exhausted.
355             [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
356           </para>
357           <para>-or-</para>
358           <para>
359             <see cref="P:Mono.Unix.UnixFileSystemInfo.LinkCount" />
360             would exceed its limit.  Use 
361             <see cref="M:Mono.Unix.UnixFileSystemInfo.GetConfigurationValue" />(<see cref="M:Mono.Unix.Native.PathconfName._PC_LINK_MAX" />) 
362             to determine the maximum link value.
363             [<see cref="F:Mono.Unix.Native.Errno.EMLINK" />]
364           </para>
365           <para>-or-</para>
366           <para>
367             <paramref name="path" /> already exists.
368             [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
369           </para>
370           <para>-or-</para>
371           <para>
372             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> and
373             <paramref name="path" /> are on different file systems.
374             [<see cref="F:Mono.Unix.Native.Errno.EXDEV" />]
375           </para>
376         </exception>
377         <altmember cref="M:Mono.Unix.Native.Syscall.link" />
378       </Docs>
379       <AssemblyInfo>
380         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
381         <AssemblyVersion>2.0.0.0</AssemblyVersion>
382       </AssemblyInfo>
383     </Member>
384     <Member MemberName="CreateSymbolicLink">
385       <MemberSignature Language="C#" Value="public Mono.Unix.UnixSymbolicLinkInfo CreateSymbolicLink (string path);" />
386       <MemberType>Method</MemberType>
387       <ReturnValue>
388         <ReturnType>Mono.Unix.UnixSymbolicLinkInfo</ReturnType>
389       </ReturnValue>
390       <Parameters>
391         <Parameter Name="path" Type="System.String" />
392       </Parameters>
393       <Docs>
394         <param name="path">A <see cref="T:System.String" /> containing the name
395         of the symbolic link to create.</param>
396         <summary>Create a symbolic link so that <paramref name="path" /> 
397           "points to" <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
398         </summary>
399         <returns>A <see cref="T:Mono.Unix.UnixSymbolicLinkInfo" /> instance
400           containing information about the created symbolic link.</returns>
401         <remarks>
402           <para>The <paramref name="path" /> argument is permitted to specify
403           relative or absolute path information. Relative path information is 
404           interpreted as relative to the current working directory. 
405           <block subset="none" type="note">To obtain the current working 
406             directory, see 
407             <see cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" />.
408           </block></para>
409           <para>
410             The created symbolic link will contain the full path name, 
411             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.  
412             If this is undesirable (for instance, you want the created
413             symbolic link to contain relative path information), use
414             <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.CreateSymbolicLinkTo" />
415             instead.  <c>UnixSymbolicLinkInfo.CreateSymbolicLinkTo</c> 
416             uses the exact path provided to the 
417             <see cref="T:Mono.Unix.UnixSymbolicLinkInfo" /> constructor when
418             creating the symbolic link, while this method uses the
419             fully-qualified file name to create the symbolic link.
420           </para>
421           <example>
422             <para>The <c>ln</c>(1) command:</para>
423             <code lang="sh">ln -s target symlink</code>
424             <para>
425               Can be created using <see cref="N:Mono.Unix" /> in two ways.
426               First, it can be created using 
427               <see cref="M:Mono.Unix.UnixFileSystemInfo.CreateSymbolicLink" />:
428             </para>
429             <code lang="C#">UnixFileInfo f = new UnixFileInfo ("target.ufi");
430 f.CreateSymbolicLink ("symlink.ufi");</code>
431             <para>
432               Second, it can be created using 
433               <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.CreateSymbolicLinkTo" />:
434             </para>
435             <code lang="C#">UnixSymbolicLinkInfo s = 
436     new UnixSymbolicLinkInfo ("symlink.usli");
437 s.CreateSymbolicLinkTo ("target.usli");</code>
438             <para>
439               The links created by the above differ; in particular, the target
440               of 
441               <see cref="M:Mono.Unix.UnixFileSystemInfo.CreateSymbolicLink" />
442               is the full path name of the target, while 
443               <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.CreateSymbolicLinkTo" /> contains no extra information:
444             </para>
445             <code lang="sh">$ ls -lF symlink* | cut -c 39-
446 symlink -&gt; target
447 symlink.ufi -&gt; /full/path/to/target.ufi
448 symlink.usli -&gt; target.usli
449             </code>
450           </example>
451         </remarks>
452         <exception cref="T:System.UnauthorizedAccessException">
453           <para>Search permission is denied for a component of the path
454           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> or 
455           <paramref name="path" />.
456             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
457           </para>
458         </exception>
459         <exception cref="T:System.IO.DirectoryNotFoundException">
460           A component of the path prefix of 
461           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
462           directory.
463             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
464         </exception>
465         <exception cref="T:System.IO.FileNotFoundException">
466           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
467           that must exist does not exist.
468             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
469         </exception>
470         <exception cref="T:System.IO.PathTooLongException">
471           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
472             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
473         </exception>
474         <exception cref="T:System.IO.IOException">
475           <para>
476             <paramref name="path" /> resides on a read-only file system.
477             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
478           </para>
479           <para>-or-</para>
480           <para>The directory containing <paramref name="path" />
481           cannot be extended because there is no space left on the file
482           system containing the directory.
483             [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
484           </para>
485           <para>-or-</para>
486           <para>There are no free inodes on the file system on which the file
487           is being created.
488             [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
489           </para>
490           <para>-or-</para>
491           <para>An I/O error occurred while making the directory entry or
492           allocating the inode.
493             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
494           </para>
495         </exception>
496         <exception cref="T:Mono.Unix.UnixIOException">
497           <para>Too many symbolic links were encountered in translating 
498           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
499             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
500           </para>
501           <para>-or-</para>
502           <para>The user's quota of inodes on the file system containing
503           <see cref="P:Mono.Unix.UnixFileInfo.Directory" /> has been exhausted.
504             [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
505           </para>
506           <para>-or-</para>
507           <para>The directory containing <paramref name="path" /> cannot be
508           extended because the user's quota of disk blocks on the file system
509           containing this directory has been exhausted.
510             [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
511           </para>
512           <para>-or-</para>
513           <para>
514             <paramref name="path" /> already exists.</para>
515         </exception>
516         <altmember cref="M:Mono.Unix.Native.Syscall.symlink" />
517       </Docs>
518       <AssemblyInfo>
519         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
520         <AssemblyVersion>2.0.0.0</AssemblyVersion>
521       </AssemblyInfo>
522     </Member>
523     <Member MemberName="Delete">
524       <MemberSignature Language="C#" Value="public abstract void Delete ();" />
525       <MemberType>Method</MemberType>
526       <ReturnValue>
527         <ReturnType>System.Void</ReturnType>
528       </ReturnValue>
529       <Parameters />
530       <Docs>
531         <summary>Deletes the file system entry
532         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
533         <remarks>
534         </remarks>
535         <exception cref="T:System.InvalidOperationException">
536           <para>The filesystem containing 
537           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
538           support the removal of file system entries.</para>
539           <para>-or-</para>
540           <para>The directory containing 
541           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
542           has the <see cref="F:Mono.Unix.FileSpecialAttributes.Sticky" /> bit
543           set and the process's 
544           <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" /> is
545           neither the uid of the file to be deleted nor that of the directory
546           containing it.</para>
547         </exception>
548         <exception cref="T:System.UnauthorizedAccessException">
549           <para>Write access to the directory containing
550           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was not
551           allowed for the processe's effective user id 
552           <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" />.</para>
553           <para>-or-</para>
554           <para>One of the directories in 
555           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> did not have
556           search (execute) permissions.</para>
557         </exception>
558         <exception cref="T:System.IO.DirectoryNotFoundException">
559           A component of 
560           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
561           directory.
562         </exception>
563         <exception cref="T:System.IO.FileNotFoundException">
564           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
565           exist.
566         </exception>
567         <exception cref="T:System.IO.IOException">
568           <para>
569             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> contains 
570           files other than '<c>.</c>' and '<c>..</c>' in it.</para>
571           <para>-or-</para>
572           <para>An I/O error occurred while deleting the file system entry or
573           deallocating the inode.</para>
574           <para>-or-</para>
575           <para>The directory entry to be removed resides in a read-only file
576           system.</para>
577         </exception>
578         <exception cref="T:System.IO.PathTooLongException">
579           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
580         </exception>
581         <exception cref="T:Mono.Unix.UnixIOException">
582           <para>Too many symbolic links were encountered in translating 
583           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</para>
584           <para>-or</para>
585           <para>The directory to be removed is the mount point for a mounted
586           filesystem.</para>
587         </exception>
588       </Docs>
589       <AssemblyInfo>
590         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
591         <AssemblyVersion>2.0.0.0</AssemblyVersion>
592       </AssemblyInfo>
593     </Member>
594     <Member MemberName="Device">
595       <MemberSignature Language="C#" Value="public long Device { get; }" />
596       <MemberType>Property</MemberType>
597       <ReturnValue>
598         <ReturnType>System.Int64</ReturnType>
599       </ReturnValue>
600       <Docs>
601         <summary>Gets the device ID that this file system entry resides on.</summary>
602         <value>A <see cref="T:System.Int64" /> containing the device ID that
603           this file system entry resides on.</value>
604         <remarks>
605         </remarks>
606         <exception cref="T:System.InvalidOperationException">
607           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
608         </exception>
609         <altmember cref="F:Mono.Unix.Native.Stat.st_dev" />
610         <altmember cref="F:Mono.Unix.Native.System.stat" />
611       </Docs>
612       <AssemblyInfo>
613         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
614         <AssemblyVersion>2.0.0.0</AssemblyVersion>
615       </AssemblyInfo>
616     </Member>
617     <Member MemberName="DeviceType">
618       <MemberSignature Language="C#" Value="public long DeviceType { get; }" />
619       <MemberType>Property</MemberType>
620       <ReturnValue>
621         <ReturnType>System.Int64</ReturnType>
622       </ReturnValue>
623       <Docs>
624         <summary>Gets the device type of this inode.</summary>
625         <value>A <see cref="T:System.Int64" /> containing the type of this
626           inode.</value>
627         <remarks>
628         </remarks>
629         <exception cref="T:System.InvalidOperationException">
630           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
631         </exception>
632         <altmember cref="F:Mono.Unix.Native.Stat.st_rdev" />
633         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
634       </Docs>
635       <AssemblyInfo>
636         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
637         <AssemblyVersion>2.0.0.0</AssemblyVersion>
638       </AssemblyInfo>
639     </Member>
640     <Member MemberName="Exists">
641       <MemberSignature Language="C#" Value="public bool Exists { get; }" />
642       <MemberType>Property</MemberType>
643       <ReturnValue>
644         <ReturnType>System.Boolean</ReturnType>
645       </ReturnValue>
646       <Docs>
647         <summary>Returns a <see cref="T:System.Boolean" /> indicating whether
648         the specified file system object exists.</summary>
649         <value>
650           <para>
651             <see langword="true" /> if the caller has the required permissions 
652             and <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
653             contains the name of an existing file or directory; otherwise, 
654             <see langword="false" />. 
655             If <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is
656             <see langword="null" /> or a zero-length string,
657             returns <see langword="false" />.
658           </para>
659         </value>
660         <remarks>
661           <para>If the caller does not have sufficient permissions to read 
662           the file system object 
663           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, no
664           exception is thrown and the method returns <see langword="false" />
665           regardless of the existence of 
666           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</para>
667         </remarks>
668       </Docs>
669       <AssemblyInfo>
670         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
671         <AssemblyVersion>2.0.0.0</AssemblyVersion>
672       </AssemblyInfo>
673     </Member>
674     <Member MemberName="FileAccessPermissions">
675       <MemberSignature Language="C#" Value="public Mono.Unix.FileAccessPermissions FileAccessPermissions { set; get; }" />
676       <MemberType>Property</MemberType>
677       <ReturnValue>
678         <ReturnType>Mono.Unix.FileAccessPermissions</ReturnType>
679       </ReturnValue>
680       <Docs>
681         <summary>Gets or sets the file system entry access permissions.</summary>
682         <value>A <see cref="T:Mono.Unix.FileAccessPermissions" /> value which
683           controls access to the file system entry.</value>
684         <remarks>
685           <para>
686             Access to file system objects 
687             (as represented by <see cref="T:Mono.Unix.UnixFileSystemInfo" />)
688             is controlled by the file system access permissions, 
689             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />.
690             <see cref="T:Mono.Unix.FileAccessPermissions" /> is a nine-bit field
691             specifying read, write, and execute access for the owner, group, and
692             everyone else (other).
693           </para>
694           <para>
695             Access by the file's owner is controlled by the bits specified by
696             <c>
697             (<see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />
698             &amp; 
699             <see cref="F:Mono.Unix.FileAccessPermissions.UserReadWriteExecute" />)</c>.
700             The owner permissions supersede group permissions and other
701             permissions, even if the owner belongs to the group.
702           </para>
703           <para>
704             Access by the file's owner group is controlled by the bits
705             specified by <c>
706             (<see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />
707             &amp; 
708             <see cref="F:Mono.Unix.FileAccessPermissions.GroupReadWriteExecute" />)</c>.
709             All group members get these access permissions.
710             See also
711             <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroup" />.<see cref="M:Mono.Unix.UnixGroupInfo.GetMembers" />.
712           </para>
713           <para>
714             All other users (users who are not the file's owner nor belonging
715             to the file's owner group) get the file access permissions
716             specified by <c>
717             (<see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />
718             &amp; 
719             <see cref="F:Mono.Unix.FileAccessPermissions.OtherReadWriteExecute" />)</c>.
720           </para>
721         </remarks>
722         <exception cref="T:System.InvalidOperationException">
723           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
724         </exception>
725       </Docs>
726       <AssemblyInfo>
727         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
728         <AssemblyVersion>2.0.0.0</AssemblyVersion>
729       </AssemblyInfo>
730     </Member>
731     <Member MemberName="FileSpecialAttributes">
732       <MemberSignature Language="C#" Value="public Mono.Unix.FileSpecialAttributes FileSpecialAttributes { set; get; }" />
733       <MemberType>Property</MemberType>
734       <ReturnValue>
735         <ReturnType>Mono.Unix.FileSpecialAttributes</ReturnType>
736       </ReturnValue>
737       <Docs>
738         <summary>Gets or sets the file system entry special attributes.</summary>
739         <value>A <see cref="T:Mono.Unix.FileSpecialAttributes" /> value which
740           contains the file special attributes to use.</value>
741         <remarks>
742           <para>Callers may need to be the super user (often the <c>root</c>
743             user) to change the file special attributes.
744           </para>
745         </remarks>
746         <exception cref="T:System.InvalidOperationException">
747           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
748         </exception>
749       </Docs>
750       <AssemblyInfo>
751         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
752         <AssemblyVersion>2.0.0.0</AssemblyVersion>
753       </AssemblyInfo>
754     </Member>
755     <Member MemberName="FileType">
756       <MemberSignature Language="C#" Value="public Mono.Unix.FileTypes FileType { get; }" />
757       <MemberType>Property</MemberType>
758       <ReturnValue>
759         <ReturnType>Mono.Unix.FileTypes</ReturnType>
760       </ReturnValue>
761       <Docs>
762         <summary>Gets the type of this file system entry.</summary>
763         <value>A <see cref="T:Mono.Unix.FileTypes" /> value specifying the type
764           of this file system entry.</value>
765         <remarks>
766         </remarks>
767         <exception cref="T:System.InvalidOperationException">
768           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
769         </exception>
770       </Docs>
771       <AssemblyInfo>
772         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
773         <AssemblyVersion>2.0.0.0</AssemblyVersion>
774       </AssemblyInfo>
775     </Member>
776     <Member MemberName="FullName">
777       <MemberSignature Language="C#" Value="public virtual string FullName { get; }" />
778       <MemberType>Property</MemberType>
779       <ReturnValue>
780         <ReturnType>System.String</ReturnType>
781       </ReturnValue>
782       <Docs>
783         <summary>Gets the fully-qualified path name.</summary>
784         <value>A <see cref="T:System.String" /> containing the fully-qualified
785           path name.</value>
786         <remarks>
787         </remarks>
788         <altmember cref="M:Mono.Unix.UnixPath.GetFullPath" />
789       </Docs>
790       <AssemblyInfo>
791         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
792         <AssemblyVersion>2.0.0.0</AssemblyVersion>
793       </AssemblyInfo>
794     </Member>
795     <Member MemberName="FullPath">
796       <MemberSignature Language="C#" Value="protected string FullPath { set; get; }" />
797       <MemberType>Property</MemberType>
798       <ReturnValue>
799         <ReturnType>System.String</ReturnType>
800       </ReturnValue>
801       <Docs>
802         <summary>Gets or sets the fully qualified path name.</summary>
803         <value>A <see cref="T:System.String" /> containing the fully qualified
804           path name.</value>
805         <remarks>
806           <para>
807             If <paramref name="value" /> is a different path, then the state is
808             invalidated.  This shouldn't matter, as the state will be
809             re-validated on the next member access.
810           </para>
811           <para>It is possible for the object state to be inconsistent if 
812             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is set but
813             not <see cref="P:Mono.Unix.UnixFileSystemInfo.OriginalPath" />.
814             All methods in this class do not use <c>OriginalPath</c> but use
815             <c>FullPath</c>; subclasses such as 
816             <see cref="T:Mono.Unix.UnixSymbolicLinkInfo" /> do use
817             <c>OriginalPath</c>.  If <c>FullPath</c> is set then
818             <c>OriginalPath</c> should also be set if possible for
819             consistency.
820           </para>
821         </remarks>
822         <exception cref="T:System.ArgumentNullException">
823           <paramref name="path" /> is <see langword="null" />.
824         </exception>
825         <exception cref="T:System.ArgumentException">
826           <para>
827             <paramref name="path" /> is a zero-length string.</para>
828           <para>-or-</para>
829           <para>
830             <paramref name="path" /> contains an invalid character.
831             See <see cref="M:Mono.Unix.UnixPath.GetInvalidPathChars" />.
832           </para>
833         </exception>
834       </Docs>
835       <AssemblyInfo>
836         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
837         <AssemblyVersion>2.0.0.0</AssemblyVersion>
838       </AssemblyInfo>
839     </Member>
840     <Member MemberName="GetConfigurationValue">
841       <MemberSignature Language="C#" Value="public long GetConfigurationValue (Mono.Unix.Native.PathconfName name);" />
842       <MemberType>Method</MemberType>
843       <ReturnValue>
844         <ReturnType>System.Int64</ReturnType>
845       </ReturnValue>
846       <Parameters>
847         <Parameter Name="name" Type="Mono.Unix.Native.PathconfName" />
848       </Parameters>
849       <Docs>
850         <param name="name">A <see cref="T:Mono.Unix.Native.PathconfName" />
851           value specifying which configuration value to retreive.</param>
852         <summary>Gets a configurable system limit or option variable
853           associated with 
854           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
855         </summary>
856         <returns>A <see cref="T:System.Int64" /> containing the value
857           of the configuration variable <paramref name="name" />.
858           If there is no value for the configuration variable 
859           <paramref name="name" />, then <c>-1</c> is returned.
860         </returns>
861         <remarks>
862         </remarks>
863         <exception cref="T:System.ArgumentException">
864           The implementation does not support an association of 
865           <paramref name="name" /> with 
866           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
867         </exception>
868         <exception cref="T:System.UnauthorizedAccessException">
869           <para>Search permission is denied for a component of the path
870           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
871             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
872           </para>
873         </exception>
874         <exception cref="T:System.IO.DirectoryNotFoundException">
875           A component of the path prefix of 
876           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
877           directory.
878             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
879         </exception>
880         <exception cref="T:System.IO.FileNotFoundException">
881           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
882           that must exist does not exist.
883             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
884         </exception>
885         <exception cref="T:System.IO.PathTooLongException">
886           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
887             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
888         </exception>
889         <exception cref="T:System.IO.IOException">
890           An I/O error occurred while reading from or writing to the file
891           system.
892         </exception>
893         <exception cref="T:Mono.Unix.UnixIOException">
894           <para>Too many symbolic links were encountered in translating 
895           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
896             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
897           </para>
898         </exception>
899         <altmember cref="M:Mono.Unix.Native.Syscall.pathconf" />
900       </Docs>
901       <AssemblyInfo>
902         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
903         <AssemblyVersion>2.0.0.0</AssemblyVersion>
904       </AssemblyInfo>
905       <Attributes>
906         <Attribute>
907           <AttributeName>System.CLSCompliant(false)</AttributeName>
908         </Attribute>
909       </Attributes>
910     </Member>
911     <Member MemberName="GetFileStatus">
912       <MemberSignature Language="C#" Value="protected virtual bool GetFileStatus (string path, out Mono.Unix.Native.Stat stat);" />
913       <MemberType>Method</MemberType>
914       <ReturnValue>
915         <ReturnType>System.Boolean</ReturnType>
916       </ReturnValue>
917       <Parameters>
918         <Parameter Name="path" Type="System.String" />
919         <Parameter Name="stat" Type="Mono.Unix.Native.Stat&amp;" RefType="out" />
920       </Parameters>
921       <Docs>
922         <param name="path">A <see cref="T:System.String" /> containing the path
923           to retrieve information about</param>
924         <param name="stat">A <see cref="T:Mono.Unix.Native.Stat" /> which will
925           contain information about <paramref name="path" />.</param>
926         <summary>Gets file status information.</summary>
927         <returns>A <see cref="T:System.Boolean" /> specifying whether 
928           <paramref name="stat" /> was filled.  If <see langword="true" />, then 
929           <paramref name="path" /> exists and <paramref name="stat" /> contains
930           valid information.  Otherwise, <paramref name="path" /> is assumed to
931           not exist and <paramref name="stat" /> is assumed to contain invalid
932           information.
933         </returns>
934         <remarks>
935         </remarks>
936       </Docs>
937       <AssemblyInfo>
938         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
939         <AssemblyVersion>2.0.0.0</AssemblyVersion>
940       </AssemblyInfo>
941     </Member>
942     <Member MemberName="GetFileSystemEntry">
943       <MemberSignature Language="C#" Value="public static Mono.Unix.UnixFileSystemInfo GetFileSystemEntry (string path);" />
944       <MemberType>Method</MemberType>
945       <ReturnValue>
946         <ReturnType>Mono.Unix.UnixFileSystemInfo</ReturnType>
947       </ReturnValue>
948       <Parameters>
949         <Parameter Name="path" Type="System.String" />
950       </Parameters>
951       <Docs>
952         <param name="path">To be added.</param>
953         <summary>To be added.</summary>
954         <returns>To be added.</returns>
955         <remarks>To be added.</remarks>
956       </Docs>
957       <AssemblyInfo>
958         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
959         <AssemblyVersion>2.0.0.0</AssemblyVersion>
960       </AssemblyInfo>
961     </Member>
962     <Member MemberName="Inode">
963       <MemberSignature Language="C#" Value="public long Inode { get; }" />
964       <MemberType>Property</MemberType>
965       <ReturnValue>
966         <ReturnType>System.Int64</ReturnType>
967       </ReturnValue>
968       <Docs>
969         <summary>Gets the inode of this file system entry.</summary>
970         <value>A <see cref="T:System.Int64" /> containing the inode of this
971           file system entry.</value>
972         <remarks>
973         </remarks>
974         <exception cref="T:System.InvalidOperationException">
975           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
976         </exception>
977         <altmember cref="F:Mono.Unix.Native.Stat.st_ino" />
978         <altmember cref="F:Mono.Unix.Native.System.stat" />
979       </Docs>
980       <AssemblyInfo>
981         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
982         <AssemblyVersion>2.0.0.0</AssemblyVersion>
983       </AssemblyInfo>
984     </Member>
985     <Member MemberName="IsBlockDevice">
986       <MemberSignature Language="C#" Value="public bool IsBlockDevice { get; }" />
987       <MemberType>Property</MemberType>
988       <ReturnValue>
989         <ReturnType>System.Boolean</ReturnType>
990       </ReturnValue>
991       <Docs>
992         <summary>Is 
993           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
994           <see cref="F:Mono.Unix.FileTypes.BlockDevice" />?</summary>
995         <value>
996           A <see cref="T:System.Boolean" /> indicating whether or not 
997           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
998           <see cref="F:Mono.Unix.FileTypes.BlockDevice" />.
999         </value>
1000         <remarks>
1001           <para>This is equivalent to comparing 
1002             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1003             <see cref="F:Mono.Unix.FileTypes.BlockDevice" />.
1004           </para>
1005         </remarks>
1006         <exception cref="T:System.InvalidOperationException">
1007           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1008         </exception>
1009       </Docs>
1010       <AssemblyInfo>
1011         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1012         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1013       </AssemblyInfo>
1014     </Member>
1015     <Member MemberName="IsCharacterDevice">
1016       <MemberSignature Language="C#" Value="public bool IsCharacterDevice { get; }" />
1017       <MemberType>Property</MemberType>
1018       <ReturnValue>
1019         <ReturnType>System.Boolean</ReturnType>
1020       </ReturnValue>
1021       <Docs>
1022         <summary>Is 
1023           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
1024           <see cref="F:Mono.Unix.FileTypes.CharacterDevice" />?</summary>
1025         <value>
1026           A <see cref="T:System.Boolean" /> indicating whether or not 
1027           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
1028           <see cref="F:Mono.Unix.FileTypes.CharacterDevice" />.
1029         </value>
1030         <remarks>
1031           <para>This is equivalent to comparing 
1032             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1033             <see cref="F:Mono.Unix.FileTypes.CharacterDevice" />.
1034           </para>
1035         </remarks>
1036         <exception cref="T:System.InvalidOperationException">
1037           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1038         </exception>
1039       </Docs>
1040       <AssemblyInfo>
1041         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1042         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1043       </AssemblyInfo>
1044     </Member>
1045     <Member MemberName="IsDirectory">
1046       <MemberSignature Language="C#" Value="public bool IsDirectory { get; }" />
1047       <MemberType>Property</MemberType>
1048       <ReturnValue>
1049         <ReturnType>System.Boolean</ReturnType>
1050       </ReturnValue>
1051       <Docs>
1052         <summary>Is 
1053           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
1054           <see cref="F:Mono.Unix.FileTypes.Directory" />?</summary>
1055         <value>
1056           A <see cref="T:System.Boolean" /> indicating whether or not 
1057           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
1058           <see cref="F:Mono.Unix.FileTypes.Directory" />.
1059         </value>
1060         <remarks>
1061           <para>This is equivalent to comparing 
1062             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1063             <see cref="F:Mono.Unix.FileTypes.Directory" />.
1064           </para>
1065         </remarks>
1066         <exception cref="T:System.InvalidOperationException">
1067           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1068         </exception>
1069       </Docs>
1070       <AssemblyInfo>
1071         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1072         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1073       </AssemblyInfo>
1074     </Member>
1075     <Member MemberName="IsFifo">
1076       <MemberSignature Language="C#" Value="public bool IsFifo { get; }" />
1077       <MemberType>Property</MemberType>
1078       <ReturnValue>
1079         <ReturnType>System.Boolean</ReturnType>
1080       </ReturnValue>
1081       <Docs>
1082         <summary>Is 
1083           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
1084           <see cref="F:Mono.Unix.FileTypes.Fifo" />?</summary>
1085         <value>
1086           A <see cref="T:System.Boolean" /> indicating whether or not 
1087           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
1088           <see cref="F:Mono.Unix.FileTypes.Fifo" />.
1089         </value>
1090         <remarks>
1091           <para>This is equivalent to comparing 
1092             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1093             <see cref="F:Mono.Unix.FileTypes.Fifo" />.
1094           </para>
1095         </remarks>
1096         <exception cref="T:System.InvalidOperationException">
1097           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1098         </exception>
1099       </Docs>
1100       <AssemblyInfo>
1101         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1102         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1103       </AssemblyInfo>
1104     </Member>
1105     <Member MemberName="IsRegularFile">
1106       <MemberSignature Language="C#" Value="public bool IsRegularFile { get; }" />
1107       <MemberType>Property</MemberType>
1108       <ReturnValue>
1109         <ReturnType>System.Boolean</ReturnType>
1110       </ReturnValue>
1111       <Docs>
1112         <summary>Is 
1113           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
1114           <see cref="F:Mono.Unix.FileTypes.RegularFile" />?</summary>
1115         <value>
1116           A <see cref="T:System.Boolean" /> indicating whether or not 
1117           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
1118           <see cref="F:Mono.Unix.FileTypes.RegularFile" />.
1119         </value>
1120         <remarks>
1121           <para>This is equivalent to comparing 
1122             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1123             <see cref="F:Mono.Unix.FileTypes.RegularFile" />.
1124           </para>
1125         </remarks>
1126         <exception cref="T:System.InvalidOperationException">
1127           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1128         </exception>
1129       </Docs>
1130       <AssemblyInfo>
1131         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1132         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1133       </AssemblyInfo>
1134     </Member>
1135     <Member MemberName="IsSetGroup">
1136       <MemberSignature Language="C#" Value="public bool IsSetGroup { get; }" />
1137       <MemberType>Property</MemberType>
1138       <ReturnValue>
1139         <ReturnType>System.Boolean</ReturnType>
1140       </ReturnValue>
1141       <Docs>
1142         <summary>Does
1143           <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> include
1144           <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" />?</summary>
1145         <value>
1146           A <see cref="T:System.Boolean" /> indicating whether or not 
1147           <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> includes
1148           <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" />.
1149         </value>
1150         <remarks>
1151           <para>This is equivalent to comparing 
1152             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> with
1153             <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" />.
1154           </para>
1155         </remarks>
1156         <exception cref="T:System.InvalidOperationException">
1157           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1158         </exception>
1159       </Docs>
1160       <AssemblyInfo>
1161         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1162         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1163       </AssemblyInfo>
1164     </Member>
1165     <Member MemberName="IsSetUser">
1166       <MemberSignature Language="C#" Value="public bool IsSetUser { get; }" />
1167       <MemberType>Property</MemberType>
1168       <ReturnValue>
1169         <ReturnType>System.Boolean</ReturnType>
1170       </ReturnValue>
1171       <Docs>
1172         <summary>Does
1173           <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> include
1174           <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" />?</summary>
1175         <value>
1176           A <see cref="T:System.Boolean" /> indicating whether or not 
1177           <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> includes
1178           <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" />.
1179         </value>
1180         <remarks>
1181           <para>This is equivalent to comparing 
1182             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> with
1183             <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" />.
1184           </para>
1185         </remarks>
1186         <exception cref="T:System.InvalidOperationException">
1187           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1188         </exception>
1189       </Docs>
1190       <AssemblyInfo>
1191         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1192         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1193       </AssemblyInfo>
1194     </Member>
1195     <Member MemberName="IsSocket">
1196       <MemberSignature Language="C#" Value="public bool IsSocket { get; }" />
1197       <MemberType>Property</MemberType>
1198       <ReturnValue>
1199         <ReturnType>System.Boolean</ReturnType>
1200       </ReturnValue>
1201       <Docs>
1202         <summary>Is 
1203           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
1204           <see cref="F:Mono.Unix.FileTypes.Socket" />?</summary>
1205         <value>
1206           A <see cref="T:System.Boolean" /> indicating whether or not 
1207           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
1208           <see cref="F:Mono.Unix.FileTypes.Socket" />.
1209         </value>
1210         <remarks>
1211           <para>This is equivalent to comparing 
1212             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1213             <see cref="F:Mono.Unix.FileTypes.Socket" />.
1214           </para>
1215         </remarks>
1216         <exception cref="T:System.InvalidOperationException">
1217           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1218         </exception>
1219       </Docs>
1220       <AssemblyInfo>
1221         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1222         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1223       </AssemblyInfo>
1224     </Member>
1225     <Member MemberName="IsSticky">
1226       <MemberSignature Language="C#" Value="public bool IsSticky { get; }" />
1227       <MemberType>Property</MemberType>
1228       <ReturnValue>
1229         <ReturnType>System.Boolean</ReturnType>
1230       </ReturnValue>
1231       <Docs>
1232         <summary>Does
1233           <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> include
1234           <see cref="F:Mono.Unix.FileSpecialAttributes.Sticky" />?</summary>
1235         <value>
1236           A <see cref="T:System.Boolean" /> indicating whether or not 
1237           <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> includes
1238           <see cref="F:Mono.Unix.FileSpecialAttributes.Sticky" />.
1239         </value>
1240         <remarks>
1241           <para>This is equivalent to comparing 
1242             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" /> with
1243             <see cref="F:Mono.Unix.FileSpecialAttributes.Sticky" />.
1244           </para>
1245         </remarks>
1246         <exception cref="T:System.InvalidOperationException">
1247           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1248         </exception>
1249       </Docs>
1250       <AssemblyInfo>
1251         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1252         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1253       </AssemblyInfo>
1254     </Member>
1255     <Member MemberName="IsSymbolicLink">
1256       <MemberSignature Language="C#" Value="public bool IsSymbolicLink { get; }" />
1257       <MemberType>Property</MemberType>
1258       <ReturnValue>
1259         <ReturnType>System.Boolean</ReturnType>
1260       </ReturnValue>
1261       <Docs>
1262         <summary>Is 
1263           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> a 
1264           <see cref="F:Mono.Unix.FileTypes.SymbolicLink" />?</summary>
1265         <value>
1266           A <see cref="T:System.Boolean" /> indicating whether or not 
1267           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a 
1268           <see cref="F:Mono.Unix.FileTypes.SymbolicLink" />.
1269         </value>
1270         <remarks>
1271           <para>This is equivalent to comparing 
1272             <see cref="P:Mono.Unix.UnixFileSystemInfo.FileType" /> to 
1273             <see cref="F:Mono.Unix.FileTypes.SymbolicLink" />.
1274           </para>
1275         </remarks>
1276         <exception cref="T:System.InvalidOperationException">
1277           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1278         </exception>
1279       </Docs>
1280       <AssemblyInfo>
1281         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1282         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1283       </AssemblyInfo>
1284     </Member>
1285     <Member MemberName="LastAccessTime">
1286       <MemberSignature Language="C#" Value="public DateTime LastAccessTime { get; }" />
1287       <MemberType>Property</MemberType>
1288       <ReturnValue>
1289         <ReturnType>System.DateTime</ReturnType>
1290       </ReturnValue>
1291       <Docs>
1292         <summary>Gets or sets the last file access time expressed in local
1293         time.</summary>
1294         <value>The last access time of 
1295         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
1296         expressed in the local time.</value>
1297         <remarks>
1298         </remarks>
1299         <exception cref="T:System.InvalidOperationException">
1300           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1301         </exception>
1302         <altmember cref="F:Mono.Unix.Native.Stat.st_atime" />
1303         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1304       </Docs>
1305       <AssemblyInfo>
1306         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1307         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1308       </AssemblyInfo>
1309     </Member>
1310     <Member MemberName="LastAccessTimeUtc">
1311       <MemberSignature Language="C#" Value="public DateTime LastAccessTimeUtc { get; }" />
1312       <MemberType>Property</MemberType>
1313       <ReturnValue>
1314         <ReturnType>System.DateTime</ReturnType>
1315       </ReturnValue>
1316       <Docs>
1317         <summary>Gets or sets the last file access time expressed in
1318         coordinated universal time (UTC).</summary>
1319         <value>The last access time of 
1320         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
1321         expressed in coordinated universal time (UTC).</value>
1322         <remarks>
1323         </remarks>
1324         <exception cref="T:System.InvalidOperationException">
1325           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1326         </exception>
1327         <altmember cref="F:Mono.Unix.Native.Stat.st_atime" />
1328         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1329       </Docs>
1330       <AssemblyInfo>
1331         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1332         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1333       </AssemblyInfo>
1334     </Member>
1335     <Member MemberName="LastStatusChangeTime">
1336       <MemberSignature Language="C#" Value="public DateTime LastStatusChangeTime { get; }" />
1337       <MemberType>Property</MemberType>
1338       <ReturnValue>
1339         <ReturnType>System.DateTime</ReturnType>
1340       </ReturnValue>
1341       <Docs>
1342         <summary>Gets or sets the last status change time expressed in local
1343         time.</summary>
1344         <value>The last status change time of 
1345         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
1346         expressed in the local time.</value>
1347         <remarks>
1348         </remarks>
1349         <exception cref="T:System.InvalidOperationException">
1350           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1351         </exception>
1352         <altmember cref="F:Mono.Unix.Native.Stat.st_ctime" />
1353         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1354       </Docs>
1355       <AssemblyInfo>
1356         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1357         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1358       </AssemblyInfo>
1359     </Member>
1360     <Member MemberName="LastStatusChangeTimeUtc">
1361       <MemberSignature Language="C#" Value="public DateTime LastStatusChangeTimeUtc { get; }" />
1362       <MemberType>Property</MemberType>
1363       <ReturnValue>
1364         <ReturnType>System.DateTime</ReturnType>
1365       </ReturnValue>
1366       <Docs>
1367         <summary>Gets or sets the last status change time expressed in
1368         coordinated universal time (UTC).</summary>
1369         <value>The last status change time of 
1370         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
1371         expressed in coordinated universal time (UTC).</value>
1372         <remarks>
1373         </remarks>
1374         <exception cref="T:System.InvalidOperationException">
1375           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1376         </exception>
1377         <altmember cref="F:Mono.Unix.Native.Stat.st_ctime" />
1378         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1379       </Docs>
1380       <AssemblyInfo>
1381         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1382         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1383       </AssemblyInfo>
1384     </Member>
1385     <Member MemberName="LastWriteTime">
1386       <MemberSignature Language="C#" Value="public DateTime LastWriteTime { get; }" />
1387       <MemberType>Property</MemberType>
1388       <ReturnValue>
1389         <ReturnType>System.DateTime</ReturnType>
1390       </ReturnValue>
1391       <Docs>
1392         <summary>Gets or sets the last file write time expressed in local
1393         time.</summary>
1394         <value>The last write time of 
1395         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
1396         expressed in the local time.</value>
1397         <remarks>
1398         </remarks>
1399         <exception cref="T:System.InvalidOperationException">
1400           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1401         </exception>
1402         <altmember cref="F:Mono.Unix.Native.Stat.st_mtime" />
1403         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1404       </Docs>
1405       <AssemblyInfo>
1406         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1407         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1408       </AssemblyInfo>
1409     </Member>
1410     <Member MemberName="LastWriteTimeUtc">
1411       <MemberSignature Language="C#" Value="public DateTime LastWriteTimeUtc { get; }" />
1412       <MemberType>Property</MemberType>
1413       <ReturnValue>
1414         <ReturnType>System.DateTime</ReturnType>
1415       </ReturnValue>
1416       <Docs>
1417         <summary>Gets or sets the last file write time expressed in
1418         coordinated universal time (UTC).</summary>
1419         <value>The last write time of 
1420         <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
1421         expressed in coordinated universal time (UTC).</value>
1422         <remarks>
1423         </remarks>
1424         <exception cref="T:System.InvalidOperationException">
1425           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1426         </exception>
1427         <altmember cref="F:Mono.Unix.Native.Stat.st_mtime" />
1428         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1429       </Docs>
1430       <AssemblyInfo>
1431         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1432         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1433       </AssemblyInfo>
1434     </Member>
1435     <Member MemberName="Length">
1436       <MemberSignature Language="C#" Value="public long Length { get; }" />
1437       <MemberType>Property</MemberType>
1438       <ReturnValue>
1439         <ReturnType>System.Int64</ReturnType>
1440       </ReturnValue>
1441       <Docs>
1442         <summary>Gets the file system entry size, in bytes.</summary>
1443         <value>A <see cref="T:System.Int64" /> containing the size of this file
1444           system entry, in bytes.</value>
1445         <remarks>
1446         </remarks>
1447         <exception cref="T:System.InvalidOperationException">
1448           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1449         </exception>
1450         <altmember cref="F:Mono.Unix.Native.Stat.st_size" />
1451         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1452       </Docs>
1453       <AssemblyInfo>
1454         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1455         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1456       </AssemblyInfo>
1457     </Member>
1458     <Member MemberName="LinkCount">
1459       <MemberSignature Language="C#" Value="public long LinkCount { get; }" />
1460       <MemberType>Property</MemberType>
1461       <ReturnValue>
1462         <ReturnType>System.Int64</ReturnType>
1463       </ReturnValue>
1464       <Docs>
1465         <summary>Gets the current link count of this file system entry.</summary>
1466         <value>A <see cref="T:System.Int64" /> containing link count of this
1467           file system entry.</value>
1468         <remarks>
1469           <para>A link count is the number of file system entries that share
1470             this <see cref="P:Mono.Unix.UnixFileSystemInfo.Inode" />.
1471           </para>
1472           <para>
1473             Use 
1474             <see cref="M:Mono.Unix.UnixFileSystemInfo.GetConfigurationValue" />(<see cref="M:Mono.Unix.Native.PathconfName._PC_LINK_MAX" />) 
1475             to determine the maximum link count.
1476           </para>
1477         </remarks>
1478         <exception cref="T:System.InvalidOperationException">
1479           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1480         </exception>
1481       </Docs>
1482       <AssemblyInfo>
1483         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1484         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1485       </AssemblyInfo>
1486     </Member>
1487     <Member MemberName="Name">
1488       <MemberSignature Language="C#" Value="public abstract string Name { get; }" />
1489       <MemberType>Property</MemberType>
1490       <ReturnValue>
1491         <ReturnType>System.String</ReturnType>
1492       </ReturnValue>
1493       <Docs>
1494         <summary>The file system entry name.</summary>
1495         <value>A <see cref="T:System.String" /> containing the file system
1496           entry name.  
1497         </value>
1498         <remarks>
1499           <para>
1500             This will generally be 
1501             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> without the 
1502             directory name.
1503           </para>
1504         </remarks>
1505         <altmember cref="M:Mono.Unix.UnixPath.GetFileName" />
1506         <altmember cref="M:Mono.Unix.UnixPath.GetDirectoryName" />
1507       </Docs>
1508       <AssemblyInfo>
1509         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1510         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1511       </AssemblyInfo>
1512     </Member>
1513     <Member MemberName="OriginalPath">
1514       <MemberSignature Language="C#" Value="protected string OriginalPath { set; get; }" />
1515       <MemberType>Property</MemberType>
1516       <ReturnValue>
1517         <ReturnType>System.String</ReturnType>
1518       </ReturnValue>
1519       <Docs>
1520         <summary>The original string passed to the 
1521           <see cref="C:Mono.Unix.UnixFileSystemInfo(System.String)" />
1522           constructor.</summary>
1523         <value>A <see cref="T:System.String" /> containing 
1524           the original string passed to the 
1525           <see cref="C:Mono.Unix.UnixFileSystemInfo(System.String)" />
1526           constructor.  It may contain relative path information without a
1527           qualifying directory, if that's what was originally provided to the
1528           constructor.
1529         </value>
1530         <remarks>
1531           <para>This is primarily useful if you need relative path names
1532             instead of fully-qualified directory names, such as when dealing
1533             with symbolic links (with 
1534             <see cref="T:Mono.Unix.UnixSymbolicLinkInfo" />).
1535           </para>
1536           <para>It is possible for the object state to be inconsistent if 
1537             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is set but
1538             not <see cref="P:Mono.Unix.UnixFileSystemInfo.OriginalPath" />.
1539             All methods in this class do not use <c>OriginalPath</c> but use
1540             <c>FullPath</c>; subclasses such as 
1541             <see cref="T:Mono.Unix.UnixSymbolicLinkInfo" /> do use
1542             <c>OriginalPath</c>.  If <c>FullPath</c> is set then
1543             <c>OriginalPath</c> should also be set if possible for
1544             consistency.
1545           </para>
1546         </remarks>
1547       </Docs>
1548       <AssemblyInfo>
1549         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1550         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1551       </AssemblyInfo>
1552     </Member>
1553     <Member MemberName="OwnerGroup">
1554       <MemberSignature Language="C#" Value="public Mono.Unix.UnixGroupInfo OwnerGroup { get; }" />
1555       <MemberType>Property</MemberType>
1556       <ReturnValue>
1557         <ReturnType>Mono.Unix.UnixGroupInfo</ReturnType>
1558       </ReturnValue>
1559       <Docs>
1560         <summary>Gets information about the owner group.</summary>
1561         <value>A <see cref="T:Mono.Unix.UnixGroupInfo" /> instance containing
1562           information about the owner group.</value>
1563         <remarks>
1564           <para>This is identical to <see cref="C:Mono.Unix.UnixGroupInfo" />(<see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroupId" />).
1565           </para>
1566         </remarks>
1567         <exception cref="T:System.InvalidOperationException">
1568           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1569         </exception>
1570         <altmember cref="F:Mono.Unix.Native.Stat.st_gid" />
1571         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1572       </Docs>
1573       <AssemblyInfo>
1574         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1575         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1576       </AssemblyInfo>
1577     </Member>
1578     <Member MemberName="OwnerGroupId">
1579       <MemberSignature Language="C#" Value="public long OwnerGroupId { get; }" />
1580       <MemberType>Property</MemberType>
1581       <ReturnValue>
1582         <ReturnType>System.Int64</ReturnType>
1583       </ReturnValue>
1584       <Docs>
1585         <summary>Gets the owner group id.</summary>
1586         <value>A <see cref="T:System.Int64" /> containing the owner group id.</value>
1587         <remarks>
1588         </remarks>
1589         <exception cref="T:System.InvalidOperationException">
1590           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1591         </exception>
1592         <altmember cref="F:Mono.Unix.Native.Stat.st_gid" />
1593         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1594       </Docs>
1595       <AssemblyInfo>
1596         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1597         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1598       </AssemblyInfo>
1599     </Member>
1600     <Member MemberName="OwnerUser">
1601       <MemberSignature Language="C#" Value="public Mono.Unix.UnixUserInfo OwnerUser { get; }" />
1602       <MemberType>Property</MemberType>
1603       <ReturnValue>
1604         <ReturnType>Mono.Unix.UnixUserInfo</ReturnType>
1605       </ReturnValue>
1606       <Docs>
1607         <summary>Gets information about the owner user.</summary>
1608         <value>A <see cref="T:Mono.Unix.UnixUserInfo" /> containing information
1609           about the owner user.</value>
1610         <remarks>
1611           <para>This is identical to <see cref="C:Mono.Unix.UnixUserInfo" />(<see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUserId" />).
1612           </para>
1613         </remarks>
1614         <exception cref="T:System.InvalidOperationException">
1615           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1616         </exception>
1617         <altmember cref="F:Mono.Unix.Native.Stat.st_uid" />
1618         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1619       </Docs>
1620       <AssemblyInfo>
1621         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1622         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1623       </AssemblyInfo>
1624     </Member>
1625     <Member MemberName="OwnerUserId">
1626       <MemberSignature Language="C#" Value="public long OwnerUserId { get; }" />
1627       <MemberType>Property</MemberType>
1628       <ReturnValue>
1629         <ReturnType>System.Int64</ReturnType>
1630       </ReturnValue>
1631       <Docs>
1632         <summary>Gets the owner user id.</summary>
1633         <value>
1634           A <see cref="T:System.Int64" /> containing the owner user id.
1635         </value>
1636         <remarks>
1637         </remarks>
1638         <exception cref="T:System.InvalidOperationException">
1639           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1640         </exception>
1641         <altmember cref="F:Mono.Unix.Native.Stat.st_uid" />
1642         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1643       </Docs>
1644       <AssemblyInfo>
1645         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1646         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1647       </AssemblyInfo>
1648     </Member>
1649     <Member MemberName="Protection">
1650       <MemberSignature Language="C#" Value="public Mono.Unix.Native.FilePermissions Protection { set; get; }" />
1651       <MemberType>Property</MemberType>
1652       <Attributes>
1653         <Attribute>
1654           <AttributeName>System.CLSCompliant(false)</AttributeName>
1655         </Attribute>
1656       </Attributes>
1657       <ReturnValue>
1658         <ReturnType>Mono.Unix.Native.FilePermissions</ReturnType>
1659       </ReturnValue>
1660       <Docs>
1661         <summary>Gets or sets the file system entry protection.</summary>
1662         <value>A <see cref="T:Mono.Unix.Native.FilePermissions" /> value
1663           containing the file system entry protection.</value>
1664         <remarks>
1665         </remarks>
1666         <exception cref="T:System.InvalidOperationException">
1667           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
1668         </exception>
1669         <altmember cref="F:Mono.Unix.Native.Stat.st_mode" />
1670         <altmember cref="F:Mono.Unix.Native.Syscall.stat" />
1671       </Docs>
1672       <AssemblyInfo>
1673         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1674         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1675       </AssemblyInfo>
1676     </Member>
1677     <Member MemberName="Refresh">
1678       <MemberSignature Language="C#" Value="public void Refresh ();" />
1679       <MemberType>Method</MemberType>
1680       <ReturnValue>
1681         <ReturnType>System.Void</ReturnType>
1682       </ReturnValue>
1683       <Parameters />
1684       <Docs>
1685         <summary>Refreshes the file system metadata presented.</summary>
1686         <remarks>
1687           <para>This method does not throw exceptions.</para>
1688           <para>
1689             Many properties and members will throw a
1690             <see cref="T:System.InvalidOperationException" /> if 
1691             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't
1692             exist (that is, 
1693             <see cref="P:Mono.Unix.UnixFileSystemInfo.Exists" /> returns
1694             <see langword="false" />).
1695           </para>
1696           <para>
1697             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is checked
1698             during <see cref="T:Mono.Unix.UnixFileSystemInfo" /> creation and
1699             on every property access until the file is found.  Once found, the
1700             file will not be checked for until 
1701             <see cref="M:Mono.Unix.UnixFileSystemInfo.Refresh" /> is invoked.
1702           </para>
1703           <para>
1704             Consequently, if the file system entry is removed
1705             (via <see cref="M:Mono.Unix.UnixFileSystemInfo.Delete" /> or
1706             another process or some other means) or changed
1707             (written to, <c>touch(1)</c>'d, etc.), the information provided by
1708             this class will be stale and out of date.
1709           </para>
1710           <para>
1711             Use this method to refresh the information provided by this class.
1712           </para>
1713         </remarks>
1714       </Docs>
1715       <AssemblyInfo>
1716         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1717         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1718       </AssemblyInfo>
1719     </Member>
1720     <Member MemberName="SetLength">
1721       <MemberSignature Language="C#" Value="public void SetLength (long length);" />
1722       <MemberType>Method</MemberType>
1723       <ReturnValue>
1724         <ReturnType>System.Void</ReturnType>
1725       </ReturnValue>
1726       <Parameters>
1727         <Parameter Name="length" Type="System.Int64" />
1728       </Parameters>
1729       <Docs>
1730         <param name="length">A <see cref="T:System.Int64" /> containing the 
1731           desired file size for 
1732           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /></param>
1733         <summary>Truncate or extend 
1734           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> to be
1735           <paramref name="length" /> bytes in size.
1736         </summary>
1737         <remarks>
1738           <para>If <see cref="P:Mono.Unix.UnixFileSystemInfo.Length" /> is
1739             less than <paramref name="length" />, the file will be extended as
1740             if by writing bytes with the value zero.
1741           </para>
1742           <para>If <see cref="P:Mono.Unix.UnixFileSystemInfo.Length" /> is
1743             greater than <paramref name="length" />, then the extra data is
1744             lost.
1745           </para>
1746         </remarks>
1747         <exception cref="T:System.UnauthorizedAccessException">
1748           <para>Search permission is denied for a component of the path
1749           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1750             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
1751           </para>
1752           <para>-or-</para>
1753           <para>
1754             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not
1755             writable by the user.
1756             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
1757           </para>
1758           <para>-or-</para>
1759           <para>
1760             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a
1761           directory.
1762             [<see cref="F:Mono.Unix.Native.Errno.EISDIR" />]
1763           </para>
1764         </exception>
1765         <exception cref="T:System.IO.DirectoryNotFoundException">
1766           A component of the path prefix of 
1767           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
1768           directory.
1769             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
1770         </exception>
1771         <exception cref="T:System.IO.FileNotFoundException">
1772           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
1773           that must exist does not exist.
1774             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
1775         </exception>
1776         <exception cref="T:System.IO.IOException">
1777           <para>
1778             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> resides on a
1779           read-only file system.
1780             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
1781           </para>
1782           <para>-or-</para>
1783           <para>An I/O error occurred while making the directory entry or
1784           allocating the inode.
1785             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
1786           </para>
1787         </exception>
1788         <exception cref="T:System.IO.PathTooLongException">
1789           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
1790             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
1791         </exception>
1792         <exception cref="T:Mono.Unix.UnixIOException">
1793           <para>Too many symbolic links were encountered in translating 
1794           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1795             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
1796           </para>
1797           <para>-or-</para>
1798           <para>
1799             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is a
1800           pure procedure (shared text) file that is being executed and 
1801           <see cref="M:Mono.Unix.Native.Syscall.open" /> requests write
1802           access.
1803             [<see cref="F:Mono.Unix.Native.Errno.ETXTBSY" />]
1804           </para>
1805         </exception>
1806         <altmember cref="M:Mono.Unix.Native.Syscall.truncate" />
1807       </Docs>
1808       <AssemblyInfo>
1809         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1810         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1811       </AssemblyInfo>
1812     </Member>
1813     <Member MemberName="SetOwner">
1814       <MemberSignature Language="C#" Value="public void SetOwner (Mono.Unix.UnixUserInfo owner);" />
1815       <MemberType>Method</MemberType>
1816       <ReturnValue>
1817         <ReturnType>System.Void</ReturnType>
1818       </ReturnValue>
1819       <Parameters>
1820         <Parameter Name="owner" Type="Mono.Unix.UnixUserInfo" />
1821       </Parameters>
1822       <Docs>
1823         <param name="owner">A <see cref="T:Mono.Unix.UnixUserInfo" /> containing 
1824           information about the new owner user and owner group.
1825         </param>
1826         <summary>Set the owner user and owner group of
1827           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1828         </summary>
1829         <remarks>
1830           <para>
1831             If this is called by the non-super user (usually the <c>root</c>
1832             user), then the 
1833             <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> and
1834             <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> bits
1835             are cleared.
1836           </para>
1837           <para>
1838             Classes deriving from <see cref="T:Mono.Unix.UnixFileSystemInfo" />
1839             can change this method to operate on a different file.  This
1840             default version will follow symbolic links, changing the
1841             permissions of the symbolic link target instead of the symbolic
1842             link itself.
1843             <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.SetOwner" /> changes
1844             permissions on the symbolic link itself.
1845           </para>
1846           <para>
1847             This is (almost) equivalent to calling 
1848             <see cref="M:Mono.Unix.UnixFileSystemInfo.SetOwner" />(<paramref name="owner" />.UserId, 
1849             <paramref name="group" />.GroupId).
1850           </para>
1851           <para>
1852             This is (almost) equivalent to calling 
1853             <see cref="M:Mono.Unix.UnixFileSystemInfo.SetOwner" />(<paramref name="owner" />.UserId, 
1854             <paramref name="owner" />.GroupId).
1855           </para>
1856         </remarks>
1857         <exception cref="T:System.InvalidOperationException">
1858           The effective user ID does not match the owner of the file and the
1859           effective user ID is not the super-user.
1860             [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
1861         </exception>
1862         <exception cref="T:System.UnauthorizedAccessException">
1863           <para>Search permission is denied for a component of the path
1864           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1865             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
1866           </para>
1867         </exception>
1868         <exception cref="T:System.IO.DirectoryNotFoundException">
1869           A component of the path prefix of 
1870           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
1871           directory.
1872             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
1873         </exception>
1874         <exception cref="T:System.IO.FileNotFoundException">
1875           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
1876           that must exist does not exist.
1877             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
1878         </exception>
1879         <exception cref="T:System.IO.IOException">
1880           <para>
1881             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> resides on a
1882           read-only file system.
1883             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
1884           </para>
1885           <para>-or-</para>
1886           <para>An I/O error occurred while making the directory entry or
1887           allocating the inode.
1888             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
1889           </para>
1890         </exception>
1891         <exception cref="T:System.IO.PathTooLongException">
1892           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
1893             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
1894         </exception>
1895         <exception cref="T:Mono.Unix.UnixIOException">
1896           <para>Too many symbolic links were encountered in translating 
1897           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1898             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
1899           </para>
1900           <para>-or-</para>
1901           <para>An attempt was made to set the sticky bit upon an
1902             executable.
1903             [<see cref="F:Mono.Unix.Native.Errno.EFTYPE" />]
1904           </para>
1905         </exception>
1906         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
1907       </Docs>
1908       <AssemblyInfo>
1909         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1910         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1911       </AssemblyInfo>
1912     </Member>
1913     <Member MemberName="SetOwner">
1914       <MemberSignature Language="C#" Value="public void SetOwner (string owner);" />
1915       <MemberType>Method</MemberType>
1916       <ReturnValue>
1917         <ReturnType>System.Void</ReturnType>
1918       </ReturnValue>
1919       <Parameters>
1920         <Parameter Name="owner" Type="System.String" />
1921       </Parameters>
1922       <Docs>
1923         <param name="owner">A <see cref="T:System.String" /> containing the
1924           user name to use for the new user-id and group-id.</param>
1925         <summary>Set the owner user ID and owner group ID of
1926           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1927         </summary>
1928         <remarks>
1929           <para>The user <paramref name="owner" /> is looked up in the local 
1930             password database and the resulting 
1931             <see cref="P:Mono.Unix.UnixUserInfo.UserId" /> and 
1932             <see cref="P:Mono.Unix.UnixUserInfo.GroupId" /> are used as the new
1933             owner user id and owner group id for
1934             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1935           </para>
1936           <para>
1937             If this is called by the non-super user (usually the <c>root</c>
1938             user), then the 
1939             <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> and
1940             <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> bits
1941             are cleared.
1942           </para>
1943           <para>
1944             Classes deriving from <see cref="T:Mono.Unix.UnixFileSystemInfo" />
1945             can change this method to operate on a different file.  This
1946             default version will follow symbolic links, changing the
1947             permissions of the symbolic link target instead of the symbolic
1948             link itself.
1949             <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.SetOwner" /> changes
1950             permissions on the symbolic link itself.
1951           </para>
1952         </remarks>
1953         <exception cref="T:System.InvalidOperationException">
1954           The effective user ID does not match the owner of the file and the
1955           effective user ID is not the super-user.
1956             [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
1957         </exception>
1958         <exception cref="T:System.UnauthorizedAccessException">
1959           <para>Search permission is denied for a component of the path
1960           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1961             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
1962           </para>
1963         </exception>
1964         <exception cref="T:System.IO.DirectoryNotFoundException">
1965           A component of the path prefix of 
1966           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
1967           directory.
1968             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
1969         </exception>
1970         <exception cref="T:System.IO.FileNotFoundException">
1971           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
1972           that must exist does not exist.
1973             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
1974         </exception>
1975         <exception cref="T:System.IO.IOException">
1976           <para>
1977             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> resides on a
1978           read-only file system.
1979             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
1980           </para>
1981           <para>-or-</para>
1982           <para>An I/O error occurred while making the directory entry or
1983           allocating the inode.
1984             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
1985           </para>
1986         </exception>
1987         <exception cref="T:System.IO.PathTooLongException">
1988           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
1989             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
1990         </exception>
1991         <exception cref="T:Mono.Unix.UnixIOException">
1992           <para>Too many symbolic links were encountered in translating 
1993           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
1994             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
1995           </para>
1996           <para>-or-</para>
1997           <para>An attempt was made to set the sticky bit upon an
1998             executable.
1999             [<see cref="F:Mono.Unix.Native.Errno.EFTYPE" />]
2000           </para>
2001         </exception>
2002         <altmember cref="T:Mono.Unix.UnixUserInfo" />
2003         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
2004       </Docs>
2005       <AssemblyInfo>
2006         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2007         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2008       </AssemblyInfo>
2009     </Member>
2010     <Member MemberName="SetOwner">
2011       <MemberSignature Language="C#" Value="public void SetOwner (Mono.Unix.UnixUserInfo owner, Mono.Unix.UnixGroupInfo group);" />
2012       <MemberType>Method</MemberType>
2013       <ReturnValue>
2014         <ReturnType>System.Void</ReturnType>
2015       </ReturnValue>
2016       <Parameters>
2017         <Parameter Name="owner" Type="Mono.Unix.UnixUserInfo" />
2018         <Parameter Name="group" Type="Mono.Unix.UnixGroupInfo" />
2019       </Parameters>
2020       <Docs>
2021         <param name="owner">A <see cref="T:Mono.Unix.UnixUserInfo" /> containing 
2022           information about the new owner user.  If <see langword="null" />,
2023           the owner user id is unchanged.</param>
2024         <param name="group">A <see cref="T:Mono.Unix.UnixUserInfo" /> containing 
2025           information about the new owner group.  If <see langword="null" />,
2026           the owner group id is unchanged.</param>
2027         <summary>Set the owner user and owner group of
2028           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2029         </summary>
2030         <remarks>
2031           <para>
2032             If this is called by the non-super user (usually the <c>root</c>
2033             user), then the 
2034             <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> and
2035             <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> bits
2036             are cleared.
2037           </para>
2038           <para>
2039             Classes deriving from <see cref="T:Mono.Unix.UnixFileSystemInfo" />
2040             can change this method to operate on a different file.  This
2041             default version will follow symbolic links, changing the
2042             permissions of the symbolic link target instead of the symbolic
2043             link itself.
2044             <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.SetOwner" /> changes
2045             permissions on the symbolic link itself.
2046           </para>
2047           <para>
2048             This is (almost) equivalent to calling 
2049             <see cref="M:Mono.Unix.UnixFileSystemInfo.SetOwner" />(<paramref name="owner" />.UserId, 
2050             <paramref name="group" />.GroupId).
2051           </para>
2052         </remarks>
2053         <exception cref="T:System.InvalidOperationException">
2054           The effective user ID does not match the owner of the file and the
2055           effective user ID is not the super-user.
2056             [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
2057         </exception>
2058         <exception cref="T:System.UnauthorizedAccessException">
2059           <para>Search permission is denied for a component of the path
2060           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2061             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
2062           </para>
2063         </exception>
2064         <exception cref="T:System.IO.DirectoryNotFoundException">
2065           A component of the path prefix of 
2066           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
2067           directory.
2068             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
2069         </exception>
2070         <exception cref="T:System.IO.FileNotFoundException">
2071           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
2072           that must exist does not exist.
2073             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
2074         </exception>
2075         <exception cref="T:System.IO.IOException">
2076           <para>
2077             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> resides on a
2078           read-only file system.
2079             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
2080           </para>
2081           <para>-or-</para>
2082           <para>An I/O error occurred while making the directory entry or
2083           allocating the inode.
2084             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
2085           </para>
2086         </exception>
2087         <exception cref="T:System.IO.PathTooLongException">
2088           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
2089             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
2090         </exception>
2091         <exception cref="T:Mono.Unix.UnixIOException">
2092           <para>Too many symbolic links were encountered in translating 
2093           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2094             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
2095           </para>
2096           <para>-or-</para>
2097           <para>An attempt was made to set the sticky bit upon an
2098             executable.
2099             [<see cref="F:Mono.Unix.Native.Errno.EFTYPE" />]
2100           </para>
2101         </exception>
2102         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
2103       </Docs>
2104       <AssemblyInfo>
2105         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2106         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2107       </AssemblyInfo>
2108     </Member>
2109     <Member MemberName="SetOwner">
2110       <MemberSignature Language="C#" Value="public virtual void SetOwner (long owner, long group);" />
2111       <MemberType>Method</MemberType>
2112       <ReturnValue>
2113         <ReturnType>System.Void</ReturnType>
2114       </ReturnValue>
2115       <Parameters>
2116         <Parameter Name="owner" Type="System.Int64" />
2117         <Parameter Name="group" Type="System.Int64" />
2118       </Parameters>
2119       <Docs>
2120         <param name="owner">A <see cref="T:System.Int64" /> containing the user
2121           id of the new owner user.  If <c>-1</c>, the owner user id is
2122           unchanged.</param>
2123         <param name="group">A <see cref="T:System.Int64" /> containing the
2124           group id of the new owner group.  If <c>-1</c>, the owner group id is
2125           unchanged.</param>
2126         <summary>Set the owner user ID and owner group ID of
2127           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2128         </summary>
2129         <remarks>
2130           <para>
2131             If this is called by the non-super user (usually the <c>root</c>
2132             user), then the 
2133             <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> and
2134             <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> bits
2135             are cleared.
2136           </para>
2137           <para>
2138             Classes deriving from <see cref="T:Mono.Unix.UnixFileSystemInfo" />
2139             can change this method to operate on a different file.  This
2140             default version will follow symbolic links, changing the
2141             permissions of the symbolic link target instead of the symbolic
2142             link itself.
2143             <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.SetOwner" /> changes
2144             permissions on the symbolic link itself.
2145           </para>
2146         </remarks>
2147         <exception cref="T:System.InvalidOperationException">
2148           The effective user ID does not match the owner of the file and the
2149           effective user ID is not the super-user.
2150             [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
2151         </exception>
2152         <exception cref="T:System.UnauthorizedAccessException">
2153           <para>Search permission is denied for a component of the path
2154           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2155             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
2156           </para>
2157         </exception>
2158         <exception cref="T:System.IO.DirectoryNotFoundException">
2159           A component of the path prefix of 
2160           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
2161           directory.
2162             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
2163         </exception>
2164         <exception cref="T:System.IO.FileNotFoundException">
2165           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
2166           that must exist does not exist.
2167             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
2168         </exception>
2169         <exception cref="T:System.IO.IOException">
2170           <para>
2171             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> resides on a
2172           read-only file system.
2173             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
2174           </para>
2175           <para>-or-</para>
2176           <para>An I/O error occurred while making the directory entry or
2177           allocating the inode.
2178             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
2179           </para>
2180         </exception>
2181         <exception cref="T:System.IO.PathTooLongException">
2182           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
2183             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
2184         </exception>
2185         <exception cref="T:Mono.Unix.UnixIOException">
2186           <para>Too many symbolic links were encountered in translating 
2187           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2188             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
2189           </para>
2190           <para>-or-</para>
2191           <para>An attempt was made to set the sticky bit upon an
2192             executable.
2193             [<see cref="F:Mono.Unix.Native.Errno.EFTYPE" />]
2194           </para>
2195         </exception>
2196         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
2197       </Docs>
2198       <AssemblyInfo>
2199         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2200         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2201       </AssemblyInfo>
2202     </Member>
2203     <Member MemberName="SetOwner">
2204       <MemberSignature Language="C#" Value="public void SetOwner (string owner, string group);" />
2205       <MemberType>Method</MemberType>
2206       <ReturnValue>
2207         <ReturnType>System.Void</ReturnType>
2208       </ReturnValue>
2209       <Parameters>
2210         <Parameter Name="owner" Type="System.String" />
2211         <Parameter Name="group" Type="System.String" />
2212       </Parameters>
2213       <Docs>
2214         <param name="owner">A <see cref="T:System.String" /> containing the 
2215           user name of the owner user id to use.</param>
2216         <param name="group">A <see cref="T:System.String" /> containing the 
2217           group name of the owner group id to use.</param>
2218         <summary>Set the owner user ID and owner group ID of
2219           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2220         </summary>
2221         <remarks>
2222           <para>
2223             If this is called by the non-super user (usually the <c>root</c>
2224             user), then the 
2225             <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> and
2226             <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> bits
2227             are cleared.
2228           </para>
2229           <para>
2230             Classes deriving from <see cref="T:Mono.Unix.UnixFileSystemInfo" />
2231             can change this method to operate on a different file.  This
2232             default version will follow symbolic links, changing the
2233             permissions of the symbolic link target instead of the symbolic
2234             link itself.
2235             <see cref="M:Mono.Unix.UnixSymbolicLinkInfo.SetOwner" /> changes
2236             permissions on the symbolic link itself.
2237           </para>
2238         </remarks>
2239         <exception cref="T:System.InvalidOperationException">
2240           The effective user ID does not match the owner of the file and the
2241           effective user ID is not the super-user.
2242             [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
2243         </exception>
2244         <exception cref="T:System.UnauthorizedAccessException">
2245           <para>Search permission is denied for a component of the path
2246           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2247             [<see cref="F:Mono.Unix.Native.Errno.EACCES" />]
2248           </para>
2249         </exception>
2250         <exception cref="T:System.IO.DirectoryNotFoundException">
2251           A component of the path prefix of 
2252           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
2253           directory.
2254             [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
2255         </exception>
2256         <exception cref="T:System.IO.FileNotFoundException">
2257           A component of <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> 
2258           that must exist does not exist.
2259             [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
2260         </exception>
2261         <exception cref="T:System.IO.IOException">
2262           <para>
2263             <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> resides on a
2264           read-only file system.
2265             [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
2266           </para>
2267           <para>-or-</para>
2268           <para>An I/O error occurred while making the directory entry or
2269           allocating the inode.
2270             [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
2271           </para>
2272         </exception>
2273         <exception cref="T:System.IO.PathTooLongException">
2274           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
2275             [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
2276         </exception>
2277         <exception cref="T:Mono.Unix.UnixIOException">
2278           <para>Too many symbolic links were encountered in translating 
2279           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2280             [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
2281           </para>
2282           <para>-or-</para>
2283           <para>An attempt was made to set the sticky bit upon an
2284             executable.
2285             [<see cref="F:Mono.Unix.Native.Errno.EFTYPE" />]
2286           </para>
2287         </exception>
2288         <altmember cref="T:Mono.Unix.UnixUserInfo" />
2289         <altmember cref="T:Mono.Unix.UnixGroupInfo" />
2290         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
2291       </Docs>
2292       <AssemblyInfo>
2293         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2294         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2295       </AssemblyInfo>
2296     </Member>
2297     <Member MemberName="ToStat">
2298       <MemberSignature Language="C#" Value="public Mono.Unix.Native.Stat ToStat ();" />
2299       <MemberType>Method</MemberType>
2300       <ReturnValue>
2301         <ReturnType>Mono.Unix.Native.Stat</ReturnType>
2302       </ReturnValue>
2303       <Parameters />
2304       <Docs>
2305         <summary>Converts the instance into a 
2306           <see cref="T:Mono.Unix.Native.Stat" /> intance.</summary>
2307         <returns>A <see cref="T:Mono.Unix.Native.Stat" /> which contains
2308           information about <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
2309         </returns>
2310         <remarks>
2311         </remarks>
2312         <exception cref="T:System.InvalidOperationException">
2313           <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> doesn't exist.
2314         </exception>
2315       </Docs>
2316       <AssemblyInfo>
2317         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2318         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2319       </AssemblyInfo>
2320     </Member>
2321     <Member MemberName="ToString">
2322       <MemberSignature Language="C#" Value="public override string ToString ();" />
2323       <MemberType>Method</MemberType>
2324       <ReturnValue>
2325         <ReturnType>System.String</ReturnType>
2326       </ReturnValue>
2327       <Parameters />
2328       <Docs>
2329         <summary>To be added.</summary>
2330         <returns>To be added.</returns>
2331         <remarks>To be added.</remarks>
2332       </Docs>
2333       <AssemblyInfo>
2334         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2335         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2336       </AssemblyInfo>
2337     </Member>
2338   </Members>
2339 </Type>