1 <Type Name="UnixDirectoryInfo" FullName="Mono.Unix.UnixDirectoryInfo">
2 <TypeSignature Language="C#" Value="public sealed class UnixDirectoryInfo : Mono.Unix.UnixFileSystemInfo" />
3 <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit UnixDirectoryInfo extends Mono.Unix.UnixFileSystemInfo" />
5 <AssemblyName>Mono.Posix</AssemblyName>
6 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7 <AssemblyVersion>2.0.0.0</AssemblyVersion>
8 <AssemblyVersion>4.0.0.0</AssemblyVersion>
10 <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
12 <BaseTypeName>Mono.Unix.UnixFileSystemInfo</BaseTypeName>
16 <summary>Represents information about a directory in the filesystem.</summary>
18 <para>The <see cref="T:Mono.Unix.UnixDirectoryInfo" /> class presents
19 information about a directory. It also allows basic manipulations of
20 filesystem structure:</para>
23 <term>Directory creation with
24 <see cref="M:Mono.Unix.UnixDirectoryInfo.Create" />.</term>
27 <term>Directory deletion (and optional file deletion) with
28 <see cref="M:Mono.Unix.UnixDirectoryInfo.Delete" />.</term>
32 <see cref="M:Mono.Unix.UnixDirectoryInfo.SetCurrentDirectory" />.</term>
35 <term>Listing with <see cref="M:Mono.Unix.UnixDirectoryInfo.GetEntries" /> and
36 <see cref="M:Mono.Unix.UnixDirectoryInfo.GetFileSystemEntries" />.</term>
40 <altmember cref="T:Mono.Unix.UnixFileInfo" />
41 <altmember cref="T:Mono.Unix.UnixSymbolicLinkInfo" />
44 <Member MemberName=".ctor">
45 <MemberSignature Language="C#" Value="public UnixDirectoryInfo (string path);" />
46 <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string path) cil managed" />
47 <MemberType>Constructor</MemberType>
49 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
50 <AssemblyVersion>2.0.0.0</AssemblyVersion>
51 <AssemblyVersion>4.0.0.0</AssemblyVersion>
54 <Parameter Name="path" Type="System.String" />
57 <param name="path">A <see cref="T:System.String" /> containing the directory to query.</param>
58 <summary>Creates a new <see cref="T:Mono.Unix.UnixDirectoryInfo" />
59 instance containing information about the directory
60 <paramref name="path" />.</summary>
62 <para>The <paramref name="path" /> argument is permitted to specify
63 relative or absolute path information. Relative path information is
64 interpreted as relative to the current working directory.
65 <block subset="none" type="note">To obtain the current working
67 <see cref="M:.Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" />.
69 <para>It is valid to construct
70 <see cref="T:Mono.Unix.UnixDirectoryInfo" /> objects for directories
71 that do not exist or for files. However, attempts to use
72 the <see cref="T:Mono.Unix.UnixDirectoryInfo" /> instance may
73 generate <see cref="T:System.InvalidOperationException" />s.
74 Use <see cref="P:Mono.Unix.UnixFileSystemInfo.Exists" /> to see if
75 <paramref name="path" /> exists and
76 <see cref="P:Mono.Unix.UnixFileSystemInfo.IsDirectory" /> to ensure
77 that <paramref name="path" /> is a directory.</para>
79 <exception cref="T:System.ArgumentNullException">
80 <paramref name="path" /> is <see langword="null" />.
82 <exception cref="T:System.ArgumentException">
83 <paramref name="path" /> contains invalid characters; see
84 <see cref="M:Mono.Unix.UnixPath.GetInvalidPathChars" />.
88 <Member MemberName="Create">
89 <MemberSignature Language="C#" Value="public void Create ();" />
90 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Create() cil managed" />
91 <MemberType>Method</MemberType>
93 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
94 <AssemblyVersion>2.0.0.0</AssemblyVersion>
95 <AssemblyVersion>4.0.0.0</AssemblyVersion>
98 <ReturnType>System.Void</ReturnType>
102 <summary>Create the directory
103 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
104 <remarks>This is identical to calling
105 <c><see cref="M:Mono.Unix.UnixDirectoryInfo.Create" />
106 (<see cref="F:Mono.Unix.FileAccessPermissions.AllPermissions" />)</c>.
107 <block subset="none" type="note">
108 The <c>Create</c> obeys the process'
109 <see cref="M:Mono.Unix.Native.Syscall.umask" /> value.
111 <exception cref="T:System.UnauthorizedAccessException">
112 <para>Search permission is denied for a component of
113 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
114 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
117 <para>Write permission is denied on the parent directory of
118 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
119 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
122 <exception cref="T:System.IO.DirectoryNotFoundException">
124 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
126 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
128 <exception cref="T:System.IO.FileNotFoundException">
129 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
131 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
133 <exception cref="T:System.IO.IOException">
134 <para>An I/O error occurred while making the file system entry or
135 allocating the inode.
136 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
139 <para>An I/O error occurred while reading from or writing to the
141 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
144 <para>The directory entry to be created resides in a read-only file
146 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
150 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
151 be created because there is no space left on the filesystem that
152 will contain the directory. See
153 <see cref="P:Mono.Unix.UnixDriveInfo.AvailableFreeSpace" />.
154 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
157 <para>There are no free inodes on the file system on which the
158 directory is being created.
159 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
162 <exception cref="T:System.IO.PathTooLongException">
163 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
164 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
166 <exception cref="T:Mono.Unix.UnixIOException">
167 <para>Too many symbolic links were encountered in translating
168 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
169 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
173 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> already
175 [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
179 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
180 be created because the user's quota of disk blocks on the file
181 system that will contain the directory has been exhausted.
182 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
186 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
187 be created because the user's quota of inodes on the file system on
188 which the directory is being created has been exhausted.
189 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
194 <Member MemberName="Create">
195 <MemberSignature Language="C#" Value="public void Create (Mono.Unix.FileAccessPermissions mode);" />
196 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Create(valuetype Mono.Unix.FileAccessPermissions mode) cil managed" />
197 <MemberType>Method</MemberType>
199 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
200 <AssemblyVersion>2.0.0.0</AssemblyVersion>
201 <AssemblyVersion>4.0.0.0</AssemblyVersion>
204 <ReturnType>System.Void</ReturnType>
207 <Parameter Name="mode" Type="Mono.Unix.FileAccessPermissions" />
211 <see cref="T:Mono.Unix.Native.FilePermissions" /> instance containing
212 the file permissions the created directory should have.</param>
213 <summary>Create the directory
214 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
216 <block subset="none" type="note">
217 The <c>Create</c> obeys the process'
218 <see cref="M:Mono.Unix.Native.Syscall.umask" /> value.
221 <exception cref="T:System.UnauthorizedAccessException">
222 <para>Search permission is denied for a component of
223 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
224 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
227 <para>Write permission is denied on the parent directory of
228 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
229 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
232 <exception cref="T:System.IO.DirectoryNotFoundException">
234 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
236 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
238 <exception cref="T:System.IO.FileNotFoundException">
239 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
241 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
243 <exception cref="T:System.IO.IOException">
244 <para>An I/O error occurred while making the file system entry or
245 allocating the inode.
246 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
249 <para>An I/O error occurred while reading from or writing to the
251 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
254 <para>The directory entry to be created resides in a read-only file
256 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
260 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
261 be created because there is no space left on the filesystem that
262 will contain the directory. See
263 <see cref="P:Mono.Unix.UnixDriveInfo.AvailableFreeSpace" />.
264 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
267 <para>There are no free inodes on the file system on which the
268 directory is being created.
269 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
272 <exception cref="T:System.IO.PathTooLongException">
273 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
274 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
276 <exception cref="T:Mono.Unix.UnixIOException">
277 <para>Too many symbolic links were encountered in translating
278 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
279 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
283 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> already
285 [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
289 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
290 be created because the user's quota of disk blocks on the file
291 system that will contain the directory has been exhausted.
292 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
296 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
297 be created because the user's quota of inodes on the file system on
298 which the directory is being created has been exhausted.
299 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
302 <altmember cref="M:Mono.Unix.Native.Syscall.mkdir" />
305 <Member MemberName="Create">
306 <MemberSignature Language="C#" Value="public void Create (Mono.Unix.Native.FilePermissions mode);" />
307 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Create(valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
308 <MemberType>Method</MemberType>
310 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
311 <AssemblyVersion>2.0.0.0</AssemblyVersion>
312 <AssemblyVersion>4.0.0.0</AssemblyVersion>
316 <AttributeName>System.CLSCompliant(false)</AttributeName>
320 <ReturnType>System.Void</ReturnType>
323 <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
327 <see cref="T:Mono.Unix.Native.FilePermissions" /> instance containing
328 the file permissions the created directory should have.</param>
329 <summary>Create the directory
330 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
333 <exception cref="T:System.UnauthorizedAccessException">
334 <para>Search permission is denied for a component of
335 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
336 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
339 <para>Write permission is denied on the parent directory of
340 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
341 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
344 <exception cref="T:System.IO.DirectoryNotFoundException">
346 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
348 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
350 <exception cref="T:System.IO.FileNotFoundException">
351 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
353 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
355 <exception cref="T:System.IO.IOException">
356 <para>An I/O error occurred while making the file system entry or
357 allocating the inode.
358 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
361 <para>An I/O error occurred while reading from or writing to the
363 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
366 <para>The directory entry to be created resides in a read-only file
368 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
372 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
373 be created because there is no space left on the filesystem that
374 will contain the directory. See
375 <see cref="P:Mono.Unix.UnixDriveInfo.AvailableFreeSpace" />.
376 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
379 <para>There are no free inodes on the file system on which the
380 directory is being created.
381 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
384 <exception cref="T:System.IO.PathTooLongException">
385 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
386 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
388 <exception cref="T:Mono.Unix.UnixIOException">
389 <para>Too many symbolic links were encountered in translating
390 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
391 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
395 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> already
397 [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
401 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
402 be created because the user's quota of disk blocks on the file
403 system that will contain the directory has been exhausted.
404 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
408 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
409 be created because the user's quota of inodes on the file system on
410 which the directory is being created has been exhausted.
411 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
414 <altmember cref="M:Mono.Unix.Native.Syscall.mkdir" />
417 <Member MemberName="Delete">
418 <MemberSignature Language="C#" Value="public override void Delete ();" />
419 <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Delete() cil managed" />
420 <MemberType>Method</MemberType>
422 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
423 <AssemblyVersion>2.0.0.0</AssemblyVersion>
424 <AssemblyVersion>4.0.0.0</AssemblyVersion>
427 <ReturnType>System.Void</ReturnType>
431 <summary>To be added.</summary>
432 <remarks>To be added.</remarks>
435 <Member MemberName="Delete">
436 <MemberSignature Language="C#" Value="public void Delete (bool recursive);" />
437 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Delete(bool recursive) cil managed" />
438 <MemberType>Method</MemberType>
440 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
441 <AssemblyVersion>2.0.0.0</AssemblyVersion>
442 <AssemblyVersion>4.0.0.0</AssemblyVersion>
445 <ReturnType>System.Void</ReturnType>
448 <Parameter Name="recursive" Type="System.Boolean" />
451 <param name="recursive">Specify <see langword="true" /> to delete all files
452 and sub-directories in <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />;
453 otherwise, specify <see langword="false" />.</param>
454 <summary>Deletes <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
455 and, if indicated, removes all files and directories within
456 Deletes <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
460 <see langword="false" /> is the default value for the
461 <paramref name="recursive" /> parameter. Thus,
462 <see cref="M:Mono.Unix.UnixFileSystemInfo.Delete" /> is not a
463 recursive delete.</para>
465 <exception cref="T:System.InvalidOperationException">
466 <para>The filesystem containing
467 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
468 support the removal of file system entries.
469 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
472 <para>The directory containing
473 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
474 has the <see cref="F:Mono.Unix.FileSpecialAttributes.Sticky" /> bit
475 set and the process's
476 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" /> is
477 neither the uid of the file to be deleted nor that of the directory
479 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
482 <exception cref="T:System.UnauthorizedAccessException">
483 <para>Write access to the directory containing
484 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was not
485 allowed for the processe's effective user id
486 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" />.
487 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
490 <para>One of the directories in
491 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> did not have
492 search (execute) permissions.
493 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
496 <exception cref="T:System.IO.DirectoryNotFoundException">
498 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
500 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
502 <exception cref="T:System.IO.FileNotFoundException">
503 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
505 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
507 <exception cref="T:System.IO.IOException">
509 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> contains
510 files other than '<c>.</c>' and '<c>..</c>' in it.
511 [<see cref="F:Mono.Unix.Native.Errno.ENOTEMPTY" />]
514 <para>An I/O error occurred while deleting the file system entry or
515 deallocating the inode.
516 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
519 <para>The directory entry to be removed resides in a read-only file
521 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
524 <exception cref="T:System.IO.PathTooLongException">
525 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
526 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
528 <exception cref="T:Mono.Unix.UnixIOException">
529 <para>Too many symbolic links were encountered in translating
530 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
531 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
534 <para>The directory to be removed is the mount point for a mounted
536 [<see cref="F:Mono.Unix.Native.Errno.EBUSY" />]
539 <altmember cref="M:Mono.Unix.Native.rmdir" />
542 <Member MemberName="GetCurrentDirectory">
543 <MemberSignature Language="C#" Value="public static string GetCurrentDirectory ();" />
544 <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetCurrentDirectory() cil managed" />
545 <MemberType>Method</MemberType>
547 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
548 <AssemblyVersion>2.0.0.0</AssemblyVersion>
549 <AssemblyVersion>4.0.0.0</AssemblyVersion>
552 <ReturnType>System.String</ReturnType>
556 <summary>Returns the application's current working directory.</summary>
558 <para>A <see cref="T:System.String" /> containing the path of the current working directory.</para>
562 <exception cref="T:System.UnauthorizedAccessException">
563 Permission to read or search a component of the current working
564 directory was denied.
565 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
567 <exception cref="T:System.IO.FileNotFoundException">
568 The current working directory has been unlinked.
569 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
571 <altmember cref="M:Mono.Unix.Native.Syscall.getcwd" />
574 <Member MemberName="GetEntries">
575 <MemberSignature Language="C#" Value="public Mono.Unix.Native.Dirent[] GetEntries ();" />
576 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.Native.Dirent[] GetEntries() cil managed" />
577 <MemberType>Method</MemberType>
579 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
580 <AssemblyVersion>2.0.0.0</AssemblyVersion>
581 <AssemblyVersion>4.0.0.0</AssemblyVersion>
584 <ReturnType>Mono.Unix.Native.Dirent[]</ReturnType>
588 <summary>Returnes the directory entries of all file system entries in
589 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
590 <returns>A <see cref="T:Mono.Unix.Native.Dirent" /> array containing
591 all file system entries within the
592 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
595 <para>The <see cref="F:Mono.Unix.Native.Dirent.d_name" /> field of
596 the returned <see cref="T:Mono.Unix.Native.Dirent" /> instances only
597 contains the file system entry name, not the fully qualified file
598 system entry name. Thus, to use these values in further code they
599 must be qualified with
600 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, e.g.
601 <c><see cref="M:Mono.Unix.UnixPath.Combine" />
602 (<see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />,
603 <paramref name="dirent[index]" />.<see cref="F:Mono.Unix.Native.Dirent.d_name" />)</c>.</para>
605 <exception cref="T:System.UnauthorizedAccessException">
606 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
607 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
609 <exception cref="T:System.IO.DirectoryNotFoundException">
610 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
612 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
614 <exception cref="T:System.IO.FileNotFoundException">
615 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
616 or is an empty string.
617 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
619 <exception cref="T:Mono.Unix.UnixIOException">
620 <para>Insufficient memory to complete the operation.
621 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
624 <para>Too many file descriptors in use by the process.
625 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
628 <para>Too many files are currently open in the system.
629 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
634 <Member MemberName="GetEntries">
635 <MemberSignature Language="C#" Value="public Mono.Unix.Native.Dirent[] GetEntries (string regex);" />
636 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.Native.Dirent[] GetEntries(string regex) cil managed" />
637 <MemberType>Method</MemberType>
639 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
640 <AssemblyVersion>2.0.0.0</AssemblyVersion>
641 <AssemblyVersion>4.0.0.0</AssemblyVersion>
644 <ReturnType>Mono.Unix.Native.Dirent[]</ReturnType>
647 <Parameter Name="regex" Type="System.String" />
650 <param name="regex">A <see cref="T:System.String" /> containing a
651 regular expression that is used for matching against directory entry
653 <summary>Returnes the directory entries of all file system entries in
654 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory
655 that match the provided regular expression <paramref name="regex" />.</summary>
656 <returns>A <see cref="T:Mono.Unix.Native.Dirent" /> array containing
657 all file system entries within the
658 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
662 <paramref name="regex" /> is matched against
663 <see cref="F:Mono.Unix.Native.Dirent.d_name" /> for all file system
664 entries found.</para>
665 <para>The <see cref="F:Mono.Unix.Native.Dirent.d_name" /> field of
666 the returned <see cref="T:Mono.Unix.Native.Dirent" /> instances only
667 contains the file system entry name, not the fully qualified file
668 system entry name. Thus, to use these values in further code they
669 must be qualified with
670 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, e.g.
671 <c><see cref="M:Mono.Unix.UnixPath.Combine" />
672 (<see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />,
673 <paramref name="dirent[index]" />.<see cref="F:Mono.Unix.Native.Dirent.d_name" />)</c>.</para>
675 <exception cref="T:System.UnauthorizedAccessException">
676 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
677 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
679 <exception cref="T:System.IO.DirectoryNotFoundException">
680 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
682 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
684 <exception cref="T:System.IO.FileNotFoundException">
685 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
686 or is an empty string.
687 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
689 <exception cref="T:Mono.Unix.UnixIOException">
690 <para>Insufficient memory to complete the operation.
691 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
694 <para>Too many file descriptors in use by the process.
695 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
698 <para>Too many files are currently open in the system.
699 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
704 <Member MemberName="GetEntries">
705 <MemberSignature Language="C#" Value="public Mono.Unix.Native.Dirent[] GetEntries (System.Text.RegularExpressions.Regex regex);" />
706 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.Native.Dirent[] GetEntries(class System.Text.RegularExpressions.Regex regex) cil managed" />
707 <MemberType>Method</MemberType>
709 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
710 <AssemblyVersion>2.0.0.0</AssemblyVersion>
711 <AssemblyVersion>4.0.0.0</AssemblyVersion>
714 <ReturnType>Mono.Unix.Native.Dirent[]</ReturnType>
717 <Parameter Name="regex" Type="System.Text.RegularExpressions.Regex" />
720 <param name="regex">A
721 <see cref="T:System.Text.RegularExpressions.Regex" /> instance which
722 is used for matching against directory entry names.</param>
723 <summary>Returnes the directory entries of all file system entries in
724 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory
725 that match the provided regular expression <paramref name="regex" />.</summary>
726 <returns>A <see cref="T:Mono.Unix.Native.Dirent" /> array containing
727 all file system entries within the
728 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
732 <paramref name="regex" /> is matched against
733 <see cref="F:Mono.Unix.Native.Dirent.d_name" /> for all file system
734 entries found.</para>
735 <para>The <see cref="F:Mono.Unix.Native.Dirent.d_name" /> field of
736 the returned <see cref="T:Mono.Unix.Native.Dirent" /> instances only
737 contains the file system entry name, not the fully qualified file
738 system entry name. Thus, to use these values in further code they
739 must be qualified with
740 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, e.g.
741 <c><see cref="M:Mono.Unix.UnixPath.Combine" />
742 (<see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />,
743 <paramref name="dirent[index]" />.<see cref="F:Mono.Unix.Native.Dirent.d_name" />)</c>.</para>
745 <exception cref="T:System.UnauthorizedAccessException">
746 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
747 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
749 <exception cref="T:System.IO.DirectoryNotFoundException">
750 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
752 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
754 <exception cref="T:System.IO.FileNotFoundException">
755 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
756 or is an empty string.
757 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
759 <exception cref="T:Mono.Unix.UnixIOException">
760 <para>Insufficient memory to complete the operation.
761 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
764 <para>Too many file descriptors in use by the process.
765 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
768 <para>Too many files are currently open in the system.
769 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
774 <Member MemberName="GetFileSystemEntries">
775 <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries ();" />
776 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries() cil managed" />
777 <MemberType>Method</MemberType>
779 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
780 <AssemblyVersion>2.0.0.0</AssemblyVersion>
781 <AssemblyVersion>4.0.0.0</AssemblyVersion>
784 <ReturnType>Mono.Unix.UnixFileSystemInfo[]</ReturnType>
788 <summary>Returnes all the file system entries
789 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
790 <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> array containing
791 all file system entries within the
792 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
796 <exception cref="T:System.UnauthorizedAccessException">
797 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
798 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
800 <exception cref="T:System.IO.DirectoryNotFoundException">
801 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
803 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
805 <exception cref="T:System.IO.FileNotFoundException">
806 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
807 or is an empty string.
808 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
810 <exception cref="T:Mono.Unix.UnixIOException">
811 <para>Insufficient memory to complete the operation.
812 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
815 <para>Too many file descriptors in use by the process.
816 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
819 <para>Too many files are currently open in the system.
820 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
825 <Member MemberName="GetFileSystemEntries">
826 <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries (string regex);" />
827 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries(string regex) cil managed" />
828 <MemberType>Method</MemberType>
830 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
831 <AssemblyVersion>2.0.0.0</AssemblyVersion>
832 <AssemblyVersion>4.0.0.0</AssemblyVersion>
835 <ReturnType>Mono.Unix.UnixFileSystemInfo[]</ReturnType>
838 <Parameter Name="regex" Type="System.String" />
841 <param name="regex">A <see cref="T:System.String" /> containing a
842 regular expression that is used for matching against directory entry
844 <summary>Returnes all the file system entries
845 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
846 <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> array containing
847 all file system entries within the
848 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
852 <exception cref="T:System.UnauthorizedAccessException">
853 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
854 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
856 <exception cref="T:System.IO.DirectoryNotFoundException">
857 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
859 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
861 <exception cref="T:System.IO.FileNotFoundException">
862 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
863 or is an empty string.
864 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
866 <exception cref="T:Mono.Unix.UnixIOException">
867 <para>Insufficient memory to complete the operation.
868 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
871 <para>Too many file descriptors in use by the process.
872 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
875 <para>Too many files are currently open in the system.
876 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
881 <Member MemberName="GetFileSystemEntries">
882 <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries (System.Text.RegularExpressions.Regex regex);" />
883 <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries(class System.Text.RegularExpressions.Regex regex) cil managed" />
884 <MemberType>Method</MemberType>
886 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
887 <AssemblyVersion>2.0.0.0</AssemblyVersion>
888 <AssemblyVersion>4.0.0.0</AssemblyVersion>
891 <ReturnType>Mono.Unix.UnixFileSystemInfo[]</ReturnType>
894 <Parameter Name="regex" Type="System.Text.RegularExpressions.Regex" />
897 <param name="regex">A
898 <see cref="T:System.Text.RegularExpressions.Regex" /> instance which
899 is used for matching against directory entry names.</param>
900 <summary>Returnes all the file system entries
901 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
902 <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> array containing
903 all file system entries within the
904 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
908 <exception cref="T:System.UnauthorizedAccessException">
909 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
910 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
912 <exception cref="T:System.IO.DirectoryNotFoundException">
913 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
915 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
917 <exception cref="T:System.IO.FileNotFoundException">
918 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
919 or is an empty string.
920 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
922 <exception cref="T:Mono.Unix.UnixIOException">
923 <para>Insufficient memory to complete the operation.
924 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
927 <para>Too many file descriptors in use by the process.
928 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
931 <para>Too many files are currently open in the system.
932 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
937 <Member MemberName="Name">
938 <MemberSignature Language="C#" Value="public override string Name { get; }" />
939 <MemberSignature Language="ILAsm" Value=".property instance string Name" />
940 <MemberType>Property</MemberType>
942 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
943 <AssemblyVersion>2.0.0.0</AssemblyVersion>
944 <AssemblyVersion>4.0.0.0</AssemblyVersion>
947 <ReturnType>System.String</ReturnType>
950 <summary>To be added.</summary>
951 <value>To be added.</value>
952 <remarks>To be added.</remarks>
955 <Member MemberName="Parent">
956 <MemberSignature Language="C#" Value="public Mono.Unix.UnixDirectoryInfo Parent { get; }" />
957 <MemberSignature Language="ILAsm" Value=".property instance class Mono.Unix.UnixDirectoryInfo Parent" />
958 <MemberType>Property</MemberType>
960 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
961 <AssemblyVersion>2.0.0.0</AssemblyVersion>
962 <AssemblyVersion>4.0.0.0</AssemblyVersion>
965 <ReturnType>Mono.Unix.UnixDirectoryInfo</ReturnType>
968 <summary>Gets information about the parent directory.</summary>
969 <value>If the parent directory can be found, a
970 <see cref="T:Mono.Unix.UnixDirectoryInfo" /> instance
971 containing information about the parent directory. Otherwise,
972 <see langword="null" /> is returned.</value>
975 <altmember cref="M:Mono.Unix.UnixPath.GetDirectoryName" />
978 <Member MemberName="Root">
979 <MemberSignature Language="C#" Value="public Mono.Unix.UnixDirectoryInfo Root { get; }" />
980 <MemberSignature Language="ILAsm" Value=".property instance class Mono.Unix.UnixDirectoryInfo Root" />
981 <MemberType>Property</MemberType>
983 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
984 <AssemblyVersion>2.0.0.0</AssemblyVersion>
985 <AssemblyVersion>4.0.0.0</AssemblyVersion>
988 <ReturnType>Mono.Unix.UnixDirectoryInfo</ReturnType>
991 <summary>Gets the path root component of
992 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />. </summary>
993 <value>A <see cref="T:Mono.Unix.UnixDirectoryInfo" /> containing
994 information about the path root component for
995 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</value>
996 <remarks>This is generally identical to
997 <c>new <see cref="T:Mono.Unix.UnixDirectoryInfo" />("/")</c>.</remarks>
998 <altmember cref="M:Mono.Unix.UnixPath.GetPathRoot" />
1001 <Member MemberName="SetCurrentDirectory">
1002 <MemberSignature Language="C#" Value="public static void SetCurrentDirectory (string path);" />
1003 <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetCurrentDirectory(string path) cil managed" />
1004 <MemberType>Method</MemberType>
1006 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1007 <AssemblyVersion>2.0.0.0</AssemblyVersion>
1008 <AssemblyVersion>4.0.0.0</AssemblyVersion>
1011 <ReturnType>System.Void</ReturnType>
1014 <Parameter Name="path" Type="System.String" />
1017 <param name="path">A <see cref="T:System.String" /> containing the path to which the current working directory is set.</param>
1018 <summary>Sets the application's current working directory to the
1019 specified directory.</summary>
1021 <para>The <paramref name="path" /> argument is permitted to specify
1022 relative or absolute path information. Relative path information is
1023 interpreted as relative to the current working directory.
1024 <block subset="none" type="note">To obtain the current working
1026 <see cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" qualify="true" />.
1029 <exception cref="T:System.UnauthorizedAccessException">
1030 The process cannot access <paramref name="path" />.
1031 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
1033 <exception cref="T:System.IO.DirectoryNotFoundException">
1034 A component of <paramref name="path" /> is not a directory.
1035 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
1037 <exception cref="T:System.IO.FileNotFoundException">
1038 <paramref name="path" /> does not exist.
1039 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
1041 <exception cref="T:System.IO.PathTooLongException">
1042 <paramref name="path" /> is too long.
1043 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
1045 <exception cref="T:System.IO.IOException">
1046 An I/O error occurred.
1047 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
1049 <exception cref="T:Mono.Unix.UnixIOException">
1050 Too many symbolic links were encountered in resolving
1051 <paramref name="path" />.
1052 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
1054 <altmember cref="M:Mono.Unix.Native.Syscall.chdir" />