1 <Type Name="UnixDirectoryInfo" FullName="Mono.Unix.UnixDirectoryInfo">
2 <TypeSignature Language="C#" Value="public sealed class UnixDirectoryInfo : Mono.Unix.UnixFileSystemInfo" />
4 <AssemblyName>Mono.Posix</AssemblyName>
5 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6 <AssemblyVersion>2.0.0.0</AssemblyVersion>
8 <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
10 <BaseTypeName>Mono.Unix.UnixFileSystemInfo</BaseTypeName>
14 <summary>Represents information about a directory in the filesystem.</summary>
16 <para>The <see cref="T:Mono.Unix.UnixDirectoryInfo" /> class presents
17 information about a directory. It also allows basic manipulations of
18 filesystem structure:</para>
21 <term>Directory creation with
22 <see cref="M:Mono.Unix.UnixDirectoryInfo.Create" />.</term>
25 <term>Directory deletion (and optional file deletion) with
26 <see cref="M:Mono.Unix.UnixDirectoryInfo.Delete" />.</term>
30 <see cref="M:Mono.Unix.UnixDirectoryInfo.SetCurrentDirectory" />.</term>
33 <term>Listing with <see cref="M:Mono.Unix.UnixDirectoryInfo.GetEntries" /> and
34 <see cref="M:Mono.Unix.UnixDirectoryInfo.GetFileSystemEntries" />.</term>
38 <altmember cref="T:Mono.Unix.UnixFileInfo" />
39 <altmember cref="T:Mono.Unix.UnixSymbolicLinkInfo" />
42 <Member MemberName=".ctor">
43 <MemberSignature Language="C#" Value="public UnixDirectoryInfo (string path);" />
44 <MemberType>Constructor</MemberType>
46 <Parameter Name="path" Type="System.String" />
49 <param name="path">A <see cref="T:System.String" /> containing the directory to query.</param>
50 <summary>Creates a new <see cref="T:Mono.Unix.UnixDirectoryInfo" />
51 instance containing information about the directory
52 <paramref name="path" />.</summary>
54 <para>The <paramref name="path" /> argument is permitted to specify
55 relative or absolute path information. Relative path information is
56 interpreted as relative to the current working directory.
57 <block subset="none" type="note">To obtain the current working
59 <see cref="M:.Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" />.
61 <para>It is valid to construct
62 <see cref="T:Mono.Unix.UnixDirectoryInfo" /> objects for directories
63 that do not exist or for files. However, attempts to use
64 the <see cref="T:Mono.Unix.UnixDirectoryInfo" /> instance may
65 generate <see cref="T:System.InvalidOperationException" />s.
66 Use <see cref="P:Mono.Unix.UnixFileSystemInfo.Exists" /> to see if
67 <paramref name="path" /> exists and
68 <see cref="P:Mono.Unix.UnixFileSystemInfo.IsDirectory" /> to ensure
69 that <paramref name="path" /> is a directory.</para>
71 <exception cref="T:System.ArgumentNullException">
72 <paramref name="path" /> is <see langword="null" />.
74 <exception cref="T:System.ArgumentException">
75 <paramref name="path" /> contains invalid characters; see
76 <see cref="M:Mono.Unix.UnixPath.GetInvalidPathChars" />.
80 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
81 <AssemblyVersion>2.0.0.0</AssemblyVersion>
84 <Member MemberName="Create">
85 <MemberSignature Language="C#" Value="public void Create ();" />
86 <MemberType>Method</MemberType>
88 <ReturnType>System.Void</ReturnType>
92 <summary>Create the directory
93 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
94 <remarks>This is identical to calling
95 <see cref="M:Mono.Unix.UnixDirectoryInfo.Create" />
96 (<see cref="F:Mono.Unix.FileAccessPermissions.AllPermissions" />).</remarks>
97 <exception cref="T:System.UnauthorizedAccessException">
98 <para>Search permission is denied for a component of
99 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
100 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
103 <para>Write permission is denied on the parent directory of
104 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
105 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
108 <exception cref="T:System.IO.DirectoryNotFoundException">
110 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
112 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
114 <exception cref="T:System.IO.FileNotFoundException">
115 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
117 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
119 <exception cref="T:System.IO.IOException">
120 <para>An I/O error occurred while making the file system entry or
121 allocating the inode.
122 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
125 <para>An I/O error occurred while reading from or writing to the
127 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
130 <para>The directory entry to be created resides in a read-only file
132 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
136 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
137 be created because there is no space left on the filesystem that
138 will contain the directory. See
139 <see cref="P:Mono.Unix.UnixDriveInfo.AvailableFreeSpace" />.
140 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
143 <para>There are no free inodes on the file system on which the
144 directory is being created.
145 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
148 <exception cref="T:System.IO.PathTooLongException">
149 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
150 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
152 <exception cref="T:Mono.Unix.UnixIOException">
153 <para>Too many symbolic links were encountered in translating
154 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
155 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
159 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> already
161 [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
165 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
166 be created because the user's quota of disk blocks on the file
167 system that will contain the directory has been exhausted.
168 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
172 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
173 be created because the user's quota of inodes on the file system on
174 which the directory is being created has been exhausted.
175 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
180 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
181 <AssemblyVersion>2.0.0.0</AssemblyVersion>
184 <Member MemberName="Create">
185 <MemberSignature Language="C#" Value="public void Create (Mono.Unix.FileAccessPermissions mode);" />
186 <MemberType>Method</MemberType>
188 <ReturnType>System.Void</ReturnType>
191 <Parameter Name="mode" Type="Mono.Unix.FileAccessPermissions" />
195 <see cref="T:Mono.Unix.Native.FilePermissions" /> instance containing
196 the file permissions the created directory should have.</param>
197 <summary>Create the directory
198 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
201 <exception cref="T:System.UnauthorizedAccessException">
202 <para>Search permission is denied for a component of
203 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
204 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
207 <para>Write permission is denied on the parent directory of
208 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
209 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
212 <exception cref="T:System.IO.DirectoryNotFoundException">
214 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
216 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
218 <exception cref="T:System.IO.FileNotFoundException">
219 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
221 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
223 <exception cref="T:System.IO.IOException">
224 <para>An I/O error occurred while making the file system entry or
225 allocating the inode.
226 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
229 <para>An I/O error occurred while reading from or writing to the
231 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
234 <para>The directory entry to be created resides in a read-only file
236 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
240 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
241 be created because there is no space left on the filesystem that
242 will contain the directory. See
243 <see cref="P:Mono.Unix.UnixDriveInfo.AvailableFreeSpace" />.
244 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
247 <para>There are no free inodes on the file system on which the
248 directory is being created.
249 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
252 <exception cref="T:System.IO.PathTooLongException">
253 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
254 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
256 <exception cref="T:Mono.Unix.UnixIOException">
257 <para>Too many symbolic links were encountered in translating
258 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
259 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
263 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> already
265 [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
269 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
270 be created because the user's quota of disk blocks on the file
271 system that will contain the directory has been exhausted.
272 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
276 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
277 be created because the user's quota of inodes on the file system on
278 which the directory is being created has been exhausted.
279 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
282 <altmember cref="M:Mono.Unix.Native.Syscall.mkdir" />
285 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
286 <AssemblyVersion>2.0.0.0</AssemblyVersion>
289 <Member MemberName="Create">
290 <MemberSignature Language="C#" Value="public void Create (Mono.Unix.Native.FilePermissions mode);" />
291 <MemberType>Method</MemberType>
293 <ReturnType>System.Void</ReturnType>
296 <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
300 <see cref="T:Mono.Unix.Native.FilePermissions" /> instance containing
301 the file permissions the created directory should have.</param>
302 <summary>Create the directory
303 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</summary>
306 <exception cref="T:System.UnauthorizedAccessException">
307 <para>Search permission is denied for a component of
308 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
309 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
312 <para>Write permission is denied on the parent directory of
313 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
314 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
317 <exception cref="T:System.IO.DirectoryNotFoundException">
319 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
321 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
323 <exception cref="T:System.IO.FileNotFoundException">
324 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
326 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
328 <exception cref="T:System.IO.IOException">
329 <para>An I/O error occurred while making the file system entry or
330 allocating the inode.
331 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
334 <para>An I/O error occurred while reading from or writing to the
336 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
339 <para>The directory entry to be created resides in a read-only file
341 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
345 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
346 be created because there is no space left on the filesystem that
347 will contain the directory. See
348 <see cref="P:Mono.Unix.UnixDriveInfo.AvailableFreeSpace" />.
349 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
352 <para>There are no free inodes on the file system on which the
353 directory is being created.
354 [<see cref="F:Mono.Unix.Native.Errno.ENOSPC" />]
357 <exception cref="T:System.IO.PathTooLongException">
358 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
359 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
361 <exception cref="T:Mono.Unix.UnixIOException">
362 <para>Too many symbolic links were encountered in translating
363 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
364 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
368 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> already
370 [<see cref="F:Mono.Unix.Native.Errno.EEXIST" />]
374 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
375 be created because the user's quota of disk blocks on the file
376 system that will contain the directory has been exhausted.
377 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
381 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> cannot
382 be created because the user's quota of inodes on the file system on
383 which the directory is being created has been exhausted.
384 [<see cref="F:Mono.Unix.Native.Errno.EDQUOT" />]
387 <altmember cref="M:Mono.Unix.Native.Syscall.mkdir" />
390 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
391 <AssemblyVersion>2.0.0.0</AssemblyVersion>
395 <AttributeName>System.CLSCompliant(false)</AttributeName>
399 <Member MemberName="Delete">
400 <MemberSignature Language="C#" Value="public override void Delete ();" />
401 <MemberType>Method</MemberType>
403 <ReturnType>System.Void</ReturnType>
407 <summary>To be added.</summary>
408 <remarks>To be added.</remarks>
411 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
412 <AssemblyVersion>2.0.0.0</AssemblyVersion>
415 <Member MemberName="Delete">
416 <MemberSignature Language="C#" Value="public void Delete (bool recursive);" />
417 <MemberType>Method</MemberType>
419 <ReturnType>System.Void</ReturnType>
422 <Parameter Name="recursive" Type="System.Boolean" />
425 <param name="recursive">Specify <see langword="true" /> to delete all files
426 and sub-directories in <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />;
427 otherwise, specify <see langword="false" />.</param>
428 <summary>Deletes <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
429 and, if indicated, removes all files and directories within
430 Deletes <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
434 <see langword="false" /> is the default value for the
435 <paramref name="recursive" /> parameter. Thus,
436 <see cref="M:Mono.Unix.UnixFileSystemInfo.Delete" /> is not a
437 recursive delete.</para>
439 <exception cref="T:System.InvalidOperationException">
440 <para>The filesystem containing
441 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
442 support the removal of file system entries.
443 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
446 <para>The directory containing
447 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />
448 has the <see cref="F:Mono.Unix.FileSpecialAttributes.Sticky" /> bit
449 set and the process's
450 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" /> is
451 neither the uid of the file to be deleted nor that of the directory
453 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />]
456 <exception cref="T:System.UnauthorizedAccessException">
457 <para>Write access to the directory containing
458 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was not
459 allowed for the processe's effective user id
460 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" />.
461 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
464 <para>One of the directories in
465 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> did not have
466 search (execute) permissions.
467 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
470 <exception cref="T:System.IO.DirectoryNotFoundException">
472 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> is not a
474 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
476 <exception cref="T:System.IO.FileNotFoundException">
477 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> does not
479 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
481 <exception cref="T:System.IO.IOException">
483 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> contains
484 files other than '<c>.</c>' and '<c>..</c>' in it.
485 [<see cref="F:Mono.Unix.Native.Errno.ENOTEMPTY" />]
488 <para>An I/O error occurred while deleting the file system entry or
489 deallocating the inode.
490 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
493 <para>The directory entry to be removed resides in a read-only file
495 [<see cref="F:Mono.Unix.Native.Errno.EROFS" />]
498 <exception cref="T:System.IO.PathTooLongException">
499 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" /> was too long.
500 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
502 <exception cref="T:Mono.Unix.UnixIOException">
503 <para>Too many symbolic links were encountered in translating
504 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.
505 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
508 <para>The directory to be removed is the mount point for a mounted
510 [<see cref="F:Mono.Unix.Native.Errno.EBUSY" />]
513 <altmember cref="M:Mono.Unix.Native.rmdir" />
516 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
517 <AssemblyVersion>2.0.0.0</AssemblyVersion>
520 <Member MemberName="GetCurrentDirectory">
521 <MemberSignature Language="C#" Value="public static string GetCurrentDirectory ();" />
522 <MemberType>Method</MemberType>
524 <ReturnType>System.String</ReturnType>
528 <summary>Returns the application's current working directory.</summary>
530 <para>A <see cref="T:System.String" /> containing the path of the current working directory.</para>
534 <exception cref="T:System.UnauthorizedAccessException">
535 Permission to read or search a component of the current working
536 directory was denied.
537 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
539 <exception cref="T:System.IO.FileNotFoundException">
540 The current working directory has been unlinked.
541 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
543 <altmember cref="M:Mono.Unix.Native.Syscall.getcwd" />
546 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
547 <AssemblyVersion>2.0.0.0</AssemblyVersion>
550 <Member MemberName="GetEntries">
551 <MemberSignature Language="C#" Value="public Mono.Unix.Native.Dirent[] GetEntries ();" />
552 <MemberType>Method</MemberType>
554 <ReturnType>Mono.Unix.Native.Dirent[]</ReturnType>
558 <summary>Returnes the directory entries of all file system entries in
559 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
560 <returns>A <see cref="T:Mono.Unix.Native.Dirent" /> array containing
561 all file system entries within the
562 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
565 <para>The <see cref="F:Mono.Unix.Native.Dirent.d_name" /> field of
566 the returned <see cref="T:Mono.Unix.Native.Dirent" /> instances only
567 contains the file system entry name, not the fully qualified file
568 system entry name. Thus, to use these values in further code they
569 must be qualified with
570 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, e.g.
571 <c><see cref="M:Mono.Unix.UnixPath.Combine" />
572 (<see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />,
573 <paramref name="dirent[index]" />.<see cref="F:Mono.Unix.Native.Dirent.d_name" />)</c>.</para>
575 <exception cref="T:System.UnauthorizedAccessException">
576 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
577 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
579 <exception cref="T:System.IO.DirectoryNotFoundException">
580 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
582 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
584 <exception cref="T:System.IO.FileNotFoundException">
585 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
586 or is an empty string.
587 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
589 <exception cref="T:Mono.Unix.UnixIOException">
590 <para>Insufficient memory to complete the operation.
591 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
594 <para>Too many file descriptors in use by the process.
595 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
598 <para>Too many files are currently open in the system.
599 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
604 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
605 <AssemblyVersion>2.0.0.0</AssemblyVersion>
608 <Member MemberName="GetEntries">
609 <MemberSignature Language="C#" Value="public Mono.Unix.Native.Dirent[] GetEntries (string regex);" />
610 <MemberType>Method</MemberType>
612 <ReturnType>Mono.Unix.Native.Dirent[]</ReturnType>
615 <Parameter Name="regex" Type="System.String" />
618 <param name="regex">A <see cref="T:System.String" /> containing a
619 regular expression that is used for matching against directory entry
621 <summary>Returnes the directory entries of all file system entries in
622 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory
623 that match the provided regular expression <paramref name="regex" />.</summary>
624 <returns>A <see cref="T:Mono.Unix.Native.Dirent" /> array containing
625 all file system entries within the
626 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
630 <paramref name="regex" /> is matched against
631 <see cref="F:Mono.Unix.Native.Dirent.d_name" /> for all file system
632 entries found.</para>
633 <para>The <see cref="F:Mono.Unix.Native.Dirent.d_name" /> field of
634 the returned <see cref="T:Mono.Unix.Native.Dirent" /> instances only
635 contains the file system entry name, not the fully qualified file
636 system entry name. Thus, to use these values in further code they
637 must be qualified with
638 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, e.g.
639 <c><see cref="M:Mono.Unix.UnixPath.Combine" />
640 (<see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />,
641 <paramref name="dirent[index]" />.<see cref="F:Mono.Unix.Native.Dirent.d_name" />)</c>.</para>
643 <exception cref="T:System.UnauthorizedAccessException">
644 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
645 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
647 <exception cref="T:System.IO.DirectoryNotFoundException">
648 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
650 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
652 <exception cref="T:System.IO.FileNotFoundException">
653 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
654 or is an empty string.
655 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
657 <exception cref="T:Mono.Unix.UnixIOException">
658 <para>Insufficient memory to complete the operation.
659 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
662 <para>Too many file descriptors in use by the process.
663 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
666 <para>Too many files are currently open in the system.
667 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
672 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
673 <AssemblyVersion>2.0.0.0</AssemblyVersion>
676 <Member MemberName="GetEntries">
677 <MemberSignature Language="C#" Value="public Mono.Unix.Native.Dirent[] GetEntries (System.Text.RegularExpressions.Regex regex);" />
678 <MemberType>Method</MemberType>
680 <ReturnType>Mono.Unix.Native.Dirent[]</ReturnType>
683 <Parameter Name="regex" Type="System.Text.RegularExpressions.Regex" />
686 <param name="regex">A
687 <see cref="T:System.Text.RegularExpressions.Regex" /> instance which
688 is used for matching against directory entry names.</param>
689 <summary>Returnes the directory entries of all file system entries in
690 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory
691 that match the provided regular expression <paramref name="regex" />.</summary>
692 <returns>A <see cref="T:Mono.Unix.Native.Dirent" /> array containing
693 all file system entries within the
694 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
698 <paramref name="regex" /> is matched against
699 <see cref="F:Mono.Unix.Native.Dirent.d_name" /> for all file system
700 entries found.</para>
701 <para>The <see cref="F:Mono.Unix.Native.Dirent.d_name" /> field of
702 the returned <see cref="T:Mono.Unix.Native.Dirent" /> instances only
703 contains the file system entry name, not the fully qualified file
704 system entry name. Thus, to use these values in further code they
705 must be qualified with
706 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />, e.g.
707 <c><see cref="M:Mono.Unix.UnixPath.Combine" />
708 (<see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />,
709 <paramref name="dirent[index]" />.<see cref="F:Mono.Unix.Native.Dirent.d_name" />)</c>.</para>
711 <exception cref="T:System.UnauthorizedAccessException">
712 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
713 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
715 <exception cref="T:System.IO.DirectoryNotFoundException">
716 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
718 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
720 <exception cref="T:System.IO.FileNotFoundException">
721 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
722 or is an empty string.
723 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
725 <exception cref="T:Mono.Unix.UnixIOException">
726 <para>Insufficient memory to complete the operation.
727 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
730 <para>Too many file descriptors in use by the process.
731 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
734 <para>Too many files are currently open in the system.
735 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
740 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
741 <AssemblyVersion>2.0.0.0</AssemblyVersion>
744 <Member MemberName="GetFileSystemEntries">
745 <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries ();" />
746 <MemberType>Method</MemberType>
748 <ReturnType>Mono.Unix.UnixFileSystemInfo[]</ReturnType>
752 <summary>Returnes all the file system entries
753 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
754 <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> array containing
755 all file system entries within the
756 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
760 <exception cref="T:System.UnauthorizedAccessException">
761 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
762 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
764 <exception cref="T:System.IO.DirectoryNotFoundException">
765 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
767 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
769 <exception cref="T:System.IO.FileNotFoundException">
770 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
771 or is an empty string.
772 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
774 <exception cref="T:Mono.Unix.UnixIOException">
775 <para>Insufficient memory to complete the operation.
776 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
779 <para>Too many file descriptors in use by the process.
780 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
783 <para>Too many files are currently open in the system.
784 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
789 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
790 <AssemblyVersion>2.0.0.0</AssemblyVersion>
793 <Member MemberName="GetFileSystemEntries">
794 <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries (string regex);" />
795 <MemberType>Method</MemberType>
797 <ReturnType>Mono.Unix.UnixFileSystemInfo[]</ReturnType>
800 <Parameter Name="regex" Type="System.String" />
803 <param name="regex">A <see cref="T:System.String" /> containing a
804 regular expression that is used for matching against directory entry
806 <summary>Returnes all the file system entries
807 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
808 <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> array containing
809 all file system entries within the
810 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
814 <exception cref="T:System.UnauthorizedAccessException">
815 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
816 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
818 <exception cref="T:System.IO.DirectoryNotFoundException">
819 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
821 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
823 <exception cref="T:System.IO.FileNotFoundException">
824 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
825 or is an empty string.
826 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
828 <exception cref="T:Mono.Unix.UnixIOException">
829 <para>Insufficient memory to complete the operation.
830 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
833 <para>Too many file descriptors in use by the process.
834 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
837 <para>Too many files are currently open in the system.
838 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
843 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
844 <AssemblyVersion>2.0.0.0</AssemblyVersion>
847 <Member MemberName="GetFileSystemEntries">
848 <MemberSignature Language="C#" Value="public Mono.Unix.UnixFileSystemInfo[] GetFileSystemEntries (System.Text.RegularExpressions.Regex regex);" />
849 <MemberType>Method</MemberType>
851 <ReturnType>Mono.Unix.UnixFileSystemInfo[]</ReturnType>
854 <Parameter Name="regex" Type="System.Text.RegularExpressions.Regex" />
857 <param name="regex">A
858 <see cref="T:System.Text.RegularExpressions.Regex" /> instance which
859 is used for matching against directory entry names.</param>
860 <summary>Returnes all the file system entries
861 the <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.</summary>
862 <returns>A <see cref="T:Mono.Unix.UnixFileSystemInfo" /> array containing
863 all file system entries within the
864 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> directory.
868 <exception cref="T:System.UnauthorizedAccessException">
869 The process cannot access <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" />.
870 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
872 <exception cref="T:System.IO.DirectoryNotFoundException">
873 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> is not a
875 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
877 <exception cref="T:System.IO.FileNotFoundException">
878 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullPath" /> doesn't exist,
879 or is an empty string.
880 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
882 <exception cref="T:Mono.Unix.UnixIOException">
883 <para>Insufficient memory to complete the operation.
884 [<see cref="F:Mono.Unix.Native.Errno.ENOMEM" />]
887 <para>Too many file descriptors in use by the process.
888 [<see cref="F:Mono.Unix.Native.Errno.EMFILE" />]
891 <para>Too many files are currently open in the system.
892 [<see cref="F:Mono.Unix.Native.Errno.ENFILE" />]
897 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
898 <AssemblyVersion>2.0.0.0</AssemblyVersion>
901 <Member MemberName="Name">
902 <MemberSignature Language="C#" Value="public override string Name { get; }" />
903 <MemberType>Property</MemberType>
905 <ReturnType>System.String</ReturnType>
908 <summary>To be added.</summary>
909 <value>To be added.</value>
910 <remarks>To be added.</remarks>
913 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
914 <AssemblyVersion>2.0.0.0</AssemblyVersion>
917 <Member MemberName="Parent">
918 <MemberSignature Language="C#" Value="public Mono.Unix.UnixDirectoryInfo Parent { get; }" />
919 <MemberType>Property</MemberType>
921 <ReturnType>Mono.Unix.UnixDirectoryInfo</ReturnType>
924 <summary>Gets information about the parent directory.</summary>
925 <value>If the parent directory can be found, a
926 <see cref="T:Mono.Unix.UnixDirectoryInfo" /> instance
927 containing information about the parent directory. Otherwise,
928 <see langword="null" /> is returned.</value>
931 <altmember cref="M:Mono.Unix.UnixPath.GetDirectoryName" />
934 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
935 <AssemblyVersion>2.0.0.0</AssemblyVersion>
938 <Member MemberName="Root">
939 <MemberSignature Language="C#" Value="public Mono.Unix.UnixDirectoryInfo Root { get; }" />
940 <MemberType>Property</MemberType>
942 <ReturnType>Mono.Unix.UnixDirectoryInfo</ReturnType>
945 <summary>Gets the path root component of
946 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />. </summary>
947 <value>A <see cref="T:Mono.Unix.UnixDirectoryInfo" /> containing
948 information about the path root component for
949 <see cref="P:Mono.Unix.UnixFileSystemInfo.FullName" />.</value>
950 <remarks>This is generally identical to
951 <c>new <see cref="T:Mono.Unix.UnixDirectoryInfo" />("/")</c>.</remarks>
952 <altmember cref="M:Mono.Unix.UnixPath.GetPathRoot" />
955 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
956 <AssemblyVersion>2.0.0.0</AssemblyVersion>
959 <Member MemberName="SetCurrentDirectory">
960 <MemberSignature Language="C#" Value="public static void SetCurrentDirectory (string path);" />
961 <MemberType>Method</MemberType>
963 <ReturnType>System.Void</ReturnType>
966 <Parameter Name="path" Type="System.String" />
969 <param name="path">A <see cref="T:System.String" /> containing the path to which the current working directory is set.</param>
970 <summary>Sets the application's current working directory to the
971 specified directory.</summary>
973 <para>The <paramref name="path" /> argument is permitted to specify
974 relative or absolute path information. Relative path information is
975 interpreted as relative to the current working directory.
976 <block subset="none" type="note">To obtain the current working
978 <see cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" qualify="true" />.
981 <exception cref="T:System.UnauthorizedAccessException">
982 The process cannot access <paramref name="path" />.
983 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />]
985 <exception cref="T:System.IO.DirectoryNotFoundException">
986 A component of <paramref name="path" /> is not a directory.
987 [<see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />]
989 <exception cref="T:System.IO.FileNotFoundException">
990 <paramref name="path" /> does not exist.
991 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />]
993 <exception cref="T:System.IO.PathTooLongException">
994 <paramref name="path" /> is too long.
995 [<see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />]
997 <exception cref="T:System.IO.IOException">
998 An I/O error occurred.
999 [<see cref="F:Mono.Unix.Native.Errno.EIO" />]
1001 <exception cref="T:Mono.Unix.UnixIOException">
1002 Too many symbolic links were encountered in resolving
1003 <paramref name="path" />.
1004 [<see cref="F:Mono.Unix.Native.Errno.ELOOP" />]
1006 <altmember cref="M:Mono.Unix.Native.Syscall.chdir" />
1009 <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1010 <AssemblyVersion>2.0.0.0</AssemblyVersion>