Merge pull request #484 from roji/transactions_pspe
[mono.git] / mcs / class / Mono.Posix / Documentation / en / Mono.Unix.Native / Syscall.xml
1 <Type Name="Syscall" FullName="Mono.Unix.Native.Syscall">
2   <TypeSignature Language="C#" Value="public sealed class Syscall : Mono.Unix.Native.Stdlib" />
3   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit Syscall extends Mono.Unix.Native.Stdlib" />
4   <AssemblyInfo>
5     <AssemblyName>Mono.Posix</AssemblyName>
6     <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7     <AssemblyVersion>2.0.0.0</AssemblyVersion>
8     <AssemblyVersion>4.0.0.0</AssemblyVersion>
9   </AssemblyInfo>
10   <ThreadingSafetyStatement>Public static members of this type <i>may</i> be
11   thread safe; check your operating system documentation.
12   No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
13   <ThreadingSafetyStatement>All public static members of this type are
14   probably safe for multithreaded operations within managed code.  (Methods
15         which are obviously unsafe are synchronized, such as 
16         <see cref="M:Mono.Unix.Native.Syscall.ttyname" />, but any hidden dependencies 
17         between e.g.
18   <see cref="M:Mono.Unix.Native.Syscall.ttyname" /> and 
19   <see cref="M:Mono.Unix.Native.Syscall.read" /> are not protected.)
20   No multithreading guarantee is made between managed and unmanaged code.  
21   Check your operating system documentation for more information.
22         </ThreadingSafetyStatement>
23   <Base>
24     <BaseTypeName>Mono.Unix.Native.Stdlib</BaseTypeName>
25   </Base>
26   <Interfaces />
27   <Attributes>
28     <Attribute>
29       <AttributeName>System.CLSCompliant(false)</AttributeName>
30     </Attribute>
31   </Attributes>
32   <Docs>
33     <summary>The Syscall wrapper class makes it possible to execute the defined system calls. For more information on any of these system calls, the linux manual system (man) has exhaustive information on each syscall in section two: 'man 2 chdir' (or often <c>chdir</c>(2)) for example would give information related to chdir, including error codes, which are in general not listed here.</summary>
34     <remarks>The syscall wrapper follows the posix standard. This means some functionality or flags which are linux specific may not be available. Below is a list of known posix syscall functions and features that are not yet implemented.
35 <list type="table"><listheader><term>Syscall</term><description>Status</description></listheader><item><term>mount</term><description>Inherently non-portable across the various Unix flavours, and will never be supported.  Instead, use <see cref="T:System.Diagnostics.Process" /> and invoke the command-line <c>mount</c>(8) program.</description></item><item><term>umount</term><description>Inherently non-portable across the various Unix flavours, and will never be supported.  Instead, use <see cref="T:System.Diagnostics.Process" /> and invoke the command-line <c>umount</c>(8) program.</description></item><item><term>ptrace</term><description>Not yet implemented.</description></item><item><term>ftime</term><description>Not yet implemented.</description></item><item><term>times</term><description>Not yet implemented.</description></item><item><term>ulimit</term><description>Not yet implemented.</description></item><item><term>sigaction</term><description>Not yet implemented.</description></item><item><term>sigsuspend</term><description>Not yet implemented.</description></item><item><term>sigpending</term><description>Not yet implemented.</description></item><item><term>setrlimit</term><description>Not yet implemented.</description></item><item><term>getrlimit</term><description>Not yet implemented.</description></item><item><term>getrusage</term><description>Not yet implemented.</description></item></list></remarks>
36   </Docs>
37   <Members>
38     <Member MemberName="_exit">
39       <MemberSignature Language="C#" Value="public static int _exit (int status);" />
40       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;_exit&quot; winapi lasterr)int32 _exit(int32 status) cil managed" />
41       <MemberType>Method</MemberType>
42       <AssemblyInfo>
43         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
44         <AssemblyVersion>2.0.0.0</AssemblyVersion>
45         <AssemblyVersion>4.0.0.0</AssemblyVersion>
46       </AssemblyInfo>
47       <Attributes>
48         <Attribute>
49           <AttributeName>System.CLSCompliant(false)</AttributeName>
50         </Attribute>
51       </Attributes>
52       <ReturnValue>
53         <ReturnType>System.Int32</ReturnType>
54       </ReturnValue>
55       <Parameters>
56         <Parameter Name="status" Type="System.Int32" />
57       </Parameters>
58       <Docs>
59         <param name="status">To be added.</param>
60         <summary>To be added.</summary>
61         <returns>To be added.</returns>
62         <remarks>To be added.</remarks>
63       </Docs>
64     </Member>
65     <Member MemberName="access">
66       <MemberSignature Language="C#" Value="public static int access (string pathname, Mono.Unix.Native.AccessModes mode);" />
67       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 access(string pathname, valuetype Mono.Unix.Native.AccessModes mode) cil managed" />
68       <MemberType>Method</MemberType>
69       <AssemblyInfo>
70         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
71         <AssemblyVersion>2.0.0.0</AssemblyVersion>
72         <AssemblyVersion>4.0.0.0</AssemblyVersion>
73       </AssemblyInfo>
74       <ReturnValue>
75         <ReturnType>System.Int32</ReturnType>
76       </ReturnValue>
77       <Parameters>
78         <Parameter Name="pathname" Type="System.String" />
79         <Parameter Name="mode" Type="Mono.Unix.Native.AccessModes" />
80       </Parameters>
81       <Docs>
82         <param name="pathname">To be added.</param>
83         <param name="mode">To be added.</param>
84         <summary>Checks whether the calling task has the necessary access rights to perform operations specified by mode on the file pathname. AccessMode is a mask consisting of one or more of the values R_OK, W_OK, X_OK and F_OK which respectively test if the taks can read, write, execute or test if the file exists.</summary>
85         <returns>
86           <para>
87             On success, zero is returned.
88             On error, -1 is returned and 
89             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
90             returns the translated error.
91           </para>
92           <block subset="none" type="usage">
93             <para>
94               Access to the file is denied if:
95             </para>
96             <list type="table">
97               <listheader>
98                 <term>
99                   Error
100                 </term>
101                 <description>
102                   Details
103                 </description>
104               </listheader>
105               <item>
106                 <term>
107                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
108                 </term>
109                 <description>
110                   <para>
111                     A component of the path prefix is not a directory.
112                   </para>
113                 </description>
114               </item>
115               <item>
116                 <term>
117                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
118                 </term>
119                 <description>
120                   <para>
121                     A component of a pathname exceeded 255 characters,
122                     or an entire path name exceeded 1023 characters.
123                   </para>
124                 </description>
125               </item>
126               <item>
127                 <term>
128                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
129                 </term>
130                 <description>
131                   <para>
132                     The named file does not exist.
133                   </para>
134                 </description>
135               </item>
136               <item>
137                 <term>
138                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
139                 </term>
140                 <description>
141                   <para>
142                     Too many symbolic links were encountered in translating the pathname.
143                   </para>
144                 </description>
145               </item>
146               <item>
147                 <term>
148                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
149                 </term>
150                 <description>
151                   <para>
152                     Write access is requested for a file on a read-only file system.
153                   </para>
154                 </description>
155               </item>
156               <item>
157                 <term>
158                   <see cref="F:Mono.Unix.Native.Errno.ETXTBSY" />
159                 </term>
160                 <description>
161                   <para>
162                     Write access is requested for a pure procedure (shared text)
163                     file presently being executed.
164                   </para>
165                 </description>
166               </item>
167               <item>
168                 <term>
169                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
170                 </term>
171                 <description>
172                   <para>
173                     Permission bits of the file mode do not permit the requested
174                     access, or search permission is denied on a component of the
175                     path prefix.
176                   </para>
177                 </description>
178               </item>
179               <item>
180                 <term>
181                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
182                 </term>
183                 <description>
184                   <para>
185                     The
186                     <paramref name="path" /> 
187                     argument
188                     points outside the process's allocated address space.
189                   </para>
190                 </description>
191               </item>
192               <item>
193                 <term>
194                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
195                 </term>
196                 <description>
197                   <para>
198                     An I/O error occurred while reading from or writing to the file system.
199                   </para>
200                 </description>
201               </item>
202             </list>
203             <para>
204             </para>
205           </block>
206         </returns>
207         <remarks>
208           <para>
209             The
210             <c>access</c>()
211             and
212             <c>eaccess</c>()
213             system calls check the accessibility of the
214             file named by
215             the
216             <paramref name="path" /> 
217             argument
218             for the access permissions indicated by
219             the
220             <paramref name="mode" /> 
221             argument.
222             The value of
223             <paramref name="mode" /> 
224             is either the bitwise-inclusive OR of the access permissions to be
225             checked
226             (  <see cref="F:Mono.Unix.Native.AccessModes.R_OK" /> 
227             for read permission,
228              <see cref="F:Mono.Unix.Native.AccessModes.W_OK" /> 
229             for write permission, and
230              <see cref="F:Mono.Unix.Native.AccessModes.X_OK" /> 
231             for execute/search permission),
232             or the existence test
233              <see cref="F:Mono.Unix.Native.AccessModes.F_OK" />  .
234           </para>
235           <para>
236             For additional information, see the
237             "<c>File Access Permission</c>"
238             section of
239             <see cref="M:Mono.Unix.Native.Syscall.intro" />(2) .
240           </para>
241           <para>
242             The
243             <c>eaccess</c>()
244             system call uses
245             the effective user ID and the group access list
246             to authorize the request;
247             the
248             <c>access</c>()
249             system call uses
250             the real user ID in place of the effective user ID,
251             the real group ID in place of the effective group ID,
252             and the rest of the group access list.
253           </para>
254           <para>
255             Even if a process's real or effective user has appropriate privileges
256             and indicates success for
257              <see cref="F:Mono.Unix.Native.AccessModes.X_OK" />  ,
258             the file may not actually have execute permission bits set.
259             Likewise for
260              <see cref="F:Mono.Unix.Native.AccessModes.R_OK" /> 
261             and
262              <see cref="F:Mono.Unix.Native.AccessModes.W_OK" />  .
263           </para>
264         </remarks>
265         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
266         <altmember cref="M:Mono.Unix.Native.Syscall.intro" />
267         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
268       </Docs>
269     </Member>
270     <Member MemberName="acct">
271       <MemberSignature Language="C#" Value="public static int acct (string filename);" />
272       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;acct&quot; winapi lasterr)int32 acct(string filename) cil managed" />
273       <MemberType>Method</MemberType>
274       <AssemblyInfo>
275         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
276         <AssemblyVersion>2.0.0.0</AssemblyVersion>
277         <AssemblyVersion>4.0.0.0</AssemblyVersion>
278       </AssemblyInfo>
279       <ReturnValue>
280         <ReturnType>System.Int32</ReturnType>
281       </ReturnValue>
282       <Parameters>
283         <Parameter Name="filename" Type="System.String" />
284       </Parameters>
285       <Docs>
286         <param name="filename">To be added.</param>
287         <summary>To be added.</summary>
288         <returns>To be added.</returns>
289         <remarks>To be added.</remarks>
290       </Docs>
291     </Member>
292     <Member MemberName="alarm">
293       <MemberSignature Language="C#" Value="public static uint alarm (uint seconds);" />
294       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;alarm&quot; winapi lasterr)unsigned int32 alarm(unsigned int32 seconds) cil managed" />
295       <MemberType>Method</MemberType>
296       <AssemblyInfo>
297         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
298         <AssemblyVersion>2.0.0.0</AssemblyVersion>
299         <AssemblyVersion>4.0.0.0</AssemblyVersion>
300       </AssemblyInfo>
301       <ReturnValue>
302         <ReturnType>System.UInt32</ReturnType>
303       </ReturnValue>
304       <Parameters>
305         <Parameter Name="seconds" Type="System.UInt32" />
306       </Parameters>
307       <Docs>
308         <param name="seconds">To be added.</param>
309         <summary>If the call completes successfully, the taks will receive a SIGALARM signal after a delay of seconds seconds. A delay of zero seconds simply cancel the alarm. If an previous alarm was activated when the call is made then the previous alarm is cancelled.</summary>
310         <returns>If a previous alarm was activated, the call returns the time delay before the expiration of that previous alarm (now canceled). Otherwise, it returns zero.</returns>
311         <remarks />
312       </Docs>
313     </Member>
314     <Member MemberName="brk">
315       <MemberSignature Language="C#" Value="public static int brk (IntPtr end_data_segment);" />
316       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;brk&quot; winapi lasterr)int32 brk(native int end_data_segment) cil managed" />
317       <MemberType>Method</MemberType>
318       <AssemblyInfo>
319         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
320         <AssemblyVersion>2.0.0.0</AssemblyVersion>
321         <AssemblyVersion>4.0.0.0</AssemblyVersion>
322       </AssemblyInfo>
323       <ReturnValue>
324         <ReturnType>System.Int32</ReturnType>
325       </ReturnValue>
326       <Parameters>
327         <Parameter Name="end_data_segment" Type="System.IntPtr" />
328       </Parameters>
329       <Docs>
330         <param name="end_data_segment">To be added.</param>
331         <summary>To be added.</summary>
332         <returns>To be added.</returns>
333         <remarks>To be added.</remarks>
334       </Docs>
335     </Member>
336     <Member MemberName="chdir">
337       <MemberSignature Language="C#" Value="public static int chdir (string path);" />
338       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;chdir&quot; winapi lasterr)int32 chdir(string path) cil managed" />
339       <MemberType>Method</MemberType>
340       <AssemblyInfo>
341         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
342         <AssemblyVersion>2.0.0.0</AssemblyVersion>
343         <AssemblyVersion>4.0.0.0</AssemblyVersion>
344       </AssemblyInfo>
345       <ReturnValue>
346         <ReturnType>System.Int32</ReturnType>
347       </ReturnValue>
348       <Parameters>
349         <Parameter Name="path" Type="System.String" />
350       </Parameters>
351       <Docs>
352         <param name="path">To be added.</param>
353         <summary>Changes the current directory to 'path'.</summary>
354         <returns>On success, zero is returned. On error, -1 is returned and <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" /> can be used to retreive the translated error.</returns>
355         <remarks>See <c>chrdir</c>(2) for more information and error codes.</remarks>
356       </Docs>
357     </Member>
358     <Member MemberName="chmod">
359       <MemberSignature Language="C#" Value="public static int chmod (string path, Mono.Unix.Native.FilePermissions mode);" />
360       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 chmod(string path, valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
361       <MemberType>Method</MemberType>
362       <AssemblyInfo>
363         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
364         <AssemblyVersion>2.0.0.0</AssemblyVersion>
365         <AssemblyVersion>4.0.0.0</AssemblyVersion>
366       </AssemblyInfo>
367       <ReturnValue>
368         <ReturnType>System.Int32</ReturnType>
369       </ReturnValue>
370       <Parameters>
371         <Parameter Name="path" Type="System.String" />
372         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
373       </Parameters>
374       <Docs>
375         <param name="path">To be added.</param>
376         <param name="mode">To be added.</param>
377         <summary>Change permissions for a file or folder.</summary>
378         <returns>
379           <para>
380             On success, zero is returned.
381             On error, -1 is returned and 
382             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
383             returns the translated error.
384           </para>
385           <block subset="none" type="usage">
386             <para>
387               The
388               <c>chmod</c>()
389               system call
390               will fail and the file mode will be unchanged if:
391             </para>
392             <list type="table">
393               <listheader>
394                 <term>
395                   Error
396                 </term>
397                 <description>
398                   Details
399                 </description>
400               </listheader>
401               <item>
402                 <term>
403                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
404                 </term>
405                 <description>
406                   <para>
407                     A component of the path prefix is not a directory.
408                   </para>
409                 </description>
410               </item>
411               <item>
412                 <term>
413                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
414                 </term>
415                 <description>
416                   <para>
417                     A component of a pathname exceeded 255 characters,
418                     or an entire path name exceeded 1023 characters.
419                   </para>
420                 </description>
421               </item>
422               <item>
423                 <term>
424                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
425                 </term>
426                 <description>
427                   <para>
428                     The named file does not exist.
429                   </para>
430                 </description>
431               </item>
432               <item>
433                 <term>
434                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
435                 </term>
436                 <description>
437                   <para>
438                     Search permission is denied for a component of the path prefix.
439                   </para>
440                 </description>
441               </item>
442               <item>
443                 <term>
444                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
445                 </term>
446                 <description>
447                   <para>
448                     Too many symbolic links were encountered in translating the pathname.
449                   </para>
450                 </description>
451               </item>
452               <item>
453                 <term>
454                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
455                 </term>
456                 <description>
457                   <para>
458                     The effective user ID does not match the owner of the file and
459                     the effective user ID is not the super-user.
460                   </para>
461                 </description>
462               </item>
463               <item>
464                 <term>
465                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
466                 </term>
467                 <description>
468                   <para>
469                     The named file resides on a read-only file system.
470                   </para>
471                 </description>
472               </item>
473               <item>
474                 <term>
475                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
476                 </term>
477                 <description>
478                   <para>
479                     The
480                     <paramref name="path" /> 
481                     argument
482                     points outside the process's allocated address space.
483                   </para>
484                 </description>
485               </item>
486               <item>
487                 <term>
488                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
489                 </term>
490                 <description>
491                   <para>
492                     An I/O error occurred while reading from or writing to the file system.
493                   </para>
494                 </description>
495               </item>
496               <item>
497                 <term>
498                   <see cref="F:Mono.Unix.Native.Errno.EFTYPE" />
499                 </term>
500                 <description>
501                   <para>
502                     An attempt was made to set the sticky bit upon an executable.
503                   </para>
504                 </description>
505               </item>
506             </list>
507             <para>
508             </para>
509             <para>
510               The
511               <c>fchmod</c>()
512               system call will fail if:
513             </para>
514             <list type="table">
515               <listheader>
516                 <term>
517                   Error
518                 </term>
519                 <description>
520                   Details
521                 </description>
522               </listheader>
523               <item>
524                 <term>
525                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
526                 </term>
527                 <description>
528                   <para>
529                     The descriptor is not valid.
530                   </para>
531                 </description>
532               </item>
533               <item>
534                 <term>
535                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
536                 </term>
537                 <description>
538                   <para>
539                     The
540                     <paramref name="fd" /> 
541                     argument
542                     refers to a socket, not to a file.
543                   </para>
544                 </description>
545               </item>
546               <item>
547                 <term>
548                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
549                 </term>
550                 <description>
551                   <para>
552                     The file resides on a read-only file system.
553                   </para>
554                 </description>
555               </item>
556               <item>
557                 <term>
558                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
559                 </term>
560                 <description>
561                   <para>
562                     An I/O error occurred while reading from or writing to the file system.
563                   </para>
564                 </description>
565               </item>
566             </list>
567             <para>
568             </para>
569           </block>
570         </returns>
571         <remarks>
572           <para>
573             The file permission bits of the file named specified by
574             <paramref name="path" /> 
575             or referenced by the file descriptor
576             <paramref name="fd" /> 
577             are changed to
578             <paramref name="mode" /> .
579             The
580             <c>chmod</c>()
581             system call verifies that the process owner (user) either owns
582             the file specified by
583             <paramref name="path" /> 
584             (or
585             <paramref name="fd" /> ) ,
586             or
587             is the super-user.
588             The
589             <c>chmod</c>()
590             system call follows symbolic links to operate on the target of the link
591             rather than the link itself.
592           </para>
593           <para>
594             The
595             <c>lchmod</c>()
596             system call is similar to
597             <c>chmod</c>()
598             but does not follow symbolic links.
599           </para>
600           <para>
601             A mode is created from
602             <i>or'd</i>
603             permission bit masks
604             defined in
605             <c>sys/stat.h</c> :
606           </para>
607           <para>
608           </para>
609           <block subset="none" type="usage">
610             <para>#define S_IRWXU 0000700    /* RWX mask for owner */</para>
611             <para>#define S_IRUSR 0000400    /* R for owner */</para>
612             <para>#define S_IWUSR 0000200    /* W for owner */</para>
613             <para>#define S_IXUSR 0000100    /* X for owner */</para>
614             <para>
615             </para>
616             <para>#define S_IRWXG 0000070    /* RWX mask for group */</para>
617             <para>#define S_IRGRP 0000040    /* R for group */</para>
618             <para>#define S_IWGRP 0000020    /* W for group */</para>
619             <para>#define S_IXGRP 0000010    /* X for group */</para>
620             <para>
621             </para>
622             <para>#define S_IRWXO 0000007    /* RWX mask for other */</para>
623             <para>#define S_IROTH 0000004    /* R for other */</para>
624             <para>#define S_IWOTH 0000002    /* W for other */</para>
625             <para>#define S_IXOTH 0000001    /* X for other */</para>
626             <para>
627             </para>
628             <para>#define S_ISUID 0004000    /* set user id on execution */</para>
629             <para>#define S_ISGID 0002000    /* set group id on execution */</para>
630             <para>#ifndef __BSD_VISIBLE</para>
631             <para>#define S_ISTXT 0001000    /* sticky bit */</para>
632             <para>#endif</para>
633           </block>
634           <para>
635           </para>
636           <para>
637             The
638             Fx            VM system totally ignores the sticky bit
639              <see cref="F:Mono.Unix.Native.TODO.ISTXT" /> 
640             for executables.
641             On UFS-based file systems (FFS, LFS) the sticky
642             bit may only be set upon directories.
643           </para>
644           <para>
645             If mode
646              <see cref="F:Mono.Unix.Native.TODO.ISTXT" /> 
647             (the `sticky bit') is set on a directory,
648             an unprivileged user may not delete or rename
649             files of other users in that directory.
650             The sticky bit may be
651             set by any user on a directory which the user owns or has appropriate
652             permissions.
653             For more details of the properties of the sticky bit, see
654             <c>sticky</c>(8) .
655           </para>
656           <para>
657             If mode ISUID (set UID) is set on a directory,
658             and the MNT_SUIDDIR option was used in the mount of the file system,
659             then the owner of any new files and sub-directories
660             created within this directory are set
661             to be the same as the owner of that directory.
662             If this function is enabled, new directories will inherit
663             the bit from their parents.
664             Execute bits are removed from
665             the file, and it will not be given to root.
666             This behavior does not change the
667             requirements for the user to be allowed to write the file, but only the eventual
668             owner after it has been created.
669             Group inheritance is not affected.
670           </para>
671           <para>
672             This feature is designed for use on fileservers serving PC users via
673             ftp, SAMBA, or netatalk.
674             It provides security holes for shell users and as
675             such should not be used on shell machines, especially on home directories.
676             This option requires the SUIDDIR
677             option in the kernel to work.
678             Only UFS file systems support this option.
679             For more details of the suiddir mount option, see
680             <c>mount</c>(8) .
681           </para>
682           <para>
683             Writing or changing the owner of a file
684             turns off the set-user-id and set-group-id bits
685             unless the user is the super-user.
686             This makes the system somewhat more secure
687             by protecting set-user-id (set-group-id) files
688             from remaining set-user-id (set-group-id) if they are modified,
689             at the expense of a degree of compatibility.
690           </para>
691         </remarks>
692         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
693         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
694         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
695       </Docs>
696     </Member>
697     <Member MemberName="chown">
698       <MemberSignature Language="C#" Value="public static int chown (string path, uint owner, uint group);" />
699       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;chown&quot; winapi lasterr)int32 chown(string path, unsigned int32 owner, unsigned int32 group) cil managed" />
700       <MemberType>Method</MemberType>
701       <AssemblyInfo>
702         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
703         <AssemblyVersion>2.0.0.0</AssemblyVersion>
704         <AssemblyVersion>4.0.0.0</AssemblyVersion>
705       </AssemblyInfo>
706       <ReturnValue>
707         <ReturnType>System.Int32</ReturnType>
708       </ReturnValue>
709       <Parameters>
710         <Parameter Name="path" Type="System.String" />
711         <Parameter Name="owner" Type="System.UInt32" />
712         <Parameter Name="group" Type="System.UInt32" />
713       </Parameters>
714       <Docs>
715         <param name="path">To be added.</param>
716         <param name="owner">To be added.</param>
717         <param name="group">To be added.</param>
718         <summary>Change owner for a file or folder.</summary>
719         <returns>
720           <para>
721             On success, zero is returned.
722             On error, -1 is returned and 
723             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
724             returns the translated error.
725           </para>
726           <block subset="none" type="usage">
727             <para>
728               The
729               <c>chown</c>()
730               and
731               <c>lchown</c>()
732               will fail and the file will be unchanged if:
733             </para>
734             <list type="table">
735               <listheader>
736                 <term>
737                   Error
738                 </term>
739                 <description>
740                   Details
741                 </description>
742               </listheader>
743               <item>
744                 <term>
745                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
746                 </term>
747                 <description>
748                   <para>
749                     A component of the path prefix is not a directory.
750                   </para>
751                 </description>
752               </item>
753               <item>
754                 <term>
755                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
756                 </term>
757                 <description>
758                   <para>
759                     A component of a pathname exceeded 255 characters,
760                     or an entire path name exceeded 1023 characters.
761                   </para>
762                 </description>
763               </item>
764               <item>
765                 <term>
766                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
767                 </term>
768                 <description>
769                   <para>
770                     The named file does not exist.
771                   </para>
772                 </description>
773               </item>
774               <item>
775                 <term>
776                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
777                 </term>
778                 <description>
779                   <para>
780                     Search permission is denied for a component of the path prefix.
781                   </para>
782                 </description>
783               </item>
784               <item>
785                 <term>
786                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
787                 </term>
788                 <description>
789                   <para>
790                     Too many symbolic links were encountered in translating the pathname.
791                   </para>
792                 </description>
793               </item>
794               <item>
795                 <term>
796                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
797                 </term>
798                 <description>
799                   <para>
800                     The effective user ID is not the super-user.
801                   </para>
802                 </description>
803               </item>
804               <item>
805                 <term>
806                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
807                 </term>
808                 <description>
809                   <para>
810                     The named file resides on a read-only file system.
811                   </para>
812                 </description>
813               </item>
814               <item>
815                 <term>
816                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
817                 </term>
818                 <description>
819                   <para>
820                     The
821                     <paramref name="path" /> 
822                     argument
823                     points outside the process's allocated address space.
824                   </para>
825                 </description>
826               </item>
827               <item>
828                 <term>
829                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
830                 </term>
831                 <description>
832                   <para>
833                     An I/O error occurred while reading from or writing to the file system.
834                   </para>
835                 </description>
836               </item>
837             </list>
838             <para>
839             </para>
840             <para>
841               The
842               <c>fchown</c>()
843               system call will fail if:
844             </para>
845             <list type="table">
846               <listheader>
847                 <term>
848                   Error
849                 </term>
850                 <description>
851                   Details
852                 </description>
853               </listheader>
854               <item>
855                 <term>
856                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
857                 </term>
858                 <description>
859                   <para>
860                     The
861                     <paramref name="fd" /> 
862                     argument
863                     does not refer to a valid descriptor.
864                   </para>
865                 </description>
866               </item>
867               <item>
868                 <term>
869                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
870                 </term>
871                 <description>
872                   <para>
873                     The
874                     <paramref name="fd" /> 
875                     argument
876                     refers to a socket, not a file.
877                   </para>
878                 </description>
879               </item>
880               <item>
881                 <term>
882                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
883                 </term>
884                 <description>
885                   <para>
886                     The effective user ID is not the super-user.
887                   </para>
888                 </description>
889               </item>
890               <item>
891                 <term>
892                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
893                 </term>
894                 <description>
895                   <para>
896                     The named file resides on a read-only file system.
897                   </para>
898                 </description>
899               </item>
900               <item>
901                 <term>
902                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
903                 </term>
904                 <description>
905                   <para>
906                     An I/O error occurred while reading from or writing to the file system.
907                   </para>
908                 </description>
909               </item>
910             </list>
911             <para>
912             </para>
913           </block>
914         </returns>
915         <remarks>
916           <para>
917             The owner ID and group ID of the file
918             named by
919             <paramref name="path" /> 
920             or referenced by
921             <paramref name="fd" /> 
922             is changed as specified by the arguments
923             <paramref name="owner" /> 
924             and
925             <paramref name="group" /> .
926             The owner of a file may change the
927             <paramref name="group" /> 
928             to a group of which
929             he or she is a member,
930             but the change
931             <paramref name="owner" /> 
932             capability is restricted to the super-user.
933           </para>
934           <para>
935             The
936             <c>chown</c>()
937             system call
938             clears the set-user-id and set-group-id bits
939             on the file
940             to prevent accidental or mischievous creation of
941             set-user-id and set-group-id programs if not executed
942             by the super-user.
943             The
944             <c>chown</c>()
945             system call
946             follows symbolic links to operate on the target of the link
947             rather than the link itself.
948           </para>
949           <para>
950             The
951             <c>fchown</c>()
952             system call
953             is particularly useful when used in conjunction
954             with the file locking primitives (see
955             <see cref="M:Mono.Unix.Native.Syscall.flock" />(2) ) .
956           </para>
957           <para>
958             The
959             <c>lchown</c>()
960             system call is similar to
961             <c>chown</c>()
962             but does not follow symbolic links.
963           </para>
964           <para>
965             One of the owner or group id's
966             may be left unchanged by specifying it as -1.
967           </para>
968         </remarks>
969         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
970         <altmember cref="M:Mono.Unix.Native.Syscall.flock" />
971       </Docs>
972     </Member>
973     <Member MemberName="chroot">
974       <MemberSignature Language="C#" Value="public static int chroot (string path);" />
975       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;chroot&quot; winapi lasterr)int32 chroot(string path) cil managed" />
976       <MemberType>Method</MemberType>
977       <AssemblyInfo>
978         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
979         <AssemblyVersion>2.0.0.0</AssemblyVersion>
980         <AssemblyVersion>4.0.0.0</AssemblyVersion>
981       </AssemblyInfo>
982       <ReturnValue>
983         <ReturnType>System.Int32</ReturnType>
984       </ReturnValue>
985       <Parameters>
986         <Parameter Name="path" Type="System.String" />
987       </Parameters>
988       <Docs>
989         <param name="path">To be added.</param>
990         <summary>Change root directory.</summary>
991         <returns>To be added.</returns>
992         <remarks>See <c>chroot</c>(2) for more information and error codes.</remarks>
993       </Docs>
994     </Member>
995     <Member MemberName="close">
996       <MemberSignature Language="C#" Value="public static int close (int fd);" />
997       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;close&quot; winapi lasterr)int32 close(int32 fd) cil managed" />
998       <MemberType>Method</MemberType>
999       <AssemblyInfo>
1000         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1001         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1002         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1003       </AssemblyInfo>
1004       <ReturnValue>
1005         <ReturnType>System.Int32</ReturnType>
1006       </ReturnValue>
1007       <Parameters>
1008         <Parameter Name="fd" Type="System.Int32" />
1009       </Parameters>
1010       <Docs>
1011         <param name="fd">To be added.</param>
1012         <summary>Closes the file descriptor.</summary>
1013         <returns>
1014           <para>
1015             On success, zero is returned.
1016             On error, -1 is returned and 
1017             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
1018             returns the translated error.
1019           </para>
1020           <block subset="none" type="usage">
1021             <para>
1022               The
1023               <c>close</c>()
1024               system call will fail if:
1025             </para>
1026             <list type="table">
1027               <listheader>
1028                 <term>
1029                   Error
1030                 </term>
1031                 <description>
1032                   Details
1033                 </description>
1034               </listheader>
1035               <item>
1036                 <term>
1037                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
1038                 </term>
1039                 <description>
1040                   <para>
1041                     The
1042                     <paramref name="d" /> 
1043                     argument
1044                     is not an active descriptor.
1045                   </para>
1046                 </description>
1047               </item>
1048               <item>
1049                 <term>
1050                   <see cref="F:Mono.Unix.Native.Errno.EINTR" />
1051                 </term>
1052                 <description>
1053                   <para>
1054                     An interrupt was received.
1055                   </para>
1056                 </description>
1057               </item>
1058               <item>
1059                 <term>
1060                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
1061                 </term>
1062                 <description>
1063                   <para>
1064                     The underlying object did not fit, cached data was lost.
1065                   </para>
1066                 </description>
1067               </item>
1068             </list>
1069             <para>
1070             </para>
1071           </block>
1072         </returns>
1073         <remarks>
1074           <para>
1075             The
1076             <c>close</c>()
1077             system call deletes a descriptor from the per-process object
1078             reference table.
1079             If this is the last reference to the underlying object, the
1080             object will be deactivated.
1081             For example, on the last close of a file
1082             the current
1083             <i>seek</i>
1084             pointer associated with the file is lost;
1085             on the last close of a
1086             <see cref="M:Mono.Unix.Native.Syscall.socket" />(2)
1087             associated naming information and queued data are discarded;
1088             on the last close of a file holding an advisory lock
1089             the lock is released (see further
1090             <see cref="M:Mono.Unix.Native.Syscall.flock" />(2) ) .
1091             However, the semantics of System V and
1092             St -p1003.1-88            dictate that all
1093             <see cref="M:Mono.Unix.Native.Syscall.fcntl" />(2)
1094             advisory record locks associated with a file for a given process
1095             are removed when
1096             <i>any</i>
1097             file descriptor for that file is closed by that process.
1098           </para>
1099           <para>
1100             When a process exits,
1101             all associated file descriptors are freed, but since there is
1102             a limit on active descriptors per processes, the
1103             <c>close</c>()
1104             system call
1105             is useful when a large quantity of file descriptors are being handled.
1106           </para>
1107           <para>
1108             When a process forks (see
1109             <see cref="M:Mono.Unix.Native.Syscall.fork" />(2) ) ,
1110             all descriptors for the new child process reference the same
1111             objects as they did in the parent before the fork.
1112             If a new process is then to be run using
1113             <see cref="M:Mono.Unix.Native.Syscall.execve" />(2) ,
1114             the process would normally inherit these descriptors.
1115             Most
1116             of the descriptors can be rearranged with
1117             <see cref="M:Mono.Unix.Native.Syscall.dup2" />(2)
1118             or deleted with
1119             <c>close</c>()
1120             before the
1121             <see cref="M:Mono.Unix.Native.Syscall.execve" />(2)
1122             is attempted, but if some of these descriptors will still
1123             be needed if the execve fails, it is necessary to arrange for them
1124             to be closed if the execve succeeds.
1125             For this reason, the call
1126             <c>Li fcntl(d, F_SETFD, FD_CLOEXEC)</c>
1127             is provided,
1128             which arranges that a descriptor will be closed after a successful
1129             execve; the call
1130             <c>Li fcntl(d, F_SETFD, 0)</c>
1131             restores the default,
1132             which is to not close the descriptor.
1133           </para>
1134         </remarks>
1135         <altmember cref="M:Mono.Unix.Native.Syscall.accept" />
1136         <altmember cref="M:Mono.Unix.Native.Syscall.execve" />
1137         <altmember cref="M:Mono.Unix.Native.Syscall.fcntl" />
1138         <altmember cref="M:Mono.Unix.Native.Syscall.flock" />
1139         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
1140         <altmember cref="M:Mono.Unix.Native.Syscall.pipe" />
1141         <altmember cref="M:Mono.Unix.Native.Syscall.socket" />
1142         <altmember cref="M:Mono.Unix.Native.Syscall.socketpair" />
1143       </Docs>
1144     </Member>
1145     <Member MemberName="closedir">
1146       <MemberSignature Language="C#" Value="public static int closedir (IntPtr dir);" />
1147       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;closedir&quot; winapi lasterr)int32 closedir(native int dir) cil managed" />
1148       <MemberType>Method</MemberType>
1149       <AssemblyInfo>
1150         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1151         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1152         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1153       </AssemblyInfo>
1154       <ReturnValue>
1155         <ReturnType>System.Int32</ReturnType>
1156       </ReturnValue>
1157       <Parameters>
1158         <Parameter Name="dir" Type="System.IntPtr" />
1159       </Parameters>
1160       <Docs>
1161         <param name="dir">The directory to close.  This must be a value returned by <see cref="M:Mono.Unix.Native.Syscall.opendir" />.</param>
1162         <summary>Closes the directory.</summary>
1163         <returns>To be added.</returns>
1164         <remarks>
1165           <para>
1166             The
1167             <c>opendir</c>()
1168             function
1169             opens the directory named by
1170             <paramref name="filename" /> ,
1171             associates a
1172             <i>directory stream</i>
1173             with it
1174             and
1175             returns a pointer to be used to identify the
1176             <i>directory stream</i>
1177             in subsequent operations.
1178             The pointer
1179              <see cref="F:Mono.Unix.Native.TODO.NULL" /> 
1180             is returned if
1181             <paramref name="filename" /> 
1182             cannot be accessed, or if it cannot
1183             <see cref="M:Mono.Unix.Native.Syscall.malloc" />(3)
1184             enough memory to hold the whole thing.
1185           </para>
1186           <para>
1187             The
1188             <c>readdir</c>()
1189             function
1190             returns a pointer to the next directory entry.
1191             It returns
1192              <see cref="F:Mono.Unix.Native.TODO.NULL" /> 
1193             upon reaching the end of the directory or detecting an invalid
1194             <c>seekdir</c>()
1195             operation.
1196           </para>
1197           <para>
1198             The
1199             <c>readdir_r</c>()
1200             function
1201             provides the same functionality as
1202             <c>readdir</c>(),
1203             but the caller must provide a directory
1204             <paramref name="entry" /> 
1205             buffer to store the results in.
1206             If the read succeeds,
1207             <paramref name="result" /> 
1208             is pointed at the
1209             <paramref name="entry" /> ;
1210             upon reaching the end of the directory
1211             <paramref name="result" /> 
1212             is set to
1213              <see cref="F:Mono.Unix.Native.TODO.NULL" />  .
1214             The
1215             <c>readdir_r</c>()
1216             function
1217             returns 0 on success or an error number to indicate failure.
1218           </para>
1219           <para>
1220             The
1221             <c>telldir</c>()
1222             function
1223             returns the current location associated with the named
1224             <i>directory stream .</i>
1225             Values returned by
1226             <c>telldir</c>()
1227             are good only for the lifetime of the
1228              <see cref="F:Mono.Unix.Native.TODO.DIR" /> 
1229             pointer,
1230             <paramref name="dirp" /> ,
1231             from which they are derived.
1232             If the directory is closed and then
1233             reopened, prior values returned by
1234             <c>telldir</c>()
1235             will no longer be valid.
1236           </para>
1237           <para>
1238             The
1239             <c>seekdir</c>()
1240             function
1241             sets the position of the next
1242             <c>readdir</c>()
1243             operation on the
1244             <i>directory stream .</i>
1245             The new position reverts to the one associated with the
1246             <i>directory stream</i>
1247             when the
1248             <c>telldir</c>()
1249             operation was performed.
1250           </para>
1251           <para>
1252             The
1253             <c>rewinddir</c>()
1254             function
1255             resets the position of the named
1256             <i>directory stream</i>
1257             to the beginning of the directory.
1258           </para>
1259           <para>
1260             The
1261             <c>closedir</c>()
1262             function
1263             closes the named
1264             <i>directory stream</i>
1265             and frees the structure associated with the
1266             <paramref name="dirp" /> 
1267             pointer,
1268             returning 0 on success.
1269             On failure, -1 is returned and the global variable
1270             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
1271             is set to indicate the error.
1272           </para>
1273           <para>
1274             The
1275             <c>dirfd</c>()
1276             function
1277             returns the integer file descriptor associated with the named
1278             <i>directory stream ,</i>
1279             see
1280             <see cref="M:Mono.Unix.Native.Syscall.open" />(2) .
1281           </para>
1282           <para>
1283             Sample code which searches a directory for entry ``name'' is:
1284           </para>
1285           <block subset="none" type="usage">
1286             <para>len = strlen(name);</para>
1287             <para>dirp = opendir(".");</para>
1288             <para>while ((dp = readdir(dirp)) != NULL)</para>
1289             <para>
1290             </para>
1291             <para>
1292             </para>
1293             <para>
1294             </para>
1295             <para>
1296             </para>
1297             <para>(void)closedir(dirp);</para>
1298             <para>return NOT_FOUND;</para>
1299           </block>
1300           <para>
1301           </para>
1302         </remarks>
1303         <altmember cref="M:Mono.Unix.Native.Syscall.close" />
1304         <altmember cref="M:Mono.Unix.Native.Syscall.lseek" />
1305         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
1306         <altmember cref="M:Mono.Unix.Native.Syscall.read" />
1307       </Docs>
1308     </Member>
1309     <Member MemberName="closelog">
1310       <MemberSignature Language="C#" Value="public static int closelog ();" />
1311       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_closelog&quot; winapi lasterr)int32 closelog() cil managed" />
1312       <MemberType>Method</MemberType>
1313       <AssemblyInfo>
1314         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1315         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1316         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1317       </AssemblyInfo>
1318       <ReturnValue>
1319         <ReturnType>System.Int32</ReturnType>
1320       </ReturnValue>
1321       <Parameters />
1322       <Docs>
1323         <summary>To be added.</summary>
1324         <returns>To be added.</returns>
1325         <remarks>To be added.</remarks>
1326       </Docs>
1327     </Member>
1328     <Member MemberName="confstr">
1329       <MemberSignature Language="C#" Value="public static ulong confstr (Mono.Unix.Native.ConfstrName name, System.Text.StringBuilder buf, ulong len);" />
1330       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_confstr&quot; winapi lasterr)unsigned int64 confstr(valuetype Mono.Unix.Native.ConfstrName name, class System.Text.StringBuilder buf, unsigned int64 len) cil managed" />
1331       <MemberType>Method</MemberType>
1332       <AssemblyInfo>
1333         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1334         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1335         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1336       </AssemblyInfo>
1337       <ReturnValue>
1338         <ReturnType>System.UInt64</ReturnType>
1339       </ReturnValue>
1340       <Parameters>
1341         <Parameter Name="name" Type="Mono.Unix.Native.ConfstrName" />
1342         <Parameter Name="buf" Type="System.Text.StringBuilder" />
1343         <Parameter Name="len" Type="System.UInt64" />
1344       </Parameters>
1345       <Docs>
1346         <param name="name">To be added.</param>
1347         <param name="buf">To be added.</param>
1348         <param name="len">To be added.</param>
1349         <summary>To be added.</summary>
1350         <returns>To be added.</returns>
1351         <remarks>To be added.</remarks>
1352       </Docs>
1353     </Member>
1354     <Member MemberName="creat">
1355       <MemberSignature Language="C#" Value="public static int creat (string pathname, Mono.Unix.Native.FilePermissions mode);" />
1356       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_creat&quot; winapi lasterr)int32 creat(string pathname, valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
1357       <MemberType>Method</MemberType>
1358       <AssemblyInfo>
1359         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1360         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1361         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1362       </AssemblyInfo>
1363       <ReturnValue>
1364         <ReturnType>System.Int32</ReturnType>
1365       </ReturnValue>
1366       <Parameters>
1367         <Parameter Name="pathname" Type="System.String" />
1368         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
1369       </Parameters>
1370       <Docs>
1371         <param name="pathname">To be added.</param>
1372         <param name="mode">To be added.</param>
1373         <summary>Creates a file 'pathname' using the given file mode flags.</summary>
1374         <returns>To be added.</returns>
1375         <remarks>
1376           <para>
1377             This interface is made obsolete by:
1378             <see cref="M:Mono.Unix.Native.Syscall.open" />(2) .
1379           </para>
1380           <para>
1381             The
1382             <c>creat</c>()
1383             function
1384             is the same as:
1385           </para>
1386           <block subset="none" type="usage">
1387             <para>open(path, O_CREAT | O_TRUNC | O_WRONLY, mode);</para>
1388           </block>
1389           <para>
1390           </para>
1391         </remarks>
1392         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
1393       </Docs>
1394     </Member>
1395     <Member MemberName="crypt">
1396       <MemberSignature Language="C#" Value="public static string crypt (string key, string salt);" />
1397       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string crypt(string key, string salt) cil managed" />
1398       <MemberType>Method</MemberType>
1399       <AssemblyInfo>
1400         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1401         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1402         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1403       </AssemblyInfo>
1404       <Attributes>
1405         <Attribute>
1406           <AttributeName>System.Obsolete("This is insecure and should not be used", true)</AttributeName>
1407         </Attribute>
1408       </Attributes>
1409       <ReturnValue>
1410         <ReturnType>System.String</ReturnType>
1411       </ReturnValue>
1412       <Parameters>
1413         <Parameter Name="key" Type="System.String" />
1414         <Parameter Name="salt" Type="System.String" />
1415       </Parameters>
1416       <Docs>
1417         <param name="key">To be added.</param>
1418         <param name="salt">To be added.</param>
1419         <summary>To be added.</summary>
1420         <returns>To be added.</returns>
1421         <remarks>To be added.</remarks>
1422       </Docs>
1423     </Member>
1424     <Member MemberName="cuserid">
1425       <MemberSignature Language="C#" Value="public static string cuserid (System.Text.StringBuilder string);" />
1426       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string cuserid(class System.Text.StringBuilder string) cil managed" />
1427       <MemberType>Method</MemberType>
1428       <AssemblyInfo>
1429         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1430         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1431         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1432       </AssemblyInfo>
1433       <Attributes>
1434         <Attribute>
1435           <AttributeName>System.Obsolete(""Nobody knows precisely what cuserid() does... DO NOT USE cuserid().
1436 `string' must hold L_cuserid characters.  Use getlogin_r instead.")</AttributeName>
1437         </Attribute>
1438       </Attributes>
1439       <ReturnValue>
1440         <ReturnType>System.String</ReturnType>
1441       </ReturnValue>
1442       <Parameters>
1443         <Parameter Name="string" Type="System.Text.StringBuilder" />
1444       </Parameters>
1445       <Docs>
1446         <param name="string">To be added.</param>
1447         <summary>To be added.</summary>
1448         <returns>To be added.</returns>
1449         <remarks>To be added.</remarks>
1450       </Docs>
1451     </Member>
1452     <Member MemberName="dirfd">
1453       <MemberSignature Language="C#" Value="public static int dirfd (IntPtr dir);" />
1454       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;dirfd&quot; winapi lasterr)int32 dirfd(native int dir) cil managed" />
1455       <MemberType>Method</MemberType>
1456       <AssemblyInfo>
1457         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1458         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1459         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1460       </AssemblyInfo>
1461       <ReturnValue>
1462         <ReturnType>System.Int32</ReturnType>
1463       </ReturnValue>
1464       <Parameters>
1465         <Parameter Name="dir" Type="System.IntPtr" />
1466       </Parameters>
1467       <Docs>
1468         <param name="dir">To be added.</param>
1469         <summary>To be added.</summary>
1470         <returns>To be added.</returns>
1471         <remarks>To be added.</remarks>
1472       </Docs>
1473     </Member>
1474     <Member MemberName="dup">
1475       <MemberSignature Language="C#" Value="public static int dup (int fd);" />
1476       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;dup&quot; winapi lasterr)int32 dup(int32 fd) cil managed" />
1477       <MemberType>Method</MemberType>
1478       <AssemblyInfo>
1479         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1480         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1481         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1482       </AssemblyInfo>
1483       <ReturnValue>
1484         <ReturnType>System.Int32</ReturnType>
1485       </ReturnValue>
1486       <Parameters>
1487         <Parameter Name="fd" Type="System.Int32" />
1488       </Parameters>
1489       <Docs>
1490         <param name="fd">To be added.</param>
1491         <summary>dup duplicates a file descriptor to the lowest unused file descriptor available.</summary>
1492         <returns>To be added.</returns>
1493         <remarks>To be added.</remarks>
1494       </Docs>
1495     </Member>
1496     <Member MemberName="dup2">
1497       <MemberSignature Language="C#" Value="public static int dup2 (int fd, int fd2);" />
1498       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;dup2&quot; winapi lasterr)int32 dup2(int32 fd, int32 fd2) cil managed" />
1499       <MemberType>Method</MemberType>
1500       <AssemblyInfo>
1501         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1502         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1503         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1504       </AssemblyInfo>
1505       <ReturnValue>
1506         <ReturnType>System.Int32</ReturnType>
1507       </ReturnValue>
1508       <Parameters>
1509         <Parameter Name="fd" Type="System.Int32" />
1510         <Parameter Name="fd2" Type="System.Int32" />
1511       </Parameters>
1512       <Docs>
1513         <param name="fd">To be added.</param>
1514         <param name="fd2">To be added.</param>
1515         <summary>dup2 duplicates a file descriptor to another specified file descriptor. If the destination file descriptor is already used, it is closed. The two descriptors share all (ie. file locks, position, etc.) but the close-on-exec flag.</summary>
1516         <returns>To be added.</returns>
1517         <remarks>To be added.</remarks>
1518       </Docs>
1519     </Member>
1520     <Member MemberName="encrypt">
1521       <MemberSignature Language="C#" Value="public static int encrypt (byte[] block, bool decode);" />
1522       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 encrypt(unsigned int8[] block, bool decode) cil managed" />
1523       <MemberType>Method</MemberType>
1524       <AssemblyInfo>
1525         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1526         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1527         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1528       </AssemblyInfo>
1529       <Attributes>
1530         <Attribute>
1531           <AttributeName>System.Obsolete("This is insecure and should not be used", true)</AttributeName>
1532         </Attribute>
1533       </Attributes>
1534       <ReturnValue>
1535         <ReturnType>System.Int32</ReturnType>
1536       </ReturnValue>
1537       <Parameters>
1538         <Parameter Name="block" Type="System.Byte[]" />
1539         <Parameter Name="decode" Type="System.Boolean" />
1540       </Parameters>
1541       <Docs>
1542         <param name="block">To be added.</param>
1543         <param name="decode">To be added.</param>
1544         <summary>To be added.</summary>
1545         <returns>To be added.</returns>
1546         <remarks>To be added.</remarks>
1547       </Docs>
1548     </Member>
1549     <Member MemberName="endfsent">
1550       <MemberSignature Language="C#" Value="public static int endfsent ();" />
1551       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 endfsent() cil managed" />
1552       <MemberType>Method</MemberType>
1553       <AssemblyInfo>
1554         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1555         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1556         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1557       </AssemblyInfo>
1558       <ReturnValue>
1559         <ReturnType>System.Int32</ReturnType>
1560       </ReturnValue>
1561       <Parameters />
1562       <Docs>
1563         <summary>To be added.</summary>
1564         <returns>To be added.</returns>
1565         <remarks>To be added.</remarks>
1566       </Docs>
1567     </Member>
1568     <Member MemberName="endgrent">
1569       <MemberSignature Language="C#" Value="public static int endgrent ();" />
1570       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 endgrent() cil managed" />
1571       <MemberType>Method</MemberType>
1572       <AssemblyInfo>
1573         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1574         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1575         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1576       </AssemblyInfo>
1577       <ReturnValue>
1578         <ReturnType>System.Int32</ReturnType>
1579       </ReturnValue>
1580       <Parameters />
1581       <Docs>
1582         <summary>To be added.</summary>
1583         <returns>To be added.</returns>
1584         <remarks>To be added.</remarks>
1585       </Docs>
1586     </Member>
1587     <Member MemberName="endpwent">
1588       <MemberSignature Language="C#" Value="public static int endpwent ();" />
1589       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 endpwent() cil managed" />
1590       <MemberType>Method</MemberType>
1591       <AssemblyInfo>
1592         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1593         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1594         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1595       </AssemblyInfo>
1596       <ReturnValue>
1597         <ReturnType>System.Int32</ReturnType>
1598       </ReturnValue>
1599       <Parameters />
1600       <Docs>
1601         <summary>To be added.</summary>
1602         <returns>To be added.</returns>
1603         <remarks>To be added.</remarks>
1604       </Docs>
1605     </Member>
1606     <Member MemberName="endusershell">
1607       <MemberSignature Language="C#" Value="public static int endusershell ();" />
1608       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 endusershell() cil managed" />
1609       <MemberType>Method</MemberType>
1610       <AssemblyInfo>
1611         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1612         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1613         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1614       </AssemblyInfo>
1615       <ReturnValue>
1616         <ReturnType>System.Int32</ReturnType>
1617       </ReturnValue>
1618       <Parameters />
1619       <Docs>
1620         <summary>To be added.</summary>
1621         <returns>To be added.</returns>
1622         <remarks>To be added.</remarks>
1623       </Docs>
1624     </Member>
1625     <Member MemberName="epoll_create">
1626       <MemberSignature Language="C#" Value="public static int epoll_create (Mono.Unix.Native.EpollFlags flags);" />
1627       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 epoll_create(valuetype Mono.Unix.Native.EpollFlags flags) cil managed" />
1628       <MemberType>Method</MemberType>
1629       <AssemblyInfo>
1630         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1631       </AssemblyInfo>
1632       <ReturnValue>
1633         <ReturnType>System.Int32</ReturnType>
1634       </ReturnValue>
1635       <Parameters>
1636         <Parameter Name="flags" Type="Mono.Unix.Native.EpollFlags" />
1637       </Parameters>
1638       <Docs>
1639         <param name="flags">To be added.</param>
1640         <summary>To be added.</summary>
1641         <returns>To be added.</returns>
1642         <remarks>To be added.</remarks>
1643       </Docs>
1644     </Member>
1645     <Member MemberName="epoll_create">
1646       <MemberSignature Language="C#" Value="public static int epoll_create (int size);" />
1647       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 epoll_create(int32 size) cil managed" />
1648       <MemberType>Method</MemberType>
1649       <AssemblyInfo>
1650         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1651       </AssemblyInfo>
1652       <ReturnValue>
1653         <ReturnType>System.Int32</ReturnType>
1654       </ReturnValue>
1655       <Parameters>
1656         <Parameter Name="size" Type="System.Int32" />
1657       </Parameters>
1658       <Docs>
1659         <param name="size">To be added.</param>
1660         <summary>To be added.</summary>
1661         <returns>To be added.</returns>
1662         <remarks>To be added.</remarks>
1663       </Docs>
1664     </Member>
1665     <Member MemberName="epoll_ctl">
1666       <MemberSignature Language="C#" Value="public static int epoll_ctl (int epfd, Mono.Unix.Native.EpollOp op, int fd, Mono.Unix.Native.EpollEvents events);" />
1667       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 epoll_ctl(int32 epfd, valuetype Mono.Unix.Native.EpollOp op, int32 fd, valuetype Mono.Unix.Native.EpollEvents events) cil managed" />
1668       <MemberType>Method</MemberType>
1669       <AssemblyInfo>
1670         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1671       </AssemblyInfo>
1672       <ReturnValue>
1673         <ReturnType>System.Int32</ReturnType>
1674       </ReturnValue>
1675       <Parameters>
1676         <Parameter Name="epfd" Type="System.Int32" />
1677         <Parameter Name="op" Type="Mono.Unix.Native.EpollOp" />
1678         <Parameter Name="fd" Type="System.Int32" />
1679         <Parameter Name="events" Type="Mono.Unix.Native.EpollEvents" />
1680       </Parameters>
1681       <Docs>
1682         <param name="epfd">To be added.</param>
1683         <param name="op">To be added.</param>
1684         <param name="fd">To be added.</param>
1685         <param name="events">To be added.</param>
1686         <summary>To be added.</summary>
1687         <returns>To be added.</returns>
1688         <remarks>To be added.</remarks>
1689       </Docs>
1690     </Member>
1691     <Member MemberName="epoll_wait">
1692       <MemberSignature Language="C#" Value="public static int epoll_wait (int epfd, Mono.Unix.Native.EpollEvent[] events, int max_events, int timeout);" />
1693       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 epoll_wait(int32 epfd, valuetype Mono.Unix.Native.EpollEvent[] events, int32 max_events, int32 timeout) cil managed" />
1694       <MemberType>Method</MemberType>
1695       <AssemblyInfo>
1696         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1697       </AssemblyInfo>
1698       <ReturnValue>
1699         <ReturnType>System.Int32</ReturnType>
1700       </ReturnValue>
1701       <Parameters>
1702         <Parameter Name="epfd" Type="System.Int32" />
1703         <Parameter Name="events" Type="Mono.Unix.Native.EpollEvent[]" />
1704         <Parameter Name="max_events" Type="System.Int32" />
1705         <Parameter Name="timeout" Type="System.Int32" />
1706       </Parameters>
1707       <Docs>
1708         <param name="epfd">To be added.</param>
1709         <param name="events">To be added.</param>
1710         <param name="max_events">To be added.</param>
1711         <param name="timeout">To be added.</param>
1712         <summary>To be added.</summary>
1713         <returns>To be added.</returns>
1714         <remarks>To be added.</remarks>
1715       </Docs>
1716     </Member>
1717     <Member MemberName="execv">
1718       <MemberSignature Language="C#" Value="public static int execv (string path, string[] argv);" />
1719       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;execv&quot; winapi lasterr)int32 execv(string path, string[] argv) cil managed" />
1720       <MemberType>Method</MemberType>
1721       <AssemblyInfo>
1722         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1723         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1724         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1725       </AssemblyInfo>
1726       <ReturnValue>
1727         <ReturnType>System.Int32</ReturnType>
1728       </ReturnValue>
1729       <Parameters>
1730         <Parameter Name="path" Type="System.String" />
1731         <Parameter Name="argv" Type="System.String[]" />
1732       </Parameters>
1733       <Docs>
1734         <param name="path">To be added.</param>
1735         <param name="argv">To be added.</param>
1736         <summary>To be added.</summary>
1737         <returns>To be added.</returns>
1738         <remarks>To be added.</remarks>
1739       </Docs>
1740     </Member>
1741     <Member MemberName="execve">
1742       <MemberSignature Language="C#" Value="public static int execve (string path, string[] argv, string[] envp);" />
1743       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;execve&quot; winapi lasterr)int32 execve(string path, string[] argv, string[] envp) cil managed" />
1744       <MemberType>Method</MemberType>
1745       <AssemblyInfo>
1746         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1747         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1748         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1749       </AssemblyInfo>
1750       <ReturnValue>
1751         <ReturnType>System.Int32</ReturnType>
1752       </ReturnValue>
1753       <Parameters>
1754         <Parameter Name="path" Type="System.String" />
1755         <Parameter Name="argv" Type="System.String[]" />
1756         <Parameter Name="envp" Type="System.String[]" />
1757       </Parameters>
1758       <Docs>
1759         <param name="path">To be added.</param>
1760         <param name="argv">To be added.</param>
1761         <param name="envp">To be added.</param>
1762         <summary>To be added.</summary>
1763         <returns>To be added.</returns>
1764         <remarks>To be added.</remarks>
1765       </Docs>
1766     </Member>
1767     <Member MemberName="execvp">
1768       <MemberSignature Language="C#" Value="public static int execvp (string path, string[] argv);" />
1769       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;execvp&quot; winapi lasterr)int32 execvp(string path, string[] argv) cil managed" />
1770       <MemberType>Method</MemberType>
1771       <AssemblyInfo>
1772         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1773         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1774         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1775       </AssemblyInfo>
1776       <ReturnValue>
1777         <ReturnType>System.Int32</ReturnType>
1778       </ReturnValue>
1779       <Parameters>
1780         <Parameter Name="path" Type="System.String" />
1781         <Parameter Name="argv" Type="System.String[]" />
1782       </Parameters>
1783       <Docs>
1784         <param name="path">To be added.</param>
1785         <param name="argv">To be added.</param>
1786         <summary>To be added.</summary>
1787         <returns>To be added.</returns>
1788         <remarks>To be added.</remarks>
1789       </Docs>
1790     </Member>
1791     <Member MemberName="fchdir">
1792       <MemberSignature Language="C#" Value="public static int fchdir (int fd);" />
1793       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;fchdir&quot; winapi lasterr)int32 fchdir(int32 fd) cil managed" />
1794       <MemberType>Method</MemberType>
1795       <AssemblyInfo>
1796         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1797         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1798         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1799       </AssemblyInfo>
1800       <ReturnValue>
1801         <ReturnType>System.Int32</ReturnType>
1802       </ReturnValue>
1803       <Parameters>
1804         <Parameter Name="fd" Type="System.Int32" />
1805       </Parameters>
1806       <Docs>
1807         <param name="fd">To be added.</param>
1808         <summary>To be added.</summary>
1809         <returns>To be added.</returns>
1810         <remarks>To be added.</remarks>
1811       </Docs>
1812     </Member>
1813     <Member MemberName="fchmod">
1814       <MemberSignature Language="C#" Value="public static int fchmod (int filedes, Mono.Unix.Native.FilePermissions mode);" />
1815       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 fchmod(int32 filedes, valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
1816       <MemberType>Method</MemberType>
1817       <AssemblyInfo>
1818         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1819         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1820         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1821       </AssemblyInfo>
1822       <ReturnValue>
1823         <ReturnType>System.Int32</ReturnType>
1824       </ReturnValue>
1825       <Parameters>
1826         <Parameter Name="filedes" Type="System.Int32" />
1827         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
1828       </Parameters>
1829       <Docs>
1830         <param name="filedes">To be added.</param>
1831         <param name="mode">To be added.</param>
1832         <summary>To be added.</summary>
1833         <returns>To be added.</returns>
1834         <remarks>To be added.</remarks>
1835       </Docs>
1836     </Member>
1837     <Member MemberName="fchown">
1838       <MemberSignature Language="C#" Value="public static int fchown (int fd, uint owner, uint group);" />
1839       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;fchown&quot; winapi lasterr)int32 fchown(int32 fd, unsigned int32 owner, unsigned int32 group) cil managed" />
1840       <MemberType>Method</MemberType>
1841       <AssemblyInfo>
1842         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1843         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1844         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1845       </AssemblyInfo>
1846       <ReturnValue>
1847         <ReturnType>System.Int32</ReturnType>
1848       </ReturnValue>
1849       <Parameters>
1850         <Parameter Name="fd" Type="System.Int32" />
1851         <Parameter Name="owner" Type="System.UInt32" />
1852         <Parameter Name="group" Type="System.UInt32" />
1853       </Parameters>
1854       <Docs>
1855         <param name="fd">To be added.</param>
1856         <param name="owner">To be added.</param>
1857         <param name="group">To be added.</param>
1858         <summary>To be added.</summary>
1859         <returns>To be added.</returns>
1860         <remarks>To be added.</remarks>
1861       </Docs>
1862     </Member>
1863     <Member MemberName="fcntl">
1864       <MemberSignature Language="C#" Value="public static int fcntl (int fd, Mono.Unix.Native.FcntlCommand cmd);" />
1865       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fcntl&quot; winapi lasterr)int32 fcntl(int32 fd, valuetype Mono.Unix.Native.FcntlCommand cmd) cil managed" />
1866       <MemberType>Method</MemberType>
1867       <AssemblyInfo>
1868         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1869         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1870         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1871       </AssemblyInfo>
1872       <ReturnValue>
1873         <ReturnType>System.Int32</ReturnType>
1874       </ReturnValue>
1875       <Parameters>
1876         <Parameter Name="fd" Type="System.Int32" />
1877         <Parameter Name="cmd" Type="Mono.Unix.Native.FcntlCommand" />
1878       </Parameters>
1879       <Docs>
1880         <param name="fd">To be added.</param>
1881         <param name="cmd">To be added.</param>
1882         <summary>To be added.</summary>
1883         <returns>To be added.</returns>
1884         <remarks>To be added.</remarks>
1885       </Docs>
1886     </Member>
1887     <Member MemberName="fcntl">
1888       <MemberSignature Language="C#" Value="public static int fcntl (int fd, Mono.Unix.Native.FcntlCommand cmd, Mono.Unix.Native.DirectoryNotifyFlags arg);" />
1889       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 fcntl(int32 fd, valuetype Mono.Unix.Native.FcntlCommand cmd, valuetype Mono.Unix.Native.DirectoryNotifyFlags arg) cil managed" />
1890       <MemberType>Method</MemberType>
1891       <AssemblyInfo>
1892         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1893         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1894         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1895       </AssemblyInfo>
1896       <ReturnValue>
1897         <ReturnType>System.Int32</ReturnType>
1898       </ReturnValue>
1899       <Parameters>
1900         <Parameter Name="fd" Type="System.Int32" />
1901         <Parameter Name="cmd" Type="Mono.Unix.Native.FcntlCommand" />
1902         <Parameter Name="arg" Type="Mono.Unix.Native.DirectoryNotifyFlags" />
1903       </Parameters>
1904       <Docs>
1905         <param name="fd">To be added.</param>
1906         <param name="cmd">To be added.</param>
1907         <param name="arg">To be added.</param>
1908         <summary>To be added.</summary>
1909         <returns>To be added.</returns>
1910         <remarks>To be added.</remarks>
1911       </Docs>
1912     </Member>
1913     <Member MemberName="fcntl">
1914       <MemberSignature Language="C#" Value="public static int fcntl (int fd, Mono.Unix.Native.FcntlCommand cmd, ref Mono.Unix.Native.Flock lock);" />
1915       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fcntl_lock&quot; winapi lasterr)int32 fcntl(int32 fd, valuetype Mono.Unix.Native.FcntlCommand cmd, valuetype Mono.Unix.Native.Flock lock) cil managed" />
1916       <MemberType>Method</MemberType>
1917       <AssemblyInfo>
1918         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1919         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1920         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1921       </AssemblyInfo>
1922       <ReturnValue>
1923         <ReturnType>System.Int32</ReturnType>
1924       </ReturnValue>
1925       <Parameters>
1926         <Parameter Name="fd" Type="System.Int32" />
1927         <Parameter Name="cmd" Type="Mono.Unix.Native.FcntlCommand" />
1928         <Parameter Name="lock" Type="Mono.Unix.Native.Flock&amp;" RefType="ref" />
1929       </Parameters>
1930       <Docs>
1931         <param name="fd">To be added.</param>
1932         <param name="cmd">To be added.</param>
1933         <param name="lock">To be added.</param>
1934         <summary>To be added.</summary>
1935         <returns>To be added.</returns>
1936         <remarks>To be added.</remarks>
1937       </Docs>
1938     </Member>
1939     <Member MemberName="fcntl">
1940       <MemberSignature Language="C#" Value="public static int fcntl (int fd, Mono.Unix.Native.FcntlCommand cmd, long arg);" />
1941       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fcntl_arg&quot; winapi lasterr)int32 fcntl(int32 fd, valuetype Mono.Unix.Native.FcntlCommand cmd, int64 arg) cil managed" />
1942       <MemberType>Method</MemberType>
1943       <AssemblyInfo>
1944         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1945         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1946         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1947       </AssemblyInfo>
1948       <ReturnValue>
1949         <ReturnType>System.Int32</ReturnType>
1950       </ReturnValue>
1951       <Parameters>
1952         <Parameter Name="fd" Type="System.Int32" />
1953         <Parameter Name="cmd" Type="Mono.Unix.Native.FcntlCommand" />
1954         <Parameter Name="arg" Type="System.Int64" />
1955       </Parameters>
1956       <Docs>
1957         <param name="fd">To be added.</param>
1958         <param name="cmd">To be added.</param>
1959         <param name="arg">To be added.</param>
1960         <summary>To be added.</summary>
1961         <returns>To be added.</returns>
1962         <remarks>To be added.</remarks>
1963       </Docs>
1964     </Member>
1965     <Member MemberName="fdatasync">
1966       <MemberSignature Language="C#" Value="public static int fdatasync (int fd);" />
1967       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;fdatasync&quot; winapi lasterr)int32 fdatasync(int32 fd) cil managed" />
1968       <MemberType>Method</MemberType>
1969       <AssemblyInfo>
1970         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
1971         <AssemblyVersion>2.0.0.0</AssemblyVersion>
1972         <AssemblyVersion>4.0.0.0</AssemblyVersion>
1973       </AssemblyInfo>
1974       <ReturnValue>
1975         <ReturnType>System.Int32</ReturnType>
1976       </ReturnValue>
1977       <Parameters>
1978         <Parameter Name="fd" Type="System.Int32" />
1979       </Parameters>
1980       <Docs>
1981         <param name="fd">To be added.</param>
1982         <summary>Synchronize changes to a file.</summary>
1983         <returns>
1984           <para>
1985             On success, zero is returned.
1986             On error, -1 is returned and 
1987             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
1988             returns the translated error.
1989           </para>
1990           <block subset="none" type="usage">
1991             <para>
1992               The
1993               <c>fsync</c>()
1994               fails if:
1995             </para>
1996             <list type="table">
1997               <listheader>
1998                 <term>
1999                   Error
2000                 </term>
2001                 <description>
2002                   Details
2003                 </description>
2004               </listheader>
2005               <item>
2006                 <term>
2007                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
2008                 </term>
2009                 <description>
2010                   <para>
2011                     The
2012                     <paramref name="fd" /> 
2013                     argument
2014                     is not a valid descriptor.
2015                   </para>
2016                 </description>
2017               </item>
2018               <item>
2019                 <term>
2020                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
2021                 </term>
2022                 <description>
2023                   <para>
2024                     The
2025                     <paramref name="fd" /> 
2026                     argument
2027                     refers to a socket, not to a file.
2028                   </para>
2029                 </description>
2030               </item>
2031               <item>
2032                 <term>
2033                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
2034                 </term>
2035                 <description>
2036                   <para>
2037                     An I/O error occurred while reading from or writing to the file system.
2038                   </para>
2039                 </description>
2040               </item>
2041             </list>
2042             <para>
2043             </para>
2044           </block>
2045         </returns>
2046         <remarks>
2047           <para>
2048             The
2049             <c>fsync</c>()
2050             system call
2051             causes all modified data and attributes of
2052             <paramref name="fd" /> 
2053             to be moved to a permanent storage device.
2054             This normally results in all in-core modified copies
2055             of buffers for the associated file to be written to a disk.
2056           </para>
2057           <para>
2058             The
2059             <c>fsync</c>()
2060             system call
2061             should be used by programs that require a file to be
2062             in a known state, for example, in building a simple transaction
2063             facility.
2064           </para>
2065         </remarks>
2066         <altmember cref="M:Mono.Unix.Native.Syscall.sync" />
2067       </Docs>
2068     </Member>
2069     <Member MemberName="fexecve">
2070       <MemberSignature Language="C#" Value="public static int fexecve (int fd, string[] argv, string[] envp);" />
2071       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;fexecve&quot; winapi lasterr)int32 fexecve(int32 fd, string[] argv, string[] envp) cil managed" />
2072       <MemberType>Method</MemberType>
2073       <AssemblyInfo>
2074         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2075         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2076         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2077       </AssemblyInfo>
2078       <ReturnValue>
2079         <ReturnType>System.Int32</ReturnType>
2080       </ReturnValue>
2081       <Parameters>
2082         <Parameter Name="fd" Type="System.Int32" />
2083         <Parameter Name="argv" Type="System.String[]" />
2084         <Parameter Name="envp" Type="System.String[]" />
2085       </Parameters>
2086       <Docs>
2087         <param name="fd">To be added.</param>
2088         <param name="argv">To be added.</param>
2089         <param name="envp">To be added.</param>
2090         <summary>To be added.</summary>
2091         <returns>To be added.</returns>
2092         <remarks>To be added.</remarks>
2093       </Docs>
2094     </Member>
2095     <Member MemberName="fgetgrent">
2096       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Group fgetgrent (IntPtr stream);" />
2097       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Group fgetgrent(native int stream) cil managed" />
2098       <MemberType>Method</MemberType>
2099       <AssemblyInfo>
2100         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2101         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2102         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2103       </AssemblyInfo>
2104       <ReturnValue>
2105         <ReturnType>Mono.Unix.Native.Group</ReturnType>
2106       </ReturnValue>
2107       <Parameters>
2108         <Parameter Name="stream" Type="System.IntPtr" />
2109       </Parameters>
2110       <Docs>
2111         <param name="stream">To be added.</param>
2112         <summary>To be added.</summary>
2113         <returns>To be added.</returns>
2114         <remarks>To be added.</remarks>
2115       </Docs>
2116     </Member>
2117     <Member MemberName="fgetpwent">
2118       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Passwd fgetpwent (IntPtr stream);" />
2119       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Passwd fgetpwent(native int stream) cil managed" />
2120       <MemberType>Method</MemberType>
2121       <AssemblyInfo>
2122         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2123         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2124         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2125       </AssemblyInfo>
2126       <ReturnValue>
2127         <ReturnType>Mono.Unix.Native.Passwd</ReturnType>
2128       </ReturnValue>
2129       <Parameters>
2130         <Parameter Name="stream" Type="System.IntPtr" />
2131       </Parameters>
2132       <Docs>
2133         <param name="stream">To be added.</param>
2134         <summary>To be added.</summary>
2135         <returns>To be added.</returns>
2136         <remarks>To be added.</remarks>
2137       </Docs>
2138     </Member>
2139     <Member MemberName="fgetxattr">
2140       <MemberSignature Language="C#" Value="public static long fgetxattr (int fd, string name, byte[] value);" />
2141       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 fgetxattr(int32 fd, string name, unsigned int8[] value) cil managed" />
2142       <MemberType>Method</MemberType>
2143       <AssemblyInfo>
2144         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2145         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2146         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2147       </AssemblyInfo>
2148       <ReturnValue>
2149         <ReturnType>System.Int64</ReturnType>
2150       </ReturnValue>
2151       <Parameters>
2152         <Parameter Name="fd" Type="System.Int32" />
2153         <Parameter Name="name" Type="System.String" />
2154         <Parameter Name="value" Type="System.Byte[]" />
2155       </Parameters>
2156       <Docs>
2157         <param name="fd">To be added.</param>
2158         <param name="name">To be added.</param>
2159         <param name="value">To be added.</param>
2160         <summary>To be added.</summary>
2161         <returns>To be added.</returns>
2162         <remarks>To be added.</remarks>
2163       </Docs>
2164     </Member>
2165     <Member MemberName="fgetxattr">
2166       <MemberSignature Language="C#" Value="public static long fgetxattr (int fd, string name, out byte[] value);" />
2167       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 fgetxattr(int32 fd, string name, unsigned int8[] value) cil managed" />
2168       <MemberType>Method</MemberType>
2169       <AssemblyInfo>
2170         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2171         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2172         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2173       </AssemblyInfo>
2174       <ReturnValue>
2175         <ReturnType>System.Int64</ReturnType>
2176       </ReturnValue>
2177       <Parameters>
2178         <Parameter Name="fd" Type="System.Int32" />
2179         <Parameter Name="name" Type="System.String" />
2180         <Parameter Name="value" Type="System.Byte[]&amp;" RefType="out" />
2181       </Parameters>
2182       <Docs>
2183         <param name="fd">To be added.</param>
2184         <param name="name">To be added.</param>
2185         <param name="value">To be added.</param>
2186         <summary>To be added.</summary>
2187         <returns>To be added.</returns>
2188         <remarks>To be added.</remarks>
2189       </Docs>
2190     </Member>
2191     <Member MemberName="fgetxattr">
2192       <MemberSignature Language="C#" Value="public static long fgetxattr (int fd, string name, byte[] value, ulong size);" />
2193       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fgetxattr&quot; winapi lasterr)int64 fgetxattr(int32 fd, string name, unsigned int8[] value, unsigned int64 size) cil managed" />
2194       <MemberType>Method</MemberType>
2195       <AssemblyInfo>
2196         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2197         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2198         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2199       </AssemblyInfo>
2200       <ReturnValue>
2201         <ReturnType>System.Int64</ReturnType>
2202       </ReturnValue>
2203       <Parameters>
2204         <Parameter Name="fd" Type="System.Int32" />
2205         <Parameter Name="name" Type="System.String" />
2206         <Parameter Name="value" Type="System.Byte[]" />
2207         <Parameter Name="size" Type="System.UInt64" />
2208       </Parameters>
2209       <Docs>
2210         <param name="fd">To be added.</param>
2211         <param name="name">To be added.</param>
2212         <param name="value">To be added.</param>
2213         <param name="size">To be added.</param>
2214         <summary>To be added.</summary>
2215         <returns>To be added.</returns>
2216         <remarks>To be added.</remarks>
2217       </Docs>
2218     </Member>
2219     <Member MemberName="flistxattr">
2220       <MemberSignature Language="C#" Value="public static long flistxattr (int fd, out string[] values);" />
2221       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 flistxattr(int32 fd, string[] values) cil managed" />
2222       <MemberType>Method</MemberType>
2223       <AssemblyInfo>
2224         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2225         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2226         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2227       </AssemblyInfo>
2228       <ReturnValue>
2229         <ReturnType>System.Int64</ReturnType>
2230       </ReturnValue>
2231       <Parameters>
2232         <Parameter Name="fd" Type="System.Int32" />
2233         <Parameter Name="values" Type="System.String[]&amp;" RefType="out" />
2234       </Parameters>
2235       <Docs>
2236         <param name="fd">To be added.</param>
2237         <param name="values">To be added.</param>
2238         <summary>To be added.</summary>
2239         <returns>To be added.</returns>
2240         <remarks>To be added.</remarks>
2241       </Docs>
2242     </Member>
2243     <Member MemberName="flistxattr">
2244       <MemberSignature Language="C#" Value="public static long flistxattr (int fd, byte[] list, ulong size);" />
2245       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_flistxattr&quot; winapi lasterr)int64 flistxattr(int32 fd, unsigned int8[] list, unsigned int64 size) cil managed" />
2246       <MemberType>Method</MemberType>
2247       <AssemblyInfo>
2248         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2249         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2250         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2251       </AssemblyInfo>
2252       <ReturnValue>
2253         <ReturnType>System.Int64</ReturnType>
2254       </ReturnValue>
2255       <Parameters>
2256         <Parameter Name="fd" Type="System.Int32" />
2257         <Parameter Name="list" Type="System.Byte[]" />
2258         <Parameter Name="size" Type="System.UInt64" />
2259       </Parameters>
2260       <Docs>
2261         <param name="fd">To be added.</param>
2262         <param name="list">To be added.</param>
2263         <param name="size">To be added.</param>
2264         <summary>To be added.</summary>
2265         <returns>To be added.</returns>
2266         <remarks>To be added.</remarks>
2267       </Docs>
2268     </Member>
2269     <Member MemberName="flistxattr">
2270       <MemberSignature Language="C#" Value="public static long flistxattr (int fd, System.Text.Encoding encoding, out string[] values);" />
2271       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 flistxattr(int32 fd, class System.Text.Encoding encoding, string[] values) cil managed" />
2272       <MemberType>Method</MemberType>
2273       <AssemblyInfo>
2274         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2275         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2276         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2277       </AssemblyInfo>
2278       <ReturnValue>
2279         <ReturnType>System.Int64</ReturnType>
2280       </ReturnValue>
2281       <Parameters>
2282         <Parameter Name="fd" Type="System.Int32" />
2283         <Parameter Name="encoding" Type="System.Text.Encoding" />
2284         <Parameter Name="values" Type="System.String[]&amp;" RefType="out" />
2285       </Parameters>
2286       <Docs>
2287         <param name="fd">To be added.</param>
2288         <param name="encoding">To be added.</param>
2289         <param name="values">To be added.</param>
2290         <summary>To be added.</summary>
2291         <returns>To be added.</returns>
2292         <remarks>To be added.</remarks>
2293       </Docs>
2294     </Member>
2295     <Member MemberName="fpathconf">
2296       <MemberSignature Language="C#" Value="public static long fpathconf (int filedes, Mono.Unix.Native.PathconfName name);" />
2297       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 fpathconf(int32 filedes, valuetype Mono.Unix.Native.PathconfName name) cil managed" />
2298       <MemberType>Method</MemberType>
2299       <AssemblyInfo>
2300         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2301         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2302         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2303       </AssemblyInfo>
2304       <ReturnValue>
2305         <ReturnType>System.Int64</ReturnType>
2306       </ReturnValue>
2307       <Parameters>
2308         <Parameter Name="filedes" Type="System.Int32" />
2309         <Parameter Name="name" Type="Mono.Unix.Native.PathconfName" />
2310       </Parameters>
2311       <Docs>
2312         <param name="filedes">To be added.</param>
2313         <param name="name">To be added.</param>
2314         <summary>To be added.</summary>
2315         <returns>To be added.</returns>
2316         <remarks>To be added.</remarks>
2317       </Docs>
2318     </Member>
2319     <Member MemberName="fpathconf">
2320       <MemberSignature Language="C#" Value="public static long fpathconf (int filedes, Mono.Unix.Native.PathconfName name, Mono.Unix.Native.Errno defaultError);" />
2321       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fpathconf&quot; winapi lasterr)int64 fpathconf(int32 filedes, valuetype Mono.Unix.Native.PathconfName name, valuetype Mono.Unix.Native.Errno defaultError) cil managed" />
2322       <MemberType>Method</MemberType>
2323       <AssemblyInfo>
2324         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2325         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2326         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2327       </AssemblyInfo>
2328       <ReturnValue>
2329         <ReturnType>System.Int64</ReturnType>
2330       </ReturnValue>
2331       <Parameters>
2332         <Parameter Name="filedes" Type="System.Int32" />
2333         <Parameter Name="name" Type="Mono.Unix.Native.PathconfName" />
2334         <Parameter Name="defaultError" Type="Mono.Unix.Native.Errno" />
2335       </Parameters>
2336       <Docs>
2337         <param name="filedes">To be added.</param>
2338         <param name="name">To be added.</param>
2339         <param name="defaultError">To be added.</param>
2340         <summary>To be added.</summary>
2341         <returns>To be added.</returns>
2342         <remarks>To be added.</remarks>
2343       </Docs>
2344     </Member>
2345     <Member MemberName="fremovexattr">
2346       <MemberSignature Language="C#" Value="public static int fremovexattr (int fd, string name);" />
2347       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fremovexattr&quot; winapi lasterr)int32 fremovexattr(int32 fd, string name) cil managed" />
2348       <MemberType>Method</MemberType>
2349       <AssemblyInfo>
2350         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2351         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2352         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2353       </AssemblyInfo>
2354       <ReturnValue>
2355         <ReturnType>System.Int32</ReturnType>
2356       </ReturnValue>
2357       <Parameters>
2358         <Parameter Name="fd" Type="System.Int32" />
2359         <Parameter Name="name" Type="System.String" />
2360       </Parameters>
2361       <Docs>
2362         <param name="fd">To be added.</param>
2363         <param name="name">To be added.</param>
2364         <summary>To be added.</summary>
2365         <returns>To be added.</returns>
2366         <remarks>To be added.</remarks>
2367       </Docs>
2368     </Member>
2369     <Member MemberName="fsetxattr">
2370       <MemberSignature Language="C#" Value="public static int fsetxattr (int fd, string name, byte[] value);" />
2371       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 fsetxattr(int32 fd, string name, unsigned int8[] value) cil managed" />
2372       <MemberType>Method</MemberType>
2373       <AssemblyInfo>
2374         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2375         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2376         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2377       </AssemblyInfo>
2378       <ReturnValue>
2379         <ReturnType>System.Int32</ReturnType>
2380       </ReturnValue>
2381       <Parameters>
2382         <Parameter Name="fd" Type="System.Int32" />
2383         <Parameter Name="name" Type="System.String" />
2384         <Parameter Name="value" Type="System.Byte[]" />
2385       </Parameters>
2386       <Docs>
2387         <param name="fd">To be added.</param>
2388         <param name="name">To be added.</param>
2389         <param name="value">To be added.</param>
2390         <summary>To be added.</summary>
2391         <returns>To be added.</returns>
2392         <remarks>To be added.</remarks>
2393       </Docs>
2394     </Member>
2395     <Member MemberName="fsetxattr">
2396       <MemberSignature Language="C#" Value="public static int fsetxattr (int fd, string name, byte[] value, Mono.Unix.Native.XattrFlags flags);" />
2397       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 fsetxattr(int32 fd, string name, unsigned int8[] value, valuetype Mono.Unix.Native.XattrFlags flags) cil managed" />
2398       <MemberType>Method</MemberType>
2399       <AssemblyInfo>
2400         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2401         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2402         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2403       </AssemblyInfo>
2404       <ReturnValue>
2405         <ReturnType>System.Int32</ReturnType>
2406       </ReturnValue>
2407       <Parameters>
2408         <Parameter Name="fd" Type="System.Int32" />
2409         <Parameter Name="name" Type="System.String" />
2410         <Parameter Name="value" Type="System.Byte[]" />
2411         <Parameter Name="flags" Type="Mono.Unix.Native.XattrFlags" />
2412       </Parameters>
2413       <Docs>
2414         <param name="fd">To be added.</param>
2415         <param name="name">To be added.</param>
2416         <param name="value">To be added.</param>
2417         <param name="flags">To be added.</param>
2418         <summary>To be added.</summary>
2419         <returns>To be added.</returns>
2420         <remarks>To be added.</remarks>
2421       </Docs>
2422     </Member>
2423     <Member MemberName="fsetxattr">
2424       <MemberSignature Language="C#" Value="public static int fsetxattr (int fd, string name, byte[] value, ulong size);" />
2425       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 fsetxattr(int32 fd, string name, unsigned int8[] value, unsigned int64 size) cil managed" />
2426       <MemberType>Method</MemberType>
2427       <AssemblyInfo>
2428         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2429         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2430         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2431       </AssemblyInfo>
2432       <ReturnValue>
2433         <ReturnType>System.Int32</ReturnType>
2434       </ReturnValue>
2435       <Parameters>
2436         <Parameter Name="fd" Type="System.Int32" />
2437         <Parameter Name="name" Type="System.String" />
2438         <Parameter Name="value" Type="System.Byte[]" />
2439         <Parameter Name="size" Type="System.UInt64" />
2440       </Parameters>
2441       <Docs>
2442         <param name="fd">To be added.</param>
2443         <param name="name">To be added.</param>
2444         <param name="value">To be added.</param>
2445         <param name="size">To be added.</param>
2446         <summary>To be added.</summary>
2447         <returns>To be added.</returns>
2448         <remarks>To be added.</remarks>
2449       </Docs>
2450     </Member>
2451     <Member MemberName="fsetxattr">
2452       <MemberSignature Language="C#" Value="public static int fsetxattr (int fd, string name, byte[] value, ulong size, Mono.Unix.Native.XattrFlags flags);" />
2453       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fsetxattr&quot; winapi lasterr)int32 fsetxattr(int32 fd, string name, unsigned int8[] value, unsigned int64 size, valuetype Mono.Unix.Native.XattrFlags flags) cil managed" />
2454       <MemberType>Method</MemberType>
2455       <AssemblyInfo>
2456         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2457         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2458         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2459       </AssemblyInfo>
2460       <ReturnValue>
2461         <ReturnType>System.Int32</ReturnType>
2462       </ReturnValue>
2463       <Parameters>
2464         <Parameter Name="fd" Type="System.Int32" />
2465         <Parameter Name="name" Type="System.String" />
2466         <Parameter Name="value" Type="System.Byte[]" />
2467         <Parameter Name="size" Type="System.UInt64" />
2468         <Parameter Name="flags" Type="Mono.Unix.Native.XattrFlags" />
2469       </Parameters>
2470       <Docs>
2471         <param name="fd">To be added.</param>
2472         <param name="name">To be added.</param>
2473         <param name="value">To be added.</param>
2474         <param name="size">To be added.</param>
2475         <param name="flags">To be added.</param>
2476         <summary>To be added.</summary>
2477         <returns>To be added.</returns>
2478         <remarks>To be added.</remarks>
2479       </Docs>
2480     </Member>
2481     <Member MemberName="fstat">
2482       <MemberSignature Language="C#" Value="public static int fstat (int filedes, out Mono.Unix.Native.Stat buf);" />
2483       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fstat&quot; winapi lasterr)int32 fstat(int32 filedes, valuetype Mono.Unix.Native.Stat buf) cil managed" />
2484       <MemberType>Method</MemberType>
2485       <AssemblyInfo>
2486         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
2487         <AssemblyVersion>2.0.0.0</AssemblyVersion>
2488         <AssemblyVersion>4.0.0.0</AssemblyVersion>
2489       </AssemblyInfo>
2490       <ReturnValue>
2491         <ReturnType>System.Int32</ReturnType>
2492       </ReturnValue>
2493       <Parameters>
2494         <Parameter Name="filedes" Type="System.Int32" />
2495         <Parameter Name="buf" Type="Mono.Unix.Native.Stat&amp;" RefType="out" />
2496       </Parameters>
2497       <Docs>
2498         <param name="filedes">To be added.</param>
2499         <param name="buf">To be added.</param>
2500         <summary>get file status</summary>
2501         <returns>
2502           <para>
2503             On success, zero is returned.
2504             On error, -1 is returned and 
2505             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
2506             returns the translated error.
2507           </para>
2508           <block subset="none" type="usage">
2509             <para>
2510               The
2511               <c>stat</c>()
2512               and
2513               <c>lstat</c>()
2514               system calls will fail if:
2515             </para>
2516             <list type="table">
2517               <listheader>
2518                 <term>
2519                   Error
2520                 </term>
2521                 <description>
2522                   Details
2523                 </description>
2524               </listheader>
2525               <item>
2526                 <term>
2527                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
2528                 </term>
2529                 <description>
2530                   <para>
2531                     Search permission is denied for a component of the path prefix.
2532                   </para>
2533                 </description>
2534               </item>
2535               <item>
2536                 <term>
2537                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
2538                 </term>
2539                 <description>
2540                   <para>
2541                     The
2542                     <paramref name="sb" /> 
2543                     or
2544                     <paramref name="path" /> 
2545                     argument
2546                     points to an invalid address.
2547                   </para>
2548                 </description>
2549               </item>
2550               <item>
2551                 <term>
2552                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
2553                 </term>
2554                 <description>
2555                   <para>
2556                     An I/O error occurred while reading from or writing to the file system.
2557                   </para>
2558                 </description>
2559               </item>
2560               <item>
2561                 <term>
2562                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
2563                 </term>
2564                 <description>
2565                   <para>
2566                     Too many symbolic links were encountered in translating the pathname.
2567                   </para>
2568                 </description>
2569               </item>
2570               <item>
2571                 <term>
2572                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
2573                 </term>
2574                 <description>
2575                   <para>
2576                     A component of a pathname exceeded 255 characters,
2577                     or an entire path name exceeded 1023 characters.
2578                   </para>
2579                 </description>
2580               </item>
2581               <item>
2582                 <term>
2583                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
2584                 </term>
2585                 <description>
2586                   <para>
2587                     The named file does not exist.
2588                   </para>
2589                 </description>
2590               </item>
2591               <item>
2592                 <term>
2593                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
2594                 </term>
2595                 <description>
2596                   <para>
2597                     A component of the path prefix is not a directory.
2598                   </para>
2599                 </description>
2600               </item>
2601               <item>
2602                 <term>
2603                   <see cref="F:Mono.Unix.Native.Errno.EOVERFLOW" />
2604                 </term>
2605                 <description>
2606                   <para>
2607                     The file size in bytes cannot be
2608                     represented correctly in the structure pointed to by
2609                     <paramref name="sb" /> .
2610                   </para>
2611                 </description>
2612               </item>
2613             </list>
2614             <para>
2615             </para>
2616             <para>
2617             </para>
2618             <list type="table">
2619               The
2620               <c>fstat</c>()
2621               system call will fail if:
2622               <listheader><term>
2623                   Error
2624                 </term><description>
2625                   Details
2626                 </description></listheader><item><term><see cref="F:Mono.Unix.Native.Errno.EBADF" /></term><description><para>
2627                     The
2628                     <paramref name="fd" /> 
2629                     argument
2630                     is not a valid open file descriptor.
2631                   </para></description></item><item><term><see cref="F:Mono.Unix.Native.Errno.EFAULT" /></term><description><para>
2632                     The
2633                     <paramref name="sb" /> 
2634                     argument
2635                     points to an invalid address.
2636                   </para></description></item><item><term><see cref="F:Mono.Unix.Native.Errno.EIO" /></term><description><para>
2637                     An I/O error occurred while reading from or writing to the file system.
2638                   </para></description></item><item><term><see cref="F:Mono.Unix.Native.Errno.EOVERFLOW" /></term><description><para>
2639                     The file size in bytes cannot be
2640                     represented correctly in the structure pointed to by
2641                     <paramref name="sb" /> .
2642                   </para></description></item></list>
2643             <para>
2644             </para>
2645           </block>
2646         </returns>
2647         <remarks>
2648           <para>
2649             The
2650             <c>stat</c>()
2651             system call obtains information about the file pointed to by
2652             <paramref name="path" /> .
2653             Read, write or execute
2654             permission of the named file is not required, but all directories
2655             listed in the path name leading to the file must be searchable.
2656           </para>
2657           <para>
2658             The
2659             <c>lstat</c>()
2660             system call is like
2661             <c>stat</c>()
2662             except in the case where the named file is a symbolic link,
2663             in which case
2664             <c>lstat</c>()
2665             returns information about the link,
2666             while
2667             <c>stat</c>()
2668             returns information about the file the link references.
2669           </para>
2670           <para>
2671             The
2672             <c>fstat</c>()
2673             system call obtains the same information about an open file
2674             known by the file descriptor
2675             <paramref name="fd" /> .
2676           </para>
2677           <para>
2678             The
2679             <paramref name="sb" /> 
2680             argument is a pointer to a
2681             Vt stat            structure
2682             as defined by
2683             <c>sys/stat.h</c>
2684             and into which information is placed concerning the file.
2685           </para>
2686           <para>
2687             The fields of
2688             Vt "struct stat"            related to the file system are as follows:
2689           </para>
2690           <list type="table">
2691             <item>
2692               <term>
2693                 <c>st_dev</c>
2694               </term>
2695               <description>
2696                 <para>
2697                   The numeric ID of the device containing the file.
2698                 </para>
2699               </description>
2700             </item>
2701             <item>
2702               <term>
2703                 <c>st_ino</c>
2704               </term>
2705               <description>
2706                 <para>
2707                   The file's inode number.
2708                 </para>
2709               </description>
2710             </item>
2711             <item>
2712               <term>
2713                 <c>st_nlink</c>
2714               </term>
2715               <description>
2716                 <para>
2717                   The number of hard links to the file.
2718                 </para>
2719               </description>
2720             </item>
2721           </list>
2722           <para>
2723           </para>
2724           <para>
2725             The
2726             <c>st_dev</c>
2727             and
2728             <c>st_ino</c>
2729             fields together identify the file uniquely within the system.
2730           </para>
2731           <para>
2732             The time-related fields of
2733             Vt "struct stat"            are as follows:
2734           </para>
2735           <list type="table">
2736             <item>
2737               <term>
2738                 <c>st_atime</c>
2739               </term>
2740               <description>
2741                 <para>
2742                   Time when file data last accessed.
2743                   Changed by the
2744                   <see cref="M:Mono.Unix.Native.Syscall.mknod" />(2) ,
2745                   <see cref="M:Mono.Unix.Native.Syscall.utimes" />(2) ,
2746                   <see cref="M:Mono.Unix.Native.Syscall.read" />(2)
2747                   and
2748                   <see cref="M:Mono.Unix.Native.Syscall.readv" />(2)
2749                   system calls.
2750                 </para>
2751               </description>
2752             </item>
2753             <item>
2754               <term>
2755                 <c>st_mtime</c>
2756               </term>
2757               <description>
2758                 <para>
2759                   Time when file data last modified.
2760                   Changed by the
2761                   <see cref="M:Mono.Unix.Native.Syscall.mkdir" />(2) ,
2762                   <see cref="M:Mono.Unix.Native.Syscall.mkfifo" />(2) ,
2763                   <see cref="M:Mono.Unix.Native.Syscall.mknod" />(2) ,
2764                   <see cref="M:Mono.Unix.Native.Syscall.utimes" />(2) ,
2765                   <see cref="M:Mono.Unix.Native.Syscall.write" />(2)
2766                   and
2767                   <see cref="M:Mono.Unix.Native.Syscall.writev" />(2)
2768                   system calls.
2769                 </para>
2770               </description>
2771             </item>
2772             <item>
2773               <term>
2774                 <c>st_ctime</c>
2775               </term>
2776               <description>
2777                 <para>
2778                   Time when file status was last changed (inode data modification).
2779                   Changed by the
2780                   <see cref="M:Mono.Unix.Native.Syscall.chflags" />(2) ,
2781                   <see cref="M:Mono.Unix.Native.Syscall.chmod" />(2) ,
2782                   <see cref="M:Mono.Unix.Native.Syscall.chown" />(2) ,
2783                   <see cref="M:Mono.Unix.Native.Syscall.creat" />(2) ,
2784                   <see cref="M:Mono.Unix.Native.Syscall.link" />(2) ,
2785                   <see cref="M:Mono.Unix.Native.Syscall.mkdir" />(2) ,
2786                   <see cref="M:Mono.Unix.Native.Syscall.mkfifo" />(2) ,
2787                   <see cref="M:Mono.Unix.Native.Syscall.mknod" />(2) ,
2788                   <see cref="M:Mono.Unix.Native.Syscall.rename" />(2) ,
2789                   <see cref="M:Mono.Unix.Native.Syscall.rmdir" />(2) ,
2790                   <see cref="M:Mono.Unix.Native.Syscall.symlink" />(2) ,
2791                   <see cref="M:Mono.Unix.Native.Syscall.truncate" />(2) ,
2792                   <see cref="M:Mono.Unix.Native.Syscall.unlink" />(2) ,
2793                   <see cref="M:Mono.Unix.Native.Syscall.utimes" />(2) ,
2794                   <see cref="M:Mono.Unix.Native.Syscall.write" />(2)
2795                   and
2796                   <see cref="M:Mono.Unix.Native.Syscall.writev" />(2)
2797                   system calls.
2798                 </para>
2799               </description>
2800             </item>
2801             <item>
2802               <term>
2803                 <c>st_birthtime</c>
2804               </term>
2805               <description>
2806                 <para>
2807                   Time when the inode was created.
2808                 </para>
2809               </description>
2810             </item>
2811           </list>
2812           <para>
2813           </para>
2814           <para>
2815             If
2816              <see cref="F:Mono.Unix.Native.TODO._POSIX_SOURCE" /> 
2817             is not defined, the time-related fields are defined as:
2818           </para>
2819           <block subset="none" type="usage">
2820             <para>#ifndef _POSIX_SOURCE</para>
2821             <para>#define st_atime st_atimespec.tv_sec</para>
2822             <para>#define st_mtime st_mtimespec.tv_sec</para>
2823             <para>#define st_ctime st_ctimespec.tv_sec</para>
2824             <para>#endif</para>
2825           </block>
2826           <para>
2827           </para>
2828           <para>
2829             The size-related fields of the
2830             Vt "struct stat"            are as follows:
2831           </para>
2832           <list type="table">
2833             <item>
2834               <term>
2835                 <c>st_size</c>
2836               </term>
2837               <description>
2838                 <para>
2839                   The file size in bytes.
2840                 </para>
2841               </description>
2842             </item>
2843             <item>
2844               <term>
2845                 <c>st_blksize</c>
2846               </term>
2847               <description>
2848                 <para>
2849                   The optimal I/O block size for the file.
2850                 </para>
2851               </description>
2852             </item>
2853             <item>
2854               <term>
2855                 <c>st_blocks</c>
2856               </term>
2857               <description>
2858                 <para>
2859                   The actual number of blocks allocated for the file in 512-byte units.
2860                   As short symbolic links are stored in the inode, this number may
2861                   be zero.
2862                 </para>
2863               </description>
2864             </item>
2865           </list>
2866           <para>
2867           </para>
2868           <para>
2869             The access-related fields of
2870             Vt "struct stat"            are as follows:
2871           </para>
2872           <list type="table">
2873             <item>
2874               <term>
2875                 <c>st_uid</c>
2876               </term>
2877               <description>
2878                 <para>
2879                   The user ID of the file's owner.
2880                 </para>
2881               </description>
2882             </item>
2883             <item>
2884               <term>
2885                 <c>st_gid</c>
2886               </term>
2887               <description>
2888                 <para>
2889                   The group ID of the file.
2890                 </para>
2891               </description>
2892             </item>
2893             <item>
2894               <term>
2895                 <c>st_mode</c>
2896               </term>
2897               <description>
2898                 <para>
2899                   Status of the file (see below).
2900                 </para>
2901               </description>
2902             </item>
2903           </list>
2904           <para>
2905           </para>
2906           <para>
2907             The status information word
2908             <paramref name="st_mode" /> 
2909             has the following bits:
2910           </para>
2911           <block subset="none" type="usage">
2912             <para>#define S_IFMT   0170000  /* type of file */</para>
2913             <para>#define S_IFIFO  0010000  /* named pipe (fifo) */</para>
2914             <para>#define S_IFCHR  0020000  /* character special */</para>
2915             <para>#define S_IFDIR  0040000  /* directory */</para>
2916             <para>#define S_IFBLK  0060000  /* block special */</para>
2917             <para>#define S_IFREG  0100000  /* regular */</para>
2918             <para>#define S_IFLNK  0120000  /* symbolic link */</para>
2919             <para>#define S_IFSOCK 0140000  /* socket */</para>
2920             <para>#define S_IFWHT  0160000  /* whiteout */</para>
2921             <para>#define S_ISUID  0004000  /* set user id on execution */</para>
2922             <para>#define S_ISGID  0002000  /* set group id on execution */</para>
2923             <para>#define S_ISVTX  0001000  /* save swapped text even after use */</para>
2924             <para>#define S_IRUSR  0000400  /* read permission, owner */</para>
2925             <para>#define S_IWUSR  0000200  /* write permission, owner */</para>
2926             <para>#define S_IXUSR  0000100  /* execute/search permission, owner */</para>
2927           </block>
2928           <para>
2929           </para>
2930           <para>
2931             For a list of access modes, see
2932             <c>sys/stat.h</c> ,
2933             <see cref="M:Mono.Unix.Native.Syscall.access" />(2)
2934             and
2935             <see cref="M:Mono.Unix.Native.Syscall.chmod" />(2) .
2936             The following macros are available to test whether a
2937             <c>st_mode</c>
2938             value passed in the
2939             <paramref name="m" /> 
2940             argument corresponds to a file of the specified type:
2941           </para>
2942           <list type="table">
2943             <item>
2944               <term>
2945                 <c>S_ISBLK</c>()m
2946               </term>
2947               <description>
2948                 <para>
2949                   Test for a block special file.
2950                 </para>
2951               </description>
2952             </item>
2953             <item>
2954               <term>
2955                 <c>S_ISCHR</c>()m
2956               </term>
2957               <description>
2958                 <para>
2959                   Test for a character special file.
2960                 </para>
2961               </description>
2962             </item>
2963             <item>
2964               <term>
2965                 <c>S_ISDIR</c>()m
2966               </term>
2967               <description>
2968                 <para>
2969                   Test for a directory.
2970                 </para>
2971               </description>
2972             </item>
2973             <item>
2974               <term>
2975                 <c>S_ISFIFO</c>()m
2976               </term>
2977               <description>
2978                 <para>
2979                   Test for a pipe or FIFO special file.
2980                 </para>
2981               </description>
2982             </item>
2983             <item>
2984               <term>
2985                 <c>S_ISLNK</c>()m
2986               </term>
2987               <description>
2988                 <para>
2989                   Test for a symbolic link.
2990                 </para>
2991               </description>
2992             </item>
2993             <item>
2994               <term>
2995                 <c>S_ISREG</c>()m
2996               </term>
2997               <description>
2998                 <para>
2999                   Test for a regular file.
3000                 </para>
3001               </description>
3002             </item>
3003             <item>
3004               <term>
3005                 <c>S_ISSOCK</c>()m
3006               </term>
3007               <description>
3008                 <para>
3009                   Test for a socket.
3010                 </para>
3011               </description>
3012             </item>
3013             <item>
3014               <term>
3015                 <c>S_ISWHT</c>()m
3016               </term>
3017               <description>
3018                 <para>
3019                   Test for a whiteout.
3020                 </para>
3021               </description>
3022             </item>
3023           </list>
3024           <para>
3025           </para>
3026           <para>
3027             The macros evaluate to a non-zero value if the test is true
3028             or to the value 0 if the test is false.
3029           </para>
3030         </remarks>
3031         <altmember cref="M:Mono.Unix.Native.Syscall.access" />
3032         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
3033         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
3034         <altmember cref="M:Mono.Unix.Native.Syscall.utimes" />
3035       </Docs>
3036     </Member>
3037     <Member MemberName="fstatvfs">
3038       <MemberSignature Language="C#" Value="public static int fstatvfs (int fd, out Mono.Unix.Native.Statvfs buf);" />
3039       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_fstatvfs&quot; winapi lasterr)int32 fstatvfs(int32 fd, valuetype Mono.Unix.Native.Statvfs buf) cil managed" />
3040       <MemberType>Method</MemberType>
3041       <AssemblyInfo>
3042         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3043         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3044         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3045       </AssemblyInfo>
3046       <ReturnValue>
3047         <ReturnType>System.Int32</ReturnType>
3048       </ReturnValue>
3049       <Parameters>
3050         <Parameter Name="fd" Type="System.Int32" />
3051         <Parameter Name="buf" Type="Mono.Unix.Native.Statvfs&amp;" RefType="out" />
3052       </Parameters>
3053       <Docs>
3054         <param name="fd">To be added.</param>
3055         <param name="buf">To be added.</param>
3056         <summary>To be added.</summary>
3057         <returns>To be added.</returns>
3058         <remarks>To be added.</remarks>
3059       </Docs>
3060     </Member>
3061     <Member MemberName="fsync">
3062       <MemberSignature Language="C#" Value="public static int fsync (int fd);" />
3063       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;fsync&quot; winapi lasterr)int32 fsync(int32 fd) cil managed" />
3064       <MemberType>Method</MemberType>
3065       <AssemblyInfo>
3066         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3067         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3068         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3069       </AssemblyInfo>
3070       <ReturnValue>
3071         <ReturnType>System.Int32</ReturnType>
3072       </ReturnValue>
3073       <Parameters>
3074         <Parameter Name="fd" Type="System.Int32" />
3075       </Parameters>
3076       <Docs>
3077         <param name="fd">To be added.</param>
3078         <summary>To be added.</summary>
3079         <returns>To be added.</returns>
3080         <remarks>To be added.</remarks>
3081       </Docs>
3082     </Member>
3083     <Member MemberName="ftruncate">
3084       <MemberSignature Language="C#" Value="public static int ftruncate (int fd, long length);" />
3085       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_ftruncate&quot; winapi lasterr)int32 ftruncate(int32 fd, int64 length) cil managed" />
3086       <MemberType>Method</MemberType>
3087       <AssemblyInfo>
3088         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3089         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3090         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3091       </AssemblyInfo>
3092       <ReturnValue>
3093         <ReturnType>System.Int32</ReturnType>
3094       </ReturnValue>
3095       <Parameters>
3096         <Parameter Name="fd" Type="System.Int32" />
3097         <Parameter Name="length" Type="System.Int64" />
3098       </Parameters>
3099       <Docs>
3100         <param name="fd">To be added.</param>
3101         <param name="length">To be added.</param>
3102         <summary>Truncate or extend a file to length</summary>
3103         <returns>
3104           <para>
3105             On success, zero is returned.
3106             On error, -1 is returned and 
3107             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
3108             returns the translated error.
3109           </para>
3110           <block subset="none" type="usage">
3111             <para>
3112               The
3113               <c>ftruncate</c>()
3114               system call
3115               succeeds unless:
3116             </para>
3117             <list type="table">
3118               <listheader>
3119                 <term>
3120                   Error
3121                 </term>
3122                 <description>
3123                   Details
3124                 </description>
3125               </listheader>
3126               <item>
3127                 <term>
3128                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
3129                 </term>
3130                 <description>
3131                   <para>
3132                     The
3133                     <paramref name="fd" /> 
3134                     argument
3135                     is not a valid descriptor.
3136                   </para>
3137                 </description>
3138               </item>
3139               <item>
3140                 <term>
3141                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
3142                 </term>
3143                 <description>
3144                   <para>
3145                     The
3146                     <paramref name="fd" /> 
3147                     argument
3148                     references a socket, not a file.
3149                   </para>
3150                 </description>
3151               </item>
3152               <item>
3153                 <term>
3154                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
3155                 </term>
3156                 <description>
3157                   <para>
3158                     The
3159                     <paramref name="fd" /> 
3160                     descriptor
3161                     is not open for writing.
3162                   </para>
3163                 </description>
3164               </item>
3165             </list>
3166             <para>
3167             </para>
3168           </block>
3169         </returns>
3170         <remarks>
3171           <para>
3172             The
3173             <c>truncate</c>()
3174             system call
3175             causes the file named by
3176             <paramref name="path" /> 
3177             or referenced by
3178             <paramref name="fd" /> 
3179             to be truncated or extended to
3180             <paramref name="length" /> 
3181             bytes in size.
3182             If the file
3183             was larger than this size, the extra data
3184             is lost.
3185             If the file was smaller than this size,
3186             it will be extended as if by writing bytes
3187             with the value zero.
3188             With
3189             <c>ftruncate</c>(),
3190             the file must be open for writing.
3191           </para>
3192         </remarks>
3193         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
3194       </Docs>
3195     </Member>
3196     <Member MemberName="futimes">
3197       <MemberSignature Language="C#" Value="public static int futimes (int fd, Mono.Unix.Native.Timeval[] tvp);" />
3198       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 futimes(int32 fd, valuetype Mono.Unix.Native.Timeval[] tvp) cil managed" />
3199       <MemberType>Method</MemberType>
3200       <AssemblyInfo>
3201         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3202         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3203         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3204       </AssemblyInfo>
3205       <ReturnValue>
3206         <ReturnType>System.Int32</ReturnType>
3207       </ReturnValue>
3208       <Parameters>
3209         <Parameter Name="fd" Type="System.Int32" />
3210         <Parameter Name="tvp" Type="Mono.Unix.Native.Timeval[]" />
3211       </Parameters>
3212       <Docs>
3213         <param name="fd">To be added.</param>
3214         <param name="tvp">To be added.</param>
3215         <summary>To be added.</summary>
3216         <returns>To be added.</returns>
3217         <remarks>To be added.</remarks>
3218       </Docs>
3219     </Member>
3220     <Member MemberName="getcwd">
3221       <MemberSignature Language="C#" Value="public static System.Text.StringBuilder getcwd (System.Text.StringBuilder buf);" />
3222       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Text.StringBuilder getcwd(class System.Text.StringBuilder buf) cil managed" />
3223       <MemberType>Method</MemberType>
3224       <AssemblyInfo>
3225         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3226         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3227         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3228       </AssemblyInfo>
3229       <ReturnValue>
3230         <ReturnType>System.Text.StringBuilder</ReturnType>
3231       </ReturnValue>
3232       <Parameters>
3233         <Parameter Name="buf" Type="System.Text.StringBuilder" />
3234       </Parameters>
3235       <Docs>
3236         <param name="buf">To be added.</param>
3237         <summary>To be added.</summary>
3238         <returns>To be added.</returns>
3239         <remarks>To be added.</remarks>
3240       </Docs>
3241     </Member>
3242     <Member MemberName="getcwd">
3243       <MemberSignature Language="C#" Value="public static IntPtr getcwd (System.Text.StringBuilder buf, ulong size);" />
3244       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_getcwd&quot; winapi lasterr)native int getcwd(class System.Text.StringBuilder buf, unsigned int64 size) cil managed" />
3245       <MemberType>Method</MemberType>
3246       <AssemblyInfo>
3247         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3248         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3249         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3250       </AssemblyInfo>
3251       <ReturnValue>
3252         <ReturnType>System.IntPtr</ReturnType>
3253       </ReturnValue>
3254       <Parameters>
3255         <Parameter Name="buf" Type="System.Text.StringBuilder" />
3256         <Parameter Name="size" Type="System.UInt64" />
3257       </Parameters>
3258       <Docs>
3259         <param name="buf">To be added.</param>
3260         <param name="size">To be added.</param>
3261         <summary>To be added.</summary>
3262         <returns>To be added.</returns>
3263         <remarks>To be added.</remarks>
3264       </Docs>
3265     </Member>
3266     <Member MemberName="getdomainname">
3267       <MemberSignature Language="C#" Value="public static int getdomainname (System.Text.StringBuilder name);" />
3268       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getdomainname(class System.Text.StringBuilder name) cil managed" />
3269       <MemberType>Method</MemberType>
3270       <AssemblyInfo>
3271         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3272         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3273         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3274       </AssemblyInfo>
3275       <ReturnValue>
3276         <ReturnType>System.Int32</ReturnType>
3277       </ReturnValue>
3278       <Parameters>
3279         <Parameter Name="name" Type="System.Text.StringBuilder" />
3280       </Parameters>
3281       <Docs>
3282         <param name="name">To be added.</param>
3283         <summary>To be added.</summary>
3284         <returns>To be added.</returns>
3285         <remarks>To be added.</remarks>
3286       </Docs>
3287     </Member>
3288     <Member MemberName="getdomainname">
3289       <MemberSignature Language="C#" Value="public static int getdomainname (System.Text.StringBuilder name, ulong len);" />
3290       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_getdomainname&quot; winapi lasterr)int32 getdomainname(class System.Text.StringBuilder name, unsigned int64 len) cil managed" />
3291       <MemberType>Method</MemberType>
3292       <AssemblyInfo>
3293         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3294         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3295         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3296       </AssemblyInfo>
3297       <ReturnValue>
3298         <ReturnType>System.Int32</ReturnType>
3299       </ReturnValue>
3300       <Parameters>
3301         <Parameter Name="name" Type="System.Text.StringBuilder" />
3302         <Parameter Name="len" Type="System.UInt64" />
3303       </Parameters>
3304       <Docs>
3305         <param name="name">To be added.</param>
3306         <param name="len">To be added.</param>
3307         <summary>To be added.</summary>
3308         <returns>To be added.</returns>
3309         <remarks>To be added.</remarks>
3310       </Docs>
3311     </Member>
3312     <Member MemberName="getdtablesize">
3313       <MemberSignature Language="C#" Value="public static int getdtablesize ();" />
3314       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getdtablesize&quot; winapi lasterr)int32 getdtablesize() cil managed" />
3315       <MemberType>Method</MemberType>
3316       <AssemblyInfo>
3317         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3318         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3319         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3320       </AssemblyInfo>
3321       <ReturnValue>
3322         <ReturnType>System.Int32</ReturnType>
3323       </ReturnValue>
3324       <Parameters />
3325       <Docs>
3326         <summary>To be added.</summary>
3327         <returns>To be added.</returns>
3328         <remarks>To be added.</remarks>
3329       </Docs>
3330     </Member>
3331     <Member MemberName="getegid">
3332       <MemberSignature Language="C#" Value="public static uint getegid ();" />
3333       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getegid&quot; winapi lasterr)unsigned int32 getegid() cil managed" />
3334       <MemberType>Method</MemberType>
3335       <AssemblyInfo>
3336         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3337         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3338         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3339       </AssemblyInfo>
3340       <ReturnValue>
3341         <ReturnType>System.UInt32</ReturnType>
3342       </ReturnValue>
3343       <Parameters />
3344       <Docs>
3345         <summary>Get the effective group ID for the current process.</summary>
3346         <returns>Returns the effective group ID for the current process.</returns>
3347         <remarks />
3348       </Docs>
3349     </Member>
3350     <Member MemberName="geteuid">
3351       <MemberSignature Language="C#" Value="public static uint geteuid ();" />
3352       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;geteuid&quot; winapi lasterr)unsigned int32 geteuid() cil managed" />
3353       <MemberType>Method</MemberType>
3354       <AssemblyInfo>
3355         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3356         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3357         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3358       </AssemblyInfo>
3359       <ReturnValue>
3360         <ReturnType>System.UInt32</ReturnType>
3361       </ReturnValue>
3362       <Parameters />
3363       <Docs>
3364         <summary>Get the effective user ID for the current process.</summary>
3365         <returns>Returns the effective user ID for the current process.</returns>
3366         <remarks />
3367       </Docs>
3368     </Member>
3369     <Member MemberName="getfsent">
3370       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Fstab getfsent ();" />
3371       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Fstab getfsent() cil managed" />
3372       <MemberType>Method</MemberType>
3373       <AssemblyInfo>
3374         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3375         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3376         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3377       </AssemblyInfo>
3378       <ReturnValue>
3379         <ReturnType>Mono.Unix.Native.Fstab</ReturnType>
3380       </ReturnValue>
3381       <Parameters />
3382       <Docs>
3383         <summary>To be added.</summary>
3384         <returns>To be added.</returns>
3385         <remarks>To be added.</remarks>
3386       </Docs>
3387     </Member>
3388     <Member MemberName="getfsfile">
3389       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Fstab getfsfile (string mount_point);" />
3390       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Fstab getfsfile(string mount_point) cil managed" />
3391       <MemberType>Method</MemberType>
3392       <AssemblyInfo>
3393         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3394         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3395         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3396       </AssemblyInfo>
3397       <ReturnValue>
3398         <ReturnType>Mono.Unix.Native.Fstab</ReturnType>
3399       </ReturnValue>
3400       <Parameters>
3401         <Parameter Name="mount_point" Type="System.String" />
3402       </Parameters>
3403       <Docs>
3404         <param name="mount_point">To be added.</param>
3405         <summary>To be added.</summary>
3406         <returns>To be added.</returns>
3407         <remarks>To be added.</remarks>
3408       </Docs>
3409     </Member>
3410     <Member MemberName="getfsspec">
3411       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Fstab getfsspec (string special_file);" />
3412       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Fstab getfsspec(string special_file) cil managed" />
3413       <MemberType>Method</MemberType>
3414       <AssemblyInfo>
3415         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3416         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3417         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3418       </AssemblyInfo>
3419       <ReturnValue>
3420         <ReturnType>Mono.Unix.Native.Fstab</ReturnType>
3421       </ReturnValue>
3422       <Parameters>
3423         <Parameter Name="special_file" Type="System.String" />
3424       </Parameters>
3425       <Docs>
3426         <param name="special_file">To be added.</param>
3427         <summary>To be added.</summary>
3428         <returns>To be added.</returns>
3429         <remarks>To be added.</remarks>
3430       </Docs>
3431     </Member>
3432     <Member MemberName="getgid">
3433       <MemberSignature Language="C#" Value="public static uint getgid ();" />
3434       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getgid&quot; winapi lasterr)unsigned int32 getgid() cil managed" />
3435       <MemberType>Method</MemberType>
3436       <AssemblyInfo>
3437         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3438         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3439         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3440       </AssemblyInfo>
3441       <ReturnValue>
3442         <ReturnType>System.UInt32</ReturnType>
3443       </ReturnValue>
3444       <Parameters />
3445       <Docs>
3446         <summary>Get the group ID for the current process.</summary>
3447         <returns>Returns the group ID for the current process.</returns>
3448         <remarks />
3449       </Docs>
3450     </Member>
3451     <Member MemberName="getgrent">
3452       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Group getgrent ();" />
3453       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Group getgrent() cil managed" />
3454       <MemberType>Method</MemberType>
3455       <AssemblyInfo>
3456         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3457         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3458         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3459       </AssemblyInfo>
3460       <ReturnValue>
3461         <ReturnType>Mono.Unix.Native.Group</ReturnType>
3462       </ReturnValue>
3463       <Parameters />
3464       <Docs>
3465         <summary>To be added.</summary>
3466         <returns>To be added.</returns>
3467         <remarks>To be added.</remarks>
3468       </Docs>
3469     </Member>
3470     <Member MemberName="getgrgid">
3471       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Group getgrgid (uint uid);" />
3472       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Group getgrgid(unsigned int32 uid) cil managed" />
3473       <MemberType>Method</MemberType>
3474       <AssemblyInfo>
3475         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3476         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3477         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3478       </AssemblyInfo>
3479       <ReturnValue>
3480         <ReturnType>Mono.Unix.Native.Group</ReturnType>
3481       </ReturnValue>
3482       <Parameters>
3483         <Parameter Name="uid" Type="System.UInt32" />
3484       </Parameters>
3485       <Docs>
3486         <param name="uid">To be added.</param>
3487         <summary>To be added.</summary>
3488         <returns>To be added.</returns>
3489         <remarks>To be added.</remarks>
3490       </Docs>
3491     </Member>
3492     <Member MemberName="getgrgid_r">
3493       <MemberSignature Language="C#" Value="public static int getgrgid_r (uint uid, Mono.Unix.Native.Group grbuf, out Mono.Unix.Native.Group grbufp);" />
3494       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getgrgid_r(unsigned int32 uid, class Mono.Unix.Native.Group grbuf, class Mono.Unix.Native.Group grbufp) cil managed" />
3495       <MemberType>Method</MemberType>
3496       <AssemblyInfo>
3497         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3498         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3499         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3500       </AssemblyInfo>
3501       <ReturnValue>
3502         <ReturnType>System.Int32</ReturnType>
3503       </ReturnValue>
3504       <Parameters>
3505         <Parameter Name="uid" Type="System.UInt32" />
3506         <Parameter Name="grbuf" Type="Mono.Unix.Native.Group" />
3507         <Parameter Name="grbufp" Type="Mono.Unix.Native.Group&amp;" RefType="out" />
3508       </Parameters>
3509       <Docs>
3510         <param name="uid">To be added.</param>
3511         <param name="grbuf">To be added.</param>
3512         <param name="grbufp">To be added.</param>
3513         <summary>To be added.</summary>
3514         <returns>To be added.</returns>
3515         <remarks>To be added.</remarks>
3516       </Docs>
3517     </Member>
3518     <Member MemberName="getgrnam">
3519       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Group getgrnam (string name);" />
3520       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Group getgrnam(string name) cil managed" />
3521       <MemberType>Method</MemberType>
3522       <AssemblyInfo>
3523         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3524         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3525         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3526       </AssemblyInfo>
3527       <ReturnValue>
3528         <ReturnType>Mono.Unix.Native.Group</ReturnType>
3529       </ReturnValue>
3530       <Parameters>
3531         <Parameter Name="name" Type="System.String" />
3532       </Parameters>
3533       <Docs>
3534         <param name="name">To be added.</param>
3535         <summary>To be added.</summary>
3536         <returns>To be added.</returns>
3537         <remarks>To be added.</remarks>
3538       </Docs>
3539     </Member>
3540     <Member MemberName="getgrnam_r">
3541       <MemberSignature Language="C#" Value="public static int getgrnam_r (string name, Mono.Unix.Native.Group grbuf, out Mono.Unix.Native.Group grbufp);" />
3542       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getgrnam_r(string name, class Mono.Unix.Native.Group grbuf, class Mono.Unix.Native.Group grbufp) cil managed" />
3543       <MemberType>Method</MemberType>
3544       <AssemblyInfo>
3545         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3546         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3547         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3548       </AssemblyInfo>
3549       <ReturnValue>
3550         <ReturnType>System.Int32</ReturnType>
3551       </ReturnValue>
3552       <Parameters>
3553         <Parameter Name="name" Type="System.String" />
3554         <Parameter Name="grbuf" Type="Mono.Unix.Native.Group" />
3555         <Parameter Name="grbufp" Type="Mono.Unix.Native.Group&amp;" RefType="out" />
3556       </Parameters>
3557       <Docs>
3558         <param name="name">To be added.</param>
3559         <param name="grbuf">To be added.</param>
3560         <param name="grbufp">To be added.</param>
3561         <summary>To be added.</summary>
3562         <returns>To be added.</returns>
3563         <remarks>To be added.</remarks>
3564       </Docs>
3565     </Member>
3566     <Member MemberName="getgrouplist">
3567       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Group[] getgrouplist (Mono.Unix.Native.Passwd user);" />
3568       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Group[] getgrouplist(class Mono.Unix.Native.Passwd user) cil managed" />
3569       <MemberType>Method</MemberType>
3570       <AssemblyInfo>
3571         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3572       </AssemblyInfo>
3573       <ReturnValue>
3574         <ReturnType>Mono.Unix.Native.Group[]</ReturnType>
3575       </ReturnValue>
3576       <Parameters>
3577         <Parameter Name="user" Type="Mono.Unix.Native.Passwd" />
3578       </Parameters>
3579       <Docs>
3580         <param name="user"> <see cref="T:Mono.Unix.Native.Passwd" /> instance containing the user to get the groups for.</param>
3581         <summary>Determine the group access list for a user.</summary>
3582         <returns><see cref="T:Mono.Unix.Native.Group" /> array containing all of the Unix groups that <paramref name="user" /> belongs to.</returns>
3583         <remarks>
3584           <para>
3585            Determines the group access list for <paramref name="user" /> by using the <c>getgrouplist(3)</c> system call.
3586           </para>
3587         </remarks>
3588           <exception cref="T:System.ArgumentNullException">
3589             <paramref name="user" /> <see langword="null" />
3590           </exception>
3591       </Docs>
3592     </Member>
3593     <Member MemberName="getgrouplist">
3594       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Group[] getgrouplist (string username);" />
3595       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Group[] getgrouplist(string username) cil managed" />
3596       <MemberType>Method</MemberType>
3597       <AssemblyInfo>
3598         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3599       </AssemblyInfo>
3600       <ReturnValue>
3601         <ReturnType>Mono.Unix.Native.Group[]</ReturnType>
3602       </ReturnValue>
3603       <Parameters>
3604         <Parameter Name="username" Type="System.String" />
3605       </Parameters>
3606       <Docs>
3607         <param name="username"> <see cref="T:System.String" /> instance containing username to get the groups for. </param>
3608         <summary>Determines the group access list for a user by username.</summary>
3609         <returns><see cref="T:Mono.Unix.Native.Group" /> array containing all of the Unix groups that <paramref name="username" /> belongs to.</returns>
3610         <remarks>
3611           <exception cref="T:System.ArgumentNullException">
3612             <paramref name="usermame" /> <see langword="null" />
3613           </exception>
3614           <exception cref="T:System.ArgumentException">
3615             Throws when the <paramref name="username" /> is empty or not exists.
3616           </exception>
3617         </remarks>
3618       </Docs>
3619     </Member>
3620     <Member MemberName="getgroups">
3621       <MemberSignature Language="C#" Value="public static int getgroups (uint[] list);" />
3622       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getgroups(unsigned int32[] list) cil managed" />
3623       <MemberType>Method</MemberType>
3624       <AssemblyInfo>
3625         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3626         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3627         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3628       </AssemblyInfo>
3629       <ReturnValue>
3630         <ReturnType>System.Int32</ReturnType>
3631       </ReturnValue>
3632       <Parameters>
3633         <Parameter Name="list" Type="System.UInt32[]" />
3634       </Parameters>
3635       <Docs>
3636         <param name="list">To be added.</param>
3637         <summary>To be added.</summary>
3638         <returns>To be added.</returns>
3639         <remarks>To be added.</remarks>
3640       </Docs>
3641     </Member>
3642     <Member MemberName="getgroups">
3643       <MemberSignature Language="C#" Value="public static int getgroups (int size, uint[] list);" />
3644       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getgroups&quot; winapi lasterr)int32 getgroups(int32 size, unsigned int32[] list) cil managed" />
3645       <MemberType>Method</MemberType>
3646       <AssemblyInfo>
3647         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3648         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3649         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3650       </AssemblyInfo>
3651       <ReturnValue>
3652         <ReturnType>System.Int32</ReturnType>
3653       </ReturnValue>
3654       <Parameters>
3655         <Parameter Name="size" Type="System.Int32" />
3656         <Parameter Name="list" Type="System.UInt32[]" />
3657       </Parameters>
3658       <Docs>
3659         <param name="size">To be added.</param>
3660         <param name="list">To be added.</param>
3661         <summary>To be added.</summary>
3662         <returns>To be added.</returns>
3663         <remarks>To be added.</remarks>
3664       </Docs>
3665     </Member>
3666     <Member MemberName="gethostid">
3667       <MemberSignature Language="C#" Value="public static long gethostid ();" />
3668       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_gethostid&quot; winapi lasterr)int64 gethostid() cil managed" />
3669       <MemberType>Method</MemberType>
3670       <AssemblyInfo>
3671         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3672         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3673         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3674       </AssemblyInfo>
3675       <ReturnValue>
3676         <ReturnType>System.Int64</ReturnType>
3677       </ReturnValue>
3678       <Parameters />
3679       <Docs>
3680         <summary>To be added.</summary>
3681         <returns>To be added.</returns>
3682         <remarks>To be added.</remarks>
3683       </Docs>
3684     </Member>
3685     <Member MemberName="gethostname">
3686       <MemberSignature Language="C#" Value="public static int gethostname (System.Text.StringBuilder name);" />
3687       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 gethostname(class System.Text.StringBuilder name) cil managed" />
3688       <MemberType>Method</MemberType>
3689       <AssemblyInfo>
3690         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3691         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3692         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3693       </AssemblyInfo>
3694       <ReturnValue>
3695         <ReturnType>System.Int32</ReturnType>
3696       </ReturnValue>
3697       <Parameters>
3698         <Parameter Name="name" Type="System.Text.StringBuilder" />
3699       </Parameters>
3700       <Docs>
3701         <param name="name">To be added.</param>
3702         <summary>Retrieves the hostname.</summary>
3703         <returns>To be added.</returns>
3704         <remarks>To be added.</remarks>
3705       </Docs>
3706     </Member>
3707     <Member MemberName="gethostname">
3708       <MemberSignature Language="C#" Value="public static int gethostname (System.Text.StringBuilder name, ulong len);" />
3709       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_gethostname&quot; winapi lasterr)int32 gethostname(class System.Text.StringBuilder name, unsigned int64 len) cil managed" />
3710       <MemberType>Method</MemberType>
3711       <AssemblyInfo>
3712         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3713         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3714         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3715       </AssemblyInfo>
3716       <ReturnValue>
3717         <ReturnType>System.Int32</ReturnType>
3718       </ReturnValue>
3719       <Parameters>
3720         <Parameter Name="name" Type="System.Text.StringBuilder" />
3721         <Parameter Name="len" Type="System.UInt64" />
3722       </Parameters>
3723       <Docs>
3724         <param name="name">To be added.</param>
3725         <param name="len">To be added.</param>
3726         <summary>Retrieves the hostname.</summary>
3727         <returns>To be added.</returns>
3728         <remarks>To be added.</remarks>
3729       </Docs>
3730     </Member>
3731     <Member MemberName="getlogin">
3732       <MemberSignature Language="C#" Value="public static string getlogin ();" />
3733       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string getlogin() cil managed" />
3734       <MemberType>Method</MemberType>
3735       <AssemblyInfo>
3736         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3737         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3738         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3739       </AssemblyInfo>
3740       <ReturnValue>
3741         <ReturnType>System.String</ReturnType>
3742       </ReturnValue>
3743       <Parameters />
3744       <Docs>
3745         <summary>To be added.</summary>
3746         <returns>To be added.</returns>
3747         <remarks>To be added.</remarks>
3748       </Docs>
3749     </Member>
3750     <Member MemberName="getlogin_r">
3751       <MemberSignature Language="C#" Value="public static int getlogin_r (System.Text.StringBuilder name);" />
3752       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getlogin_r(class System.Text.StringBuilder name) cil managed" />
3753       <MemberType>Method</MemberType>
3754       <AssemblyInfo>
3755         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3756         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3757         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3758       </AssemblyInfo>
3759       <ReturnValue>
3760         <ReturnType>System.Int32</ReturnType>
3761       </ReturnValue>
3762       <Parameters>
3763         <Parameter Name="name" Type="System.Text.StringBuilder" />
3764       </Parameters>
3765       <Docs>
3766         <param name="name">To be added.</param>
3767         <summary>To be added.</summary>
3768         <returns>To be added.</returns>
3769         <remarks>To be added.</remarks>
3770       </Docs>
3771     </Member>
3772     <Member MemberName="getlogin_r">
3773       <MemberSignature Language="C#" Value="public static int getlogin_r (System.Text.StringBuilder name, ulong bufsize);" />
3774       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_getlogin_r&quot; winapi lasterr)int32 getlogin_r(class System.Text.StringBuilder name, unsigned int64 bufsize) cil managed" />
3775       <MemberType>Method</MemberType>
3776       <AssemblyInfo>
3777         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3778         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3779         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3780       </AssemblyInfo>
3781       <ReturnValue>
3782         <ReturnType>System.Int32</ReturnType>
3783       </ReturnValue>
3784       <Parameters>
3785         <Parameter Name="name" Type="System.Text.StringBuilder" />
3786         <Parameter Name="bufsize" Type="System.UInt64" />
3787       </Parameters>
3788       <Docs>
3789         <param name="name">To be added.</param>
3790         <param name="bufsize">To be added.</param>
3791         <summary>To be added.</summary>
3792         <returns>To be added.</returns>
3793         <remarks>To be added.</remarks>
3794       </Docs>
3795     </Member>
3796     <Member MemberName="getpagesize">
3797       <MemberSignature Language="C#" Value="public static int getpagesize ();" />
3798       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getpagesize&quot; winapi lasterr)int32 getpagesize() cil managed" />
3799       <MemberType>Method</MemberType>
3800       <AssemblyInfo>
3801         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3802         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3803         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3804       </AssemblyInfo>
3805       <Attributes>
3806         <Attribute>
3807           <AttributeName>System.Obsolete("Dropped in POSIX 1003.1-2001.  Use Syscall.sysconf (SysconfName._SC_PAGESIZE).")</AttributeName>
3808         </Attribute>
3809       </Attributes>
3810       <ReturnValue>
3811         <ReturnType>System.Int32</ReturnType>
3812       </ReturnValue>
3813       <Parameters />
3814       <Docs>
3815         <summary>To be added.</summary>
3816         <returns>To be added.</returns>
3817         <remarks>To be added.</remarks>
3818       </Docs>
3819     </Member>
3820     <Member MemberName="getpgid">
3821       <MemberSignature Language="C#" Value="public static int getpgid (int pid);" />
3822       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getpgid&quot; winapi lasterr)int32 getpgid(int32 pid) cil managed" />
3823       <MemberType>Method</MemberType>
3824       <AssemblyInfo>
3825         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3826         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3827         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3828       </AssemblyInfo>
3829       <ReturnValue>
3830         <ReturnType>System.Int32</ReturnType>
3831       </ReturnValue>
3832       <Parameters>
3833         <Parameter Name="pid" Type="System.Int32" />
3834       </Parameters>
3835       <Docs>
3836         <param name="pid">To be added.</param>
3837         <summary>To be added.</summary>
3838         <returns>To be added.</returns>
3839         <remarks>To be added.</remarks>
3840       </Docs>
3841     </Member>
3842     <Member MemberName="getpgrp">
3843       <MemberSignature Language="C#" Value="public static int getpgrp ();" />
3844       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getpgrp&quot; winapi lasterr)int32 getpgrp() cil managed" />
3845       <MemberType>Method</MemberType>
3846       <AssemblyInfo>
3847         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3848         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3849         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3850       </AssemblyInfo>
3851       <ReturnValue>
3852         <ReturnType>System.Int32</ReturnType>
3853       </ReturnValue>
3854       <Parameters />
3855       <Docs>
3856         <summary>Get the process group.</summary>
3857         <returns>To be added.</returns>
3858         <remarks>getpgrp always returns the current process group. See <c>getpgrp</c>(2) for more information.</remarks>
3859       </Docs>
3860     </Member>
3861     <Member MemberName="getpid">
3862       <MemberSignature Language="C#" Value="public static int getpid ();" />
3863       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getpid&quot; winapi lasterr)int32 getpid() cil managed" />
3864       <MemberType>Method</MemberType>
3865       <AssemblyInfo>
3866         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3867         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3868         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3869       </AssemblyInfo>
3870       <ReturnValue>
3871         <ReturnType>System.Int32</ReturnType>
3872       </ReturnValue>
3873       <Parameters />
3874       <Docs>
3875         <summary>Returns the unique identifier for the current process.</summary>
3876         <returns>To be added.</returns>
3877         <remarks>To be added.</remarks>
3878       </Docs>
3879     </Member>
3880     <Member MemberName="getppid">
3881       <MemberSignature Language="C#" Value="public static int getppid ();" />
3882       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getppid&quot; winapi lasterr)int32 getppid() cil managed" />
3883       <MemberType>Method</MemberType>
3884       <AssemblyInfo>
3885         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3886         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3887         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3888       </AssemblyInfo>
3889       <ReturnValue>
3890         <ReturnType>System.Int32</ReturnType>
3891       </ReturnValue>
3892       <Parameters />
3893       <Docs>
3894         <summary>Returns the unique identifier for the parent process.</summary>
3895         <returns>To be added.</returns>
3896         <remarks>To be added.</remarks>
3897       </Docs>
3898     </Member>
3899     <Member MemberName="getpwent">
3900       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Passwd getpwent ();" />
3901       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Passwd getpwent() cil managed" />
3902       <MemberType>Method</MemberType>
3903       <AssemblyInfo>
3904         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3905         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3906         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3907       </AssemblyInfo>
3908       <ReturnValue>
3909         <ReturnType>Mono.Unix.Native.Passwd</ReturnType>
3910       </ReturnValue>
3911       <Parameters />
3912       <Docs>
3913         <summary>To be added.</summary>
3914         <returns>To be added.</returns>
3915         <remarks>To be added.</remarks>
3916       </Docs>
3917     </Member>
3918     <Member MemberName="getpwnam">
3919       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Passwd getpwnam (string name);" />
3920       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Passwd getpwnam(string name) cil managed" />
3921       <MemberType>Method</MemberType>
3922       <AssemblyInfo>
3923         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3924         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3925         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3926       </AssemblyInfo>
3927       <ReturnValue>
3928         <ReturnType>Mono.Unix.Native.Passwd</ReturnType>
3929       </ReturnValue>
3930       <Parameters>
3931         <Parameter Name="name" Type="System.String" />
3932       </Parameters>
3933       <Docs>
3934         <param name="name">To be added.</param>
3935         <summary>To be added.</summary>
3936         <returns>To be added.</returns>
3937         <remarks>To be added.</remarks>
3938       </Docs>
3939     </Member>
3940     <Member MemberName="getpwnam_r">
3941       <MemberSignature Language="C#" Value="public static int getpwnam_r (string name, Mono.Unix.Native.Passwd pwbuf, out Mono.Unix.Native.Passwd pwbufp);" />
3942       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getpwnam_r(string name, class Mono.Unix.Native.Passwd pwbuf, class Mono.Unix.Native.Passwd pwbufp) cil managed" />
3943       <MemberType>Method</MemberType>
3944       <AssemblyInfo>
3945         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3946         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3947         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3948       </AssemblyInfo>
3949       <ReturnValue>
3950         <ReturnType>System.Int32</ReturnType>
3951       </ReturnValue>
3952       <Parameters>
3953         <Parameter Name="name" Type="System.String" />
3954         <Parameter Name="pwbuf" Type="Mono.Unix.Native.Passwd" />
3955         <Parameter Name="pwbufp" Type="Mono.Unix.Native.Passwd&amp;" RefType="out" />
3956       </Parameters>
3957       <Docs>
3958         <param name="name">To be added.</param>
3959         <param name="pwbuf">To be added.</param>
3960         <param name="pwbufp">To be added.</param>
3961         <summary>To be added.</summary>
3962         <returns>To be added.</returns>
3963         <remarks>To be added.</remarks>
3964       </Docs>
3965     </Member>
3966     <Member MemberName="getpwuid">
3967       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Passwd getpwuid (uint uid);" />
3968       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Passwd getpwuid(unsigned int32 uid) cil managed" />
3969       <MemberType>Method</MemberType>
3970       <AssemblyInfo>
3971         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3972         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3973         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3974       </AssemblyInfo>
3975       <ReturnValue>
3976         <ReturnType>Mono.Unix.Native.Passwd</ReturnType>
3977       </ReturnValue>
3978       <Parameters>
3979         <Parameter Name="uid" Type="System.UInt32" />
3980       </Parameters>
3981       <Docs>
3982         <param name="uid">To be added.</param>
3983         <summary>To be added.</summary>
3984         <returns>To be added.</returns>
3985         <remarks>To be added.</remarks>
3986       </Docs>
3987     </Member>
3988     <Member MemberName="getpwuid_r">
3989       <MemberSignature Language="C#" Value="public static int getpwuid_r (uint uid, Mono.Unix.Native.Passwd pwbuf, out Mono.Unix.Native.Passwd pwbufp);" />
3990       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 getpwuid_r(unsigned int32 uid, class Mono.Unix.Native.Passwd pwbuf, class Mono.Unix.Native.Passwd pwbufp) cil managed" />
3991       <MemberType>Method</MemberType>
3992       <AssemblyInfo>
3993         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
3994         <AssemblyVersion>2.0.0.0</AssemblyVersion>
3995         <AssemblyVersion>4.0.0.0</AssemblyVersion>
3996       </AssemblyInfo>
3997       <ReturnValue>
3998         <ReturnType>System.Int32</ReturnType>
3999       </ReturnValue>
4000       <Parameters>
4001         <Parameter Name="uid" Type="System.UInt32" />
4002         <Parameter Name="pwbuf" Type="Mono.Unix.Native.Passwd" />
4003         <Parameter Name="pwbufp" Type="Mono.Unix.Native.Passwd&amp;" RefType="out" />
4004       </Parameters>
4005       <Docs>
4006         <param name="uid">To be added.</param>
4007         <param name="pwbuf">To be added.</param>
4008         <param name="pwbufp">To be added.</param>
4009         <summary>To be added.</summary>
4010         <returns>To be added.</returns>
4011         <remarks>To be added.</remarks>
4012       </Docs>
4013     </Member>
4014     <Member MemberName="getresgid">
4015       <MemberSignature Language="C#" Value="public static int getresgid (out uint rgid, out uint egid, out uint sgid);" />
4016       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getresgid&quot; winapi lasterr)int32 getresgid(unsigned int32 rgid, unsigned int32 egid, unsigned int32 sgid) cil managed" />
4017       <MemberType>Method</MemberType>
4018       <AssemblyInfo>
4019         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4020         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4021         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4022       </AssemblyInfo>
4023       <ReturnValue>
4024         <ReturnType>System.Int32</ReturnType>
4025       </ReturnValue>
4026       <Parameters>
4027         <Parameter Name="rgid" Type="System.UInt32&amp;" RefType="out" />
4028         <Parameter Name="egid" Type="System.UInt32&amp;" RefType="out" />
4029         <Parameter Name="sgid" Type="System.UInt32&amp;" RefType="out" />
4030       </Parameters>
4031       <Docs>
4032         <param name="rgid">To be added.</param>
4033         <param name="egid">To be added.</param>
4034         <param name="sgid">To be added.</param>
4035         <summary>To be added.</summary>
4036         <returns>To be added.</returns>
4037         <remarks>To be added.</remarks>
4038       </Docs>
4039     </Member>
4040     <Member MemberName="getresuid">
4041       <MemberSignature Language="C#" Value="public static int getresuid (out uint ruid, out uint euid, out uint suid);" />
4042       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getresuid&quot; winapi lasterr)int32 getresuid(unsigned int32 ruid, unsigned int32 euid, unsigned int32 suid) cil managed" />
4043       <MemberType>Method</MemberType>
4044       <AssemblyInfo>
4045         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4046         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4047         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4048       </AssemblyInfo>
4049       <ReturnValue>
4050         <ReturnType>System.Int32</ReturnType>
4051       </ReturnValue>
4052       <Parameters>
4053         <Parameter Name="ruid" Type="System.UInt32&amp;" RefType="out" />
4054         <Parameter Name="euid" Type="System.UInt32&amp;" RefType="out" />
4055         <Parameter Name="suid" Type="System.UInt32&amp;" RefType="out" />
4056       </Parameters>
4057       <Docs>
4058         <param name="ruid">To be added.</param>
4059         <param name="euid">To be added.</param>
4060         <param name="suid">To be added.</param>
4061         <summary>To be added.</summary>
4062         <returns>To be added.</returns>
4063         <remarks>To be added.</remarks>
4064       </Docs>
4065     </Member>
4066     <Member MemberName="getsid">
4067       <MemberSignature Language="C#" Value="public static int getsid (int pid);" />
4068       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getsid&quot; winapi lasterr)int32 getsid(int32 pid) cil managed" />
4069       <MemberType>Method</MemberType>
4070       <AssemblyInfo>
4071         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4072         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4073         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4074       </AssemblyInfo>
4075       <ReturnValue>
4076         <ReturnType>System.Int32</ReturnType>
4077       </ReturnValue>
4078       <Parameters>
4079         <Parameter Name="pid" Type="System.Int32" />
4080       </Parameters>
4081       <Docs>
4082         <param name="pid">To be added.</param>
4083         <summary>To be added.</summary>
4084         <returns>To be added.</returns>
4085         <remarks>To be added.</remarks>
4086       </Docs>
4087     </Member>
4088     <Member MemberName="gettimeofday">
4089       <MemberSignature Language="C#" Value="public static int gettimeofday (out Mono.Unix.Native.Timeval tv);" />
4090       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 gettimeofday(valuetype Mono.Unix.Native.Timeval tv) cil managed" />
4091       <MemberType>Method</MemberType>
4092       <AssemblyInfo>
4093         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4094         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4095         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4096       </AssemblyInfo>
4097       <ReturnValue>
4098         <ReturnType>System.Int32</ReturnType>
4099       </ReturnValue>
4100       <Parameters>
4101         <Parameter Name="tv" Type="Mono.Unix.Native.Timeval&amp;" RefType="out" />
4102       </Parameters>
4103       <Docs>
4104         <param name="tv">To be added.</param>
4105         <summary>To be added.</summary>
4106         <returns>To be added.</returns>
4107         <remarks>To be added.</remarks>
4108       </Docs>
4109     </Member>
4110     <Member MemberName="gettimeofday">
4111       <MemberSignature Language="C#" Value="public static int gettimeofday (out Mono.Unix.Native.Timezone tz);" />
4112       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 gettimeofday(valuetype Mono.Unix.Native.Timezone tz) cil managed" />
4113       <MemberType>Method</MemberType>
4114       <AssemblyInfo>
4115         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4116         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4117         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4118       </AssemblyInfo>
4119       <ReturnValue>
4120         <ReturnType>System.Int32</ReturnType>
4121       </ReturnValue>
4122       <Parameters>
4123         <Parameter Name="tz" Type="Mono.Unix.Native.Timezone&amp;" RefType="out" />
4124       </Parameters>
4125       <Docs>
4126         <param name="tz">To be added.</param>
4127         <summary>To be added.</summary>
4128         <returns>To be added.</returns>
4129         <remarks>To be added.</remarks>
4130       </Docs>
4131     </Member>
4132     <Member MemberName="gettimeofday">
4133       <MemberSignature Language="C#" Value="public static int gettimeofday (out Mono.Unix.Native.Timeval tv, out Mono.Unix.Native.Timezone tz);" />
4134       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_gettimeofday&quot; winapi lasterr)int32 gettimeofday(valuetype Mono.Unix.Native.Timeval tv, valuetype Mono.Unix.Native.Timezone tz) cil managed" />
4135       <MemberType>Method</MemberType>
4136       <AssemblyInfo>
4137         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4138         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4139         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4140       </AssemblyInfo>
4141       <ReturnValue>
4142         <ReturnType>System.Int32</ReturnType>
4143       </ReturnValue>
4144       <Parameters>
4145         <Parameter Name="tv" Type="Mono.Unix.Native.Timeval&amp;" RefType="out" />
4146         <Parameter Name="tz" Type="Mono.Unix.Native.Timezone&amp;" RefType="out" />
4147       </Parameters>
4148       <Docs>
4149         <param name="tv">To be added.</param>
4150         <param name="tz">To be added.</param>
4151         <summary>To be added.</summary>
4152         <returns>To be added.</returns>
4153         <remarks>To be added.</remarks>
4154       </Docs>
4155     </Member>
4156     <Member MemberName="getuid">
4157       <MemberSignature Language="C#" Value="public static uint getuid ();" />
4158       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;getuid&quot; winapi lasterr)unsigned int32 getuid() cil managed" />
4159       <MemberType>Method</MemberType>
4160       <AssemblyInfo>
4161         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4162         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4163         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4164       </AssemblyInfo>
4165       <ReturnValue>
4166         <ReturnType>System.UInt32</ReturnType>
4167       </ReturnValue>
4168       <Parameters />
4169       <Docs>
4170         <summary>Get the user ID for the current process.</summary>
4171         <returns>To be added.</returns>
4172         <remarks>To be added.</remarks>
4173       </Docs>
4174     </Member>
4175     <Member MemberName="getusershell">
4176       <MemberSignature Language="C#" Value="public static string getusershell ();" />
4177       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string getusershell() cil managed" />
4178       <MemberType>Method</MemberType>
4179       <AssemblyInfo>
4180         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4181         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4182         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4183       </AssemblyInfo>
4184       <ReturnValue>
4185         <ReturnType>System.String</ReturnType>
4186       </ReturnValue>
4187       <Parameters />
4188       <Docs>
4189         <summary>To be added.</summary>
4190         <returns>To be added.</returns>
4191         <remarks>To be added.</remarks>
4192       </Docs>
4193     </Member>
4194     <Member MemberName="getxattr">
4195       <MemberSignature Language="C#" Value="public static long getxattr (string path, string name, byte[] value);" />
4196       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 getxattr(string path, string name, unsigned int8[] value) cil managed" />
4197       <MemberType>Method</MemberType>
4198       <AssemblyInfo>
4199         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4200         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4201         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4202       </AssemblyInfo>
4203       <ReturnValue>
4204         <ReturnType>System.Int64</ReturnType>
4205       </ReturnValue>
4206       <Parameters>
4207         <Parameter Name="path" Type="System.String" />
4208         <Parameter Name="name" Type="System.String" />
4209         <Parameter Name="value" Type="System.Byte[]" />
4210       </Parameters>
4211       <Docs>
4212         <param name="path">To be added.</param>
4213         <param name="name">To be added.</param>
4214         <param name="value">To be added.</param>
4215         <summary>To be added.</summary>
4216         <returns>To be added.</returns>
4217         <remarks>To be added.</remarks>
4218       </Docs>
4219     </Member>
4220     <Member MemberName="getxattr">
4221       <MemberSignature Language="C#" Value="public static long getxattr (string path, string name, out byte[] value);" />
4222       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 getxattr(string path, string name, unsigned int8[] value) cil managed" />
4223       <MemberType>Method</MemberType>
4224       <AssemblyInfo>
4225         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4226         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4227         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4228       </AssemblyInfo>
4229       <ReturnValue>
4230         <ReturnType>System.Int64</ReturnType>
4231       </ReturnValue>
4232       <Parameters>
4233         <Parameter Name="path" Type="System.String" />
4234         <Parameter Name="name" Type="System.String" />
4235         <Parameter Name="value" Type="System.Byte[]&amp;" RefType="out" />
4236       </Parameters>
4237       <Docs>
4238         <param name="path">To be added.</param>
4239         <param name="name">To be added.</param>
4240         <param name="value">To be added.</param>
4241         <summary>To be added.</summary>
4242         <returns>To be added.</returns>
4243         <remarks>To be added.</remarks>
4244       </Docs>
4245     </Member>
4246     <Member MemberName="getxattr">
4247       <MemberSignature Language="C#" Value="public static long getxattr (string path, string name, byte[] value, ulong size);" />
4248       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_getxattr&quot; winapi lasterr)int64 getxattr(string path, string name, unsigned int8[] value, unsigned int64 size) cil managed" />
4249       <MemberType>Method</MemberType>
4250       <AssemblyInfo>
4251         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4252         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4253         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4254       </AssemblyInfo>
4255       <ReturnValue>
4256         <ReturnType>System.Int64</ReturnType>
4257       </ReturnValue>
4258       <Parameters>
4259         <Parameter Name="path" Type="System.String" />
4260         <Parameter Name="name" Type="System.String" />
4261         <Parameter Name="value" Type="System.Byte[]" />
4262         <Parameter Name="size" Type="System.UInt64" />
4263       </Parameters>
4264       <Docs>
4265         <param name="path">To be added.</param>
4266         <param name="name">To be added.</param>
4267         <param name="value">To be added.</param>
4268         <param name="size">To be added.</param>
4269         <summary>To be added.</summary>
4270         <returns>To be added.</returns>
4271         <remarks>To be added.</remarks>
4272       </Docs>
4273     </Member>
4274     <Member MemberName="isatty">
4275       <MemberSignature Language="C#" Value="public static bool isatty (int fd);" />
4276       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool isatty(int32 fd) cil managed" />
4277       <MemberType>Method</MemberType>
4278       <AssemblyInfo>
4279         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4280         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4281         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4282       </AssemblyInfo>
4283       <ReturnValue>
4284         <ReturnType>System.Boolean</ReturnType>
4285       </ReturnValue>
4286       <Parameters>
4287         <Parameter Name="fd" Type="System.Int32" />
4288       </Parameters>
4289       <Docs>
4290         <param name="fd">To be added.</param>
4291         <summary>Is the file descriptor a TTY?</summary>
4292         <returns>To be added.</returns>
4293         <remarks>To be added.</remarks>
4294       </Docs>
4295     </Member>
4296     <Member MemberName="kill">
4297       <MemberSignature Language="C#" Value="public static int kill (int pid, Mono.Unix.Native.Signum sig);" />
4298       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 kill(int32 pid, valuetype Mono.Unix.Native.Signum sig) cil managed" />
4299       <MemberType>Method</MemberType>
4300       <AssemblyInfo>
4301         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4302         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4303         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4304       </AssemblyInfo>
4305       <ReturnValue>
4306         <ReturnType>System.Int32</ReturnType>
4307       </ReturnValue>
4308       <Parameters>
4309         <Parameter Name="pid" Type="System.Int32" />
4310         <Parameter Name="sig" Type="Mono.Unix.Native.Signum" />
4311       </Parameters>
4312       <Docs>
4313         <param name="pid">The process to signal.</param>
4314         <param name="sig">The signal to send.</param>
4315         <summary>Send a signal to the specified process.</summary>
4316         <returns>To be added.</returns>
4317         <remarks>To be added.</remarks>
4318       </Docs>
4319     </Member>
4320     <Member MemberName="L_ctermid">
4321       <MemberSignature Language="C#" Value="public static readonly int L_ctermid;" />
4322       <MemberSignature Language="ILAsm" Value=".field public static initonly int32 L_ctermid" />
4323       <MemberType>Field</MemberType>
4324       <AssemblyInfo>
4325         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4326         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4327         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4328       </AssemblyInfo>
4329       <ReturnValue>
4330         <ReturnType>System.Int32</ReturnType>
4331       </ReturnValue>
4332       <MemberValue>9</MemberValue>
4333       <Docs>
4334         <summary>To be added.</summary>
4335         <remarks>To be added.</remarks>
4336       </Docs>
4337     </Member>
4338     <Member MemberName="L_cuserid">
4339       <MemberSignature Language="C#" Value="public static readonly int L_cuserid;" />
4340       <MemberSignature Language="ILAsm" Value=".field public static initonly int32 L_cuserid" />
4341       <MemberType>Field</MemberType>
4342       <AssemblyInfo>
4343         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4344         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4345         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4346       </AssemblyInfo>
4347       <ReturnValue>
4348         <ReturnType>System.Int32</ReturnType>
4349       </ReturnValue>
4350       <MemberValue>9</MemberValue>
4351       <Docs>
4352         <summary>To be added.</summary>
4353         <remarks>To be added.</remarks>
4354       </Docs>
4355     </Member>
4356     <Member MemberName="lchown">
4357       <MemberSignature Language="C#" Value="public static int lchown (string path, uint owner, uint group);" />
4358       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;lchown&quot; winapi lasterr)int32 lchown(string path, unsigned int32 owner, unsigned int32 group) cil managed" />
4359       <MemberType>Method</MemberType>
4360       <AssemblyInfo>
4361         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4362         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4363         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4364       </AssemblyInfo>
4365       <ReturnValue>
4366         <ReturnType>System.Int32</ReturnType>
4367       </ReturnValue>
4368       <Parameters>
4369         <Parameter Name="path" Type="System.String" />
4370         <Parameter Name="owner" Type="System.UInt32" />
4371         <Parameter Name="group" Type="System.UInt32" />
4372       </Parameters>
4373       <Docs>
4374         <param name="path">To be added.</param>
4375         <param name="owner">To be added.</param>
4376         <param name="group">To be added.</param>
4377         <summary>Change the ownership for 'path'.</summary>
4378         <returns>To be added.</returns>
4379         <remarks>The owner of the file specified by path is changed. Only the super-user may change the owner of a file. The owner of a file may change the group of the file to any group of which that owner is a member. The super-user may change the group arbitrarily. See <c>chown</c>(2) for more information and error codes.</remarks>
4380       </Docs>
4381     </Member>
4382     <Member MemberName="lgetxattr">
4383       <MemberSignature Language="C#" Value="public static long lgetxattr (string path, string name, byte[] value);" />
4384       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 lgetxattr(string path, string name, unsigned int8[] value) cil managed" />
4385       <MemberType>Method</MemberType>
4386       <AssemblyInfo>
4387         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4388         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4389         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4390       </AssemblyInfo>
4391       <ReturnValue>
4392         <ReturnType>System.Int64</ReturnType>
4393       </ReturnValue>
4394       <Parameters>
4395         <Parameter Name="path" Type="System.String" />
4396         <Parameter Name="name" Type="System.String" />
4397         <Parameter Name="value" Type="System.Byte[]" />
4398       </Parameters>
4399       <Docs>
4400         <param name="path">To be added.</param>
4401         <param name="name">To be added.</param>
4402         <param name="value">To be added.</param>
4403         <summary>To be added.</summary>
4404         <returns>To be added.</returns>
4405         <remarks>To be added.</remarks>
4406       </Docs>
4407     </Member>
4408     <Member MemberName="lgetxattr">
4409       <MemberSignature Language="C#" Value="public static long lgetxattr (string path, string name, out byte[] value);" />
4410       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 lgetxattr(string path, string name, unsigned int8[] value) cil managed" />
4411       <MemberType>Method</MemberType>
4412       <AssemblyInfo>
4413         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4414         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4415         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4416       </AssemblyInfo>
4417       <ReturnValue>
4418         <ReturnType>System.Int64</ReturnType>
4419       </ReturnValue>
4420       <Parameters>
4421         <Parameter Name="path" Type="System.String" />
4422         <Parameter Name="name" Type="System.String" />
4423         <Parameter Name="value" Type="System.Byte[]&amp;" RefType="out" />
4424       </Parameters>
4425       <Docs>
4426         <param name="path">To be added.</param>
4427         <param name="name">To be added.</param>
4428         <param name="value">To be added.</param>
4429         <summary>To be added.</summary>
4430         <returns>To be added.</returns>
4431         <remarks>To be added.</remarks>
4432       </Docs>
4433     </Member>
4434     <Member MemberName="lgetxattr">
4435       <MemberSignature Language="C#" Value="public static long lgetxattr (string path, string name, byte[] value, ulong size);" />
4436       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_lgetxattr&quot; winapi lasterr)int64 lgetxattr(string path, string name, unsigned int8[] value, unsigned int64 size) cil managed" />
4437       <MemberType>Method</MemberType>
4438       <AssemblyInfo>
4439         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4440         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4441         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4442       </AssemblyInfo>
4443       <ReturnValue>
4444         <ReturnType>System.Int64</ReturnType>
4445       </ReturnValue>
4446       <Parameters>
4447         <Parameter Name="path" Type="System.String" />
4448         <Parameter Name="name" Type="System.String" />
4449         <Parameter Name="value" Type="System.Byte[]" />
4450         <Parameter Name="size" Type="System.UInt64" />
4451       </Parameters>
4452       <Docs>
4453         <param name="path">To be added.</param>
4454         <param name="name">To be added.</param>
4455         <param name="value">To be added.</param>
4456         <param name="size">To be added.</param>
4457         <summary>To be added.</summary>
4458         <returns>To be added.</returns>
4459         <remarks>To be added.</remarks>
4460       </Docs>
4461     </Member>
4462     <Member MemberName="link">
4463       <MemberSignature Language="C#" Value="public static int link (string oldpath, string newpath);" />
4464       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;link&quot; winapi lasterr)int32 link(string oldpath, string newpath) cil managed" />
4465       <MemberType>Method</MemberType>
4466       <AssemblyInfo>
4467         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4468         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4469         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4470       </AssemblyInfo>
4471       <ReturnValue>
4472         <ReturnType>System.Int32</ReturnType>
4473       </ReturnValue>
4474       <Parameters>
4475         <Parameter Name="oldpath" Type="System.String" />
4476         <Parameter Name="newpath" Type="System.String" />
4477       </Parameters>
4478       <Docs>
4479         <param name="oldpath">To be added.</param>
4480         <param name="newpath">To be added.</param>
4481         <summary>Create a hard link from oldpath to newpath.</summary>
4482         <returns>
4483           <para>
4484             On success, zero is returned.
4485             On error, -1 is returned and 
4486             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
4487             returns the translated error.
4488           </para>
4489           <block subset="none" type="usage">
4490             <para>
4491               The
4492               <c>link</c>()
4493               system call
4494               will fail and no link will be created if:
4495             </para>
4496             <list type="table">
4497               <listheader>
4498                 <term>
4499                   Error
4500                 </term>
4501                 <description>
4502                   Details
4503                 </description>
4504               </listheader>
4505               <item>
4506                 <term>
4507                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
4508                 </term>
4509                 <description>
4510                   <para>
4511                     A component of either path prefix is not a directory.
4512                   </para>
4513                 </description>
4514               </item>
4515               <item>
4516                 <term>
4517                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
4518                 </term>
4519                 <description>
4520                   <para>
4521                     A component of either pathname exceeded 255 characters,
4522                     or entire length of either path name exceeded 1023 characters.
4523                   </para>
4524                 </description>
4525               </item>
4526               <item>
4527                 <term>
4528                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
4529                 </term>
4530                 <description>
4531                   <para>
4532                     A component of either path prefix does not exist.
4533                   </para>
4534                 </description>
4535               </item>
4536               <item>
4537                 <term>
4538                   <see cref="F:Mono.Unix.Native.Errno.EOPNOTSUPP" />
4539                 </term>
4540                 <description>
4541                   <para>
4542                     The file system containing the file named by
4543                     <paramref name="name1" /> 
4544                     does not support links.
4545                   </para>
4546                 </description>
4547               </item>
4548               <item>
4549                 <term>
4550                   <see cref="F:Mono.Unix.Native.Errno.EMLINK" />
4551                 </term>
4552                 <description>
4553                   <para>
4554                     The link count of the file named by
4555                     <paramref name="name1" /> 
4556                     would exceed 32767.
4557                   </para>
4558                 </description>
4559               </item>
4560               <item>
4561                 <term>
4562                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
4563                 </term>
4564                 <description>
4565                   <para>
4566                     A component of either path prefix denies search permission.
4567                   </para>
4568                 </description>
4569               </item>
4570               <item>
4571                 <term>
4572                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
4573                 </term>
4574                 <description>
4575                   <para>
4576                     The requested link requires writing in a directory with a mode
4577                     that denies write permission.
4578                   </para>
4579                 </description>
4580               </item>
4581               <item>
4582                 <term>
4583                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
4584                 </term>
4585                 <description>
4586                   <para>
4587                     Too many symbolic links were encountered in translating one of the pathnames.
4588                   </para>
4589                 </description>
4590               </item>
4591               <item>
4592                 <term>
4593                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
4594                 </term>
4595                 <description>
4596                   <para>
4597                     The file named by
4598                     <paramref name="name1" /> 
4599                     does not exist.
4600                   </para>
4601                 </description>
4602               </item>
4603               <item>
4604                 <term>
4605                   <see cref="F:Mono.Unix.Native.Errno.EEXIST" />
4606                 </term>
4607                 <description>
4608                   <para>
4609                     The link named by
4610                     <paramref name="name2" /> 
4611                     does exist.
4612                   </para>
4613                 </description>
4614               </item>
4615               <item>
4616                 <term>
4617                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
4618                 </term>
4619                 <description>
4620                   <para>
4621                     The file named by
4622                     <paramref name="name1" /> 
4623                     is a directory or is flagged immutable or append-only
4624                     (see
4625                     <see cref="M:Mono.Unix.Native.Syscall.chflags" />(2) ) .
4626                   </para>
4627                 </description>
4628               </item>
4629               <item>
4630                 <term>
4631                   <see cref="F:Mono.Unix.Native.Errno.EXDEV" />
4632                 </term>
4633                 <description>
4634                   <para>
4635                     The link named by
4636                     <paramref name="name2" /> 
4637                     and the file named by
4638                     <paramref name="name1" /> 
4639                     are on different file systems.
4640                   </para>
4641                 </description>
4642               </item>
4643               <item>
4644                 <term>
4645                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
4646                 </term>
4647                 <description>
4648                   <para>
4649                     The directory in which the entry for the new link is being placed
4650                     cannot be extended because there is no space left on the file
4651                     system containing the directory.
4652                   </para>
4653                 </description>
4654               </item>
4655               <item>
4656                 <term>
4657                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
4658                 </term>
4659                 <description>
4660                   <para>
4661                     The directory in which the entry for the new link
4662                     is being placed cannot be extended because the
4663                     user's quota of disk blocks on the file system
4664                     containing the directory has been exhausted.
4665                   </para>
4666                 </description>
4667               </item>
4668               <item>
4669                 <term>
4670                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
4671                 </term>
4672                 <description>
4673                   <para>
4674                     An I/O error occurred while reading from or writing to
4675                     the file system to make the directory entry.
4676                   </para>
4677                 </description>
4678               </item>
4679               <item>
4680                 <term>
4681                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
4682                 </term>
4683                 <description>
4684                   <para>
4685                     The requested link requires writing in a directory on a read-only file
4686                     system.
4687                   </para>
4688                 </description>
4689               </item>
4690               <item>
4691                 <term>
4692                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
4693                 </term>
4694                 <description>
4695                   <para>
4696                     One of the pathnames specified
4697                     is outside the process's allocated address space.
4698                   </para>
4699                 </description>
4700               </item>
4701             </list>
4702             <para>
4703             </para>
4704           </block>
4705         </returns>
4706         <remarks>
4707           <para>
4708             The
4709             <c>link</c>()
4710             system call
4711             atomically creates the specified directory entry (hard link)
4712             <paramref name="name2" /> 
4713             with the attributes of the underlying object pointed at by
4714             <paramref name="name1" /> .
4715             If the link is successful: the link count of the underlying object
4716             is incremented;
4717             <paramref name="name1" /> 
4718             and
4719             <paramref name="name2" /> 
4720             share equal access and rights
4721             to the
4722             underlying object.
4723           </para>
4724           <para>
4725             If
4726             <paramref name="name1" /> 
4727             is removed, the file
4728             <paramref name="name2" /> 
4729             is not deleted and the link count of the
4730             underlying object is
4731             decremented.
4732           </para>
4733           <para>
4734             The object pointed at by the
4735             <paramref name="name1" /> 
4736             argument
4737             must exist for the hard link to
4738             succeed and
4739             both
4740             <paramref name="name1" /> 
4741             and
4742             <paramref name="name2" /> 
4743             must be in the same file system.
4744             The
4745             <paramref name="name1" /> 
4746             argument
4747             may not be a directory.
4748           </para>
4749         </remarks>
4750         <altmember cref="M:Mono.Unix.Native.Syscall.readlink" />
4751         <altmember cref="M:Mono.Unix.Native.Syscall.symlink" />
4752         <altmember cref="M:Mono.Unix.Native.Syscall.unlink" />
4753       </Docs>
4754     </Member>
4755     <Member MemberName="listxattr">
4756       <MemberSignature Language="C#" Value="public static long listxattr (string path, out string[] values);" />
4757       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 listxattr(string path, string[] values) cil managed" />
4758       <MemberType>Method</MemberType>
4759       <AssemblyInfo>
4760         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4761         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4762         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4763       </AssemblyInfo>
4764       <ReturnValue>
4765         <ReturnType>System.Int64</ReturnType>
4766       </ReturnValue>
4767       <Parameters>
4768         <Parameter Name="path" Type="System.String" />
4769         <Parameter Name="values" Type="System.String[]&amp;" RefType="out" />
4770       </Parameters>
4771       <Docs>
4772         <param name="path">To be added.</param>
4773         <param name="values">To be added.</param>
4774         <summary>To be added.</summary>
4775         <returns>To be added.</returns>
4776         <remarks>To be added.</remarks>
4777       </Docs>
4778     </Member>
4779     <Member MemberName="listxattr">
4780       <MemberSignature Language="C#" Value="public static long listxattr (string path, byte[] list, ulong size);" />
4781       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_listxattr&quot; winapi lasterr)int64 listxattr(string path, unsigned int8[] list, unsigned int64 size) cil managed" />
4782       <MemberType>Method</MemberType>
4783       <AssemblyInfo>
4784         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4785         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4786         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4787       </AssemblyInfo>
4788       <ReturnValue>
4789         <ReturnType>System.Int64</ReturnType>
4790       </ReturnValue>
4791       <Parameters>
4792         <Parameter Name="path" Type="System.String" />
4793         <Parameter Name="list" Type="System.Byte[]" />
4794         <Parameter Name="size" Type="System.UInt64" />
4795       </Parameters>
4796       <Docs>
4797         <param name="path">To be added.</param>
4798         <param name="list">To be added.</param>
4799         <param name="size">To be added.</param>
4800         <summary>To be added.</summary>
4801         <returns>To be added.</returns>
4802         <remarks>To be added.</remarks>
4803       </Docs>
4804     </Member>
4805     <Member MemberName="listxattr">
4806       <MemberSignature Language="C#" Value="public static long listxattr (string path, System.Text.Encoding encoding, out string[] values);" />
4807       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 listxattr(string path, class System.Text.Encoding encoding, string[] values) cil managed" />
4808       <MemberType>Method</MemberType>
4809       <AssemblyInfo>
4810         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4811         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4812         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4813       </AssemblyInfo>
4814       <ReturnValue>
4815         <ReturnType>System.Int64</ReturnType>
4816       </ReturnValue>
4817       <Parameters>
4818         <Parameter Name="path" Type="System.String" />
4819         <Parameter Name="encoding" Type="System.Text.Encoding" />
4820         <Parameter Name="values" Type="System.String[]&amp;" RefType="out" />
4821       </Parameters>
4822       <Docs>
4823         <param name="path">To be added.</param>
4824         <param name="encoding">To be added.</param>
4825         <param name="values">To be added.</param>
4826         <summary>To be added.</summary>
4827         <returns>To be added.</returns>
4828         <remarks>To be added.</remarks>
4829       </Docs>
4830     </Member>
4831     <Member MemberName="llistxattr">
4832       <MemberSignature Language="C#" Value="public static long llistxattr (string path, out string[] values);" />
4833       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 llistxattr(string path, string[] values) cil managed" />
4834       <MemberType>Method</MemberType>
4835       <AssemblyInfo>
4836         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4837         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4838         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4839       </AssemblyInfo>
4840       <ReturnValue>
4841         <ReturnType>System.Int64</ReturnType>
4842       </ReturnValue>
4843       <Parameters>
4844         <Parameter Name="path" Type="System.String" />
4845         <Parameter Name="values" Type="System.String[]&amp;" RefType="out" />
4846       </Parameters>
4847       <Docs>
4848         <param name="path">To be added.</param>
4849         <param name="values">To be added.</param>
4850         <summary>To be added.</summary>
4851         <returns>To be added.</returns>
4852         <remarks>To be added.</remarks>
4853       </Docs>
4854     </Member>
4855     <Member MemberName="llistxattr">
4856       <MemberSignature Language="C#" Value="public static long llistxattr (string path, byte[] list, ulong size);" />
4857       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_llistxattr&quot; winapi lasterr)int64 llistxattr(string path, unsigned int8[] list, unsigned int64 size) cil managed" />
4858       <MemberType>Method</MemberType>
4859       <AssemblyInfo>
4860         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4861         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4862         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4863       </AssemblyInfo>
4864       <ReturnValue>
4865         <ReturnType>System.Int64</ReturnType>
4866       </ReturnValue>
4867       <Parameters>
4868         <Parameter Name="path" Type="System.String" />
4869         <Parameter Name="list" Type="System.Byte[]" />
4870         <Parameter Name="size" Type="System.UInt64" />
4871       </Parameters>
4872       <Docs>
4873         <param name="path">To be added.</param>
4874         <param name="list">To be added.</param>
4875         <param name="size">To be added.</param>
4876         <summary>To be added.</summary>
4877         <returns>To be added.</returns>
4878         <remarks>To be added.</remarks>
4879       </Docs>
4880     </Member>
4881     <Member MemberName="llistxattr">
4882       <MemberSignature Language="C#" Value="public static long llistxattr (string path, System.Text.Encoding encoding, out string[] values);" />
4883       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 llistxattr(string path, class System.Text.Encoding encoding, string[] values) cil managed" />
4884       <MemberType>Method</MemberType>
4885       <AssemblyInfo>
4886         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4887         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4888         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4889       </AssemblyInfo>
4890       <ReturnValue>
4891         <ReturnType>System.Int64</ReturnType>
4892       </ReturnValue>
4893       <Parameters>
4894         <Parameter Name="path" Type="System.String" />
4895         <Parameter Name="encoding" Type="System.Text.Encoding" />
4896         <Parameter Name="values" Type="System.String[]&amp;" RefType="out" />
4897       </Parameters>
4898       <Docs>
4899         <param name="path">To be added.</param>
4900         <param name="encoding">To be added.</param>
4901         <param name="values">To be added.</param>
4902         <summary>To be added.</summary>
4903         <returns>To be added.</returns>
4904         <remarks>To be added.</remarks>
4905       </Docs>
4906     </Member>
4907     <Member MemberName="lockf">
4908       <MemberSignature Language="C#" Value="public static int lockf (int fd, Mono.Unix.Native.LockfCommand cmd, long len);" />
4909       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_lockf&quot; winapi lasterr)int32 lockf(int32 fd, valuetype Mono.Unix.Native.LockfCommand cmd, int64 len) cil managed" />
4910       <MemberType>Method</MemberType>
4911       <AssemblyInfo>
4912         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4913         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4914         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4915       </AssemblyInfo>
4916       <ReturnValue>
4917         <ReturnType>System.Int32</ReturnType>
4918       </ReturnValue>
4919       <Parameters>
4920         <Parameter Name="fd" Type="System.Int32" />
4921         <Parameter Name="cmd" Type="Mono.Unix.Native.LockfCommand" />
4922         <Parameter Name="len" Type="System.Int64" />
4923       </Parameters>
4924       <Docs>
4925         <param name="fd">To be added.</param>
4926         <param name="cmd">To be added.</param>
4927         <param name="len">To be added.</param>
4928         <summary>To be added.</summary>
4929         <returns>To be added.</returns>
4930         <remarks>To be added.</remarks>
4931       </Docs>
4932     </Member>
4933     <Member MemberName="lremovexattr">
4934       <MemberSignature Language="C#" Value="public static int lremovexattr (string path, string name);" />
4935       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_lremovexattr&quot; winapi lasterr)int32 lremovexattr(string path, string name) cil managed" />
4936       <MemberType>Method</MemberType>
4937       <AssemblyInfo>
4938         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4939         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4940         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4941       </AssemblyInfo>
4942       <ReturnValue>
4943         <ReturnType>System.Int32</ReturnType>
4944       </ReturnValue>
4945       <Parameters>
4946         <Parameter Name="path" Type="System.String" />
4947         <Parameter Name="name" Type="System.String" />
4948       </Parameters>
4949       <Docs>
4950         <param name="path">To be added.</param>
4951         <param name="name">To be added.</param>
4952         <summary>To be added.</summary>
4953         <returns>To be added.</returns>
4954         <remarks>To be added.</remarks>
4955       </Docs>
4956     </Member>
4957     <Member MemberName="lseek">
4958       <MemberSignature Language="C#" Value="public static long lseek (int fd, long offset, Mono.Unix.Native.SeekFlags whence);" />
4959       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 lseek(int32 fd, int64 offset, valuetype Mono.Unix.Native.SeekFlags whence) cil managed" />
4960       <MemberType>Method</MemberType>
4961       <AssemblyInfo>
4962         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4963         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4964         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4965       </AssemblyInfo>
4966       <ReturnValue>
4967         <ReturnType>System.Int64</ReturnType>
4968       </ReturnValue>
4969       <Parameters>
4970         <Parameter Name="fd" Type="System.Int32" />
4971         <Parameter Name="offset" Type="System.Int64" />
4972         <Parameter Name="whence" Type="Mono.Unix.Native.SeekFlags" />
4973       </Parameters>
4974       <Docs>
4975         <param name="fd">To be added.</param>
4976         <param name="offset">To be added.</param>
4977         <param name="whence">To be added.</param>
4978         <summary>Changes the read/write file offset of a file descriptor.</summary>
4979         <returns>To be added.</returns>
4980         <remarks>The offset parameter is interpreted according to the possible following values of whence: 
4981 <list type="table"><listheader><term>Value</term><description>Description</description></listheader><item><term>SEEK_SET</term><description>the new file offset will be the current offset plus offset.</description></item><item><term>SEEK_CUR</term><description>the new file offset will be offset.</description></item><item><term>SEEK_END</term><description>the new file offset will be the end of the file plus offset. </description></item></list>
4982 If we seek past the end of a file, the new file region contains 0. </remarks>
4983       </Docs>
4984     </Member>
4985     <Member MemberName="lsetxattr">
4986       <MemberSignature Language="C#" Value="public static int lsetxattr (string path, string name, byte[] value);" />
4987       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 lsetxattr(string path, string name, unsigned int8[] value) cil managed" />
4988       <MemberType>Method</MemberType>
4989       <AssemblyInfo>
4990         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
4991         <AssemblyVersion>2.0.0.0</AssemblyVersion>
4992         <AssemblyVersion>4.0.0.0</AssemblyVersion>
4993       </AssemblyInfo>
4994       <ReturnValue>
4995         <ReturnType>System.Int32</ReturnType>
4996       </ReturnValue>
4997       <Parameters>
4998         <Parameter Name="path" Type="System.String" />
4999         <Parameter Name="name" Type="System.String" />
5000         <Parameter Name="value" Type="System.Byte[]" />
5001       </Parameters>
5002       <Docs>
5003         <param name="path">To be added.</param>
5004         <param name="name">To be added.</param>
5005         <param name="value">To be added.</param>
5006         <summary>To be added.</summary>
5007         <returns>To be added.</returns>
5008         <remarks>To be added.</remarks>
5009       </Docs>
5010     </Member>
5011     <Member MemberName="lsetxattr">
5012       <MemberSignature Language="C#" Value="public static int lsetxattr (string path, string name, byte[] value, Mono.Unix.Native.XattrFlags flags);" />
5013       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 lsetxattr(string path, string name, unsigned int8[] value, valuetype Mono.Unix.Native.XattrFlags flags) cil managed" />
5014       <MemberType>Method</MemberType>
5015       <AssemblyInfo>
5016         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5017         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5018         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5019       </AssemblyInfo>
5020       <ReturnValue>
5021         <ReturnType>System.Int32</ReturnType>
5022       </ReturnValue>
5023       <Parameters>
5024         <Parameter Name="path" Type="System.String" />
5025         <Parameter Name="name" Type="System.String" />
5026         <Parameter Name="value" Type="System.Byte[]" />
5027         <Parameter Name="flags" Type="Mono.Unix.Native.XattrFlags" />
5028       </Parameters>
5029       <Docs>
5030         <param name="path">To be added.</param>
5031         <param name="name">To be added.</param>
5032         <param name="value">To be added.</param>
5033         <param name="flags">To be added.</param>
5034         <summary>To be added.</summary>
5035         <returns>To be added.</returns>
5036         <remarks>To be added.</remarks>
5037       </Docs>
5038     </Member>
5039     <Member MemberName="lsetxattr">
5040       <MemberSignature Language="C#" Value="public static int lsetxattr (string path, string name, byte[] value, ulong size);" />
5041       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 lsetxattr(string path, string name, unsigned int8[] value, unsigned int64 size) cil managed" />
5042       <MemberType>Method</MemberType>
5043       <AssemblyInfo>
5044         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5045         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5046         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5047       </AssemblyInfo>
5048       <ReturnValue>
5049         <ReturnType>System.Int32</ReturnType>
5050       </ReturnValue>
5051       <Parameters>
5052         <Parameter Name="path" Type="System.String" />
5053         <Parameter Name="name" Type="System.String" />
5054         <Parameter Name="value" Type="System.Byte[]" />
5055         <Parameter Name="size" Type="System.UInt64" />
5056       </Parameters>
5057       <Docs>
5058         <param name="path">To be added.</param>
5059         <param name="name">To be added.</param>
5060         <param name="value">To be added.</param>
5061         <param name="size">To be added.</param>
5062         <summary>To be added.</summary>
5063         <returns>To be added.</returns>
5064         <remarks>To be added.</remarks>
5065       </Docs>
5066     </Member>
5067     <Member MemberName="lsetxattr">
5068       <MemberSignature Language="C#" Value="public static int lsetxattr (string path, string name, byte[] value, ulong size, Mono.Unix.Native.XattrFlags flags);" />
5069       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_lsetxattr&quot; winapi lasterr)int32 lsetxattr(string path, string name, unsigned int8[] value, unsigned int64 size, valuetype Mono.Unix.Native.XattrFlags flags) cil managed" />
5070       <MemberType>Method</MemberType>
5071       <AssemblyInfo>
5072         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5073         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5074         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5075       </AssemblyInfo>
5076       <ReturnValue>
5077         <ReturnType>System.Int32</ReturnType>
5078       </ReturnValue>
5079       <Parameters>
5080         <Parameter Name="path" Type="System.String" />
5081         <Parameter Name="name" Type="System.String" />
5082         <Parameter Name="value" Type="System.Byte[]" />
5083         <Parameter Name="size" Type="System.UInt64" />
5084         <Parameter Name="flags" Type="Mono.Unix.Native.XattrFlags" />
5085       </Parameters>
5086       <Docs>
5087         <param name="path">To be added.</param>
5088         <param name="name">To be added.</param>
5089         <param name="value">To be added.</param>
5090         <param name="size">To be added.</param>
5091         <param name="flags">To be added.</param>
5092         <summary>To be added.</summary>
5093         <returns>To be added.</returns>
5094         <remarks>To be added.</remarks>
5095       </Docs>
5096     </Member>
5097     <Member MemberName="lstat">
5098       <MemberSignature Language="C#" Value="public static int lstat (string file_name, out Mono.Unix.Native.Stat buf);" />
5099       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_lstat&quot; winapi lasterr)int32 lstat(string file_name, valuetype Mono.Unix.Native.Stat buf) cil managed" />
5100       <MemberType>Method</MemberType>
5101       <AssemblyInfo>
5102         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5103         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5104         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5105       </AssemblyInfo>
5106       <ReturnValue>
5107         <ReturnType>System.Int32</ReturnType>
5108       </ReturnValue>
5109       <Parameters>
5110         <Parameter Name="file_name" Type="System.String" />
5111         <Parameter Name="buf" Type="Mono.Unix.Native.Stat&amp;" RefType="out" />
5112       </Parameters>
5113       <Docs>
5114         <param name="file_name">To be added.</param>
5115         <param name="buf">To be added.</param>
5116         <summary>Retrieves via output paramter the file status struct for a file. </summary>
5117         <returns>To be added.</returns>
5118         <remarks>To be added.</remarks>
5119       </Docs>
5120     </Member>
5121     <Member MemberName="lutimes">
5122       <MemberSignature Language="C#" Value="public static int lutimes (string filename, Mono.Unix.Native.Timeval[] tvp);" />
5123       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 lutimes(string filename, valuetype Mono.Unix.Native.Timeval[] tvp) cil managed" />
5124       <MemberType>Method</MemberType>
5125       <AssemblyInfo>
5126         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5127         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5128         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5129       </AssemblyInfo>
5130       <ReturnValue>
5131         <ReturnType>System.Int32</ReturnType>
5132       </ReturnValue>
5133       <Parameters>
5134         <Parameter Name="filename" Type="System.String" />
5135         <Parameter Name="tvp" Type="Mono.Unix.Native.Timeval[]" />
5136       </Parameters>
5137       <Docs>
5138         <param name="filename">To be added.</param>
5139         <param name="tvp">To be added.</param>
5140         <summary>To be added.</summary>
5141         <returns>To be added.</returns>
5142         <remarks>To be added.</remarks>
5143       </Docs>
5144     </Member>
5145     <Member MemberName="MAP_FAILED">
5146       <MemberSignature Language="C#" Value="public static readonly IntPtr MAP_FAILED;" />
5147       <MemberSignature Language="ILAsm" Value=".field public static initonly native int MAP_FAILED" />
5148       <MemberType>Field</MemberType>
5149       <AssemblyInfo>
5150         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5151         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5152         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5153       </AssemblyInfo>
5154       <ReturnValue>
5155         <ReturnType>System.IntPtr</ReturnType>
5156       </ReturnValue>
5157       <Docs>
5158         <summary>To be added.</summary>
5159         <remarks>To be added.</remarks>
5160       </Docs>
5161     </Member>
5162     <Member MemberName="mincore">
5163       <MemberSignature Language="C#" Value="public static int mincore (IntPtr start, ulong length, byte[] vec);" />
5164       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_mincore&quot; winapi lasterr)int32 mincore(native int start, unsigned int64 length, unsigned int8[] vec) cil managed" />
5165       <MemberType>Method</MemberType>
5166       <AssemblyInfo>
5167         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5168         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5169         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5170       </AssemblyInfo>
5171       <ReturnValue>
5172         <ReturnType>System.Int32</ReturnType>
5173       </ReturnValue>
5174       <Parameters>
5175         <Parameter Name="start" Type="System.IntPtr" />
5176         <Parameter Name="length" Type="System.UInt64" />
5177         <Parameter Name="vec" Type="System.Byte[]" />
5178       </Parameters>
5179       <Docs>
5180         <param name="start">To be added.</param>
5181         <param name="length">To be added.</param>
5182         <param name="vec">To be added.</param>
5183         <summary>To be added.</summary>
5184         <returns>To be added.</returns>
5185         <remarks>To be added.</remarks>
5186       </Docs>
5187     </Member>
5188     <Member MemberName="mkdir">
5189       <MemberSignature Language="C#" Value="public static int mkdir (string oldpath, Mono.Unix.Native.FilePermissions mode);" />
5190       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 mkdir(string oldpath, valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
5191       <MemberType>Method</MemberType>
5192       <AssemblyInfo>
5193         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5194         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5195         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5196       </AssemblyInfo>
5197       <ReturnValue>
5198         <ReturnType>System.Int32</ReturnType>
5199       </ReturnValue>
5200       <Parameters>
5201         <Parameter Name="oldpath" Type="System.String" />
5202         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
5203       </Parameters>
5204       <Docs>
5205         <param name="oldpath">To be added.</param>
5206         <param name="mode">To be added.</param>
5207         <summary>Create a directory at 'path' with the given FilePermissions.</summary>
5208         <returns>
5209           <para>
5210             On success, zero is returned.
5211             On error, -1 is returned and 
5212             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
5213             returns the translated error.
5214           </para>
5215           <block subset="none" type="usage">
5216             <para>
5217               The
5218               <c>mkdir</c>()
5219               system call
5220               will fail and no directory will be created if:
5221             </para>
5222             <list type="table">
5223               <listheader>
5224                 <term>
5225                   Error
5226                 </term>
5227                 <description>
5228                   Details
5229                 </description>
5230               </listheader>
5231               <item>
5232                 <term>
5233                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
5234                 </term>
5235                 <description>
5236                   <para>
5237                     A component of the path prefix is not a directory.
5238                   </para>
5239                 </description>
5240               </item>
5241               <item>
5242                 <term>
5243                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
5244                 </term>
5245                 <description>
5246                   <para>
5247                     A component of a pathname exceeded 255 characters,
5248                     or an entire path name exceeded 1023 characters.
5249                   </para>
5250                 </description>
5251               </item>
5252               <item>
5253                 <term>
5254                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
5255                 </term>
5256                 <description>
5257                   <para>
5258                     A component of the path prefix does not exist.
5259                   </para>
5260                 </description>
5261               </item>
5262               <item>
5263                 <term>
5264                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
5265                 </term>
5266                 <description>
5267                   <para>
5268                     Search permission is denied for a component of the path prefix,
5269                     or write permission is denied
5270                     on the parent directory of the directory to be created.
5271                   </para>
5272                 </description>
5273               </item>
5274               <item>
5275                 <term>
5276                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
5277                 </term>
5278                 <description>
5279                   <para>
5280                     Too many symbolic links were encountered in translating the pathname.
5281                   </para>
5282                 </description>
5283               </item>
5284               <item>
5285                 <term>
5286                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
5287                 </term>
5288                 <description>
5289                   <para>
5290                     The named file resides on a read-only file system.
5291                   </para>
5292                 </description>
5293               </item>
5294               <item>
5295                 <term>
5296                   <see cref="F:Mono.Unix.Native.Errno.EEXIST" />
5297                 </term>
5298                 <description>
5299                   <para>
5300                     The named file exists.
5301                   </para>
5302                 </description>
5303               </item>
5304               <item>
5305                 <term>
5306                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
5307                 </term>
5308                 <description>
5309                   <para>
5310                     The new directory cannot be created because there is no space left
5311                     on the file system that will contain the directory.
5312                   </para>
5313                 </description>
5314               </item>
5315               <item>
5316                 <term>
5317                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
5318                 </term>
5319                 <description>
5320                   <para>
5321                     There are no free inodes on the file system on which the
5322                     directory is being created.
5323                   </para>
5324                 </description>
5325               </item>
5326               <item>
5327                 <term>
5328                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
5329                 </term>
5330                 <description>
5331                   <para>
5332                     The new directory cannot be created because the user's
5333                     quota of disk blocks on the file system that will
5334                     contain the directory has been exhausted.
5335                   </para>
5336                 </description>
5337               </item>
5338               <item>
5339                 <term>
5340                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
5341                 </term>
5342                 <description>
5343                   <para>
5344                     The user's quota of inodes on the file system on
5345                     which the directory is being created has been exhausted.
5346                   </para>
5347                 </description>
5348               </item>
5349               <item>
5350                 <term>
5351                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
5352                 </term>
5353                 <description>
5354                   <para>
5355                     An I/O error occurred while making the directory entry or allocating the inode.
5356                   </para>
5357                 </description>
5358               </item>
5359               <item>
5360                 <term>
5361                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
5362                 </term>
5363                 <description>
5364                   <para>
5365                     An I/O error occurred while reading from or writing to the file system.
5366                   </para>
5367                 </description>
5368               </item>
5369               <item>
5370                 <term>
5371                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
5372                 </term>
5373                 <description>
5374                   <para>
5375                     The
5376                     <paramref name="path" /> 
5377                     argument
5378                     points outside the process's allocated address space.
5379                   </para>
5380                 </description>
5381               </item>
5382             </list>
5383             <para>
5384             </para>
5385           </block>
5386         </returns>
5387         <remarks>
5388           <para>
5389             The directory
5390             <paramref name="path" /> 
5391             is created with the access permissions specified by
5392             <paramref name="mode" /> 
5393             and restricted by the
5394             <see cref="M:Mono.Unix.Native.Syscall.umask" />(2)
5395             of the calling process.
5396           </para>
5397           <para>
5398             The directory's owner ID is set to the process's effective user ID.
5399             The directory's group ID is set to that of the parent directory in
5400             which it is created.
5401           </para>
5402         </remarks>
5403         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
5404         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
5405         <altmember cref="M:Mono.Unix.Native.Syscall.umask" />
5406       </Docs>
5407     </Member>
5408     <Member MemberName="mkfifo">
5409       <MemberSignature Language="C#" Value="public static int mkfifo (string pathname, Mono.Unix.Native.FilePermissions mode);" />
5410       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 mkfifo(string pathname, valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
5411       <MemberType>Method</MemberType>
5412       <AssemblyInfo>
5413         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5414         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5415         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5416       </AssemblyInfo>
5417       <ReturnValue>
5418         <ReturnType>System.Int32</ReturnType>
5419       </ReturnValue>
5420       <Parameters>
5421         <Parameter Name="pathname" Type="System.String" />
5422         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
5423       </Parameters>
5424       <Docs>
5425         <param name="pathname">To be added.</param>
5426         <param name="mode">To be added.</param>
5427         <summary>To be added.</summary>
5428         <returns>To be added.</returns>
5429         <remarks>To be added.</remarks>
5430       </Docs>
5431     </Member>
5432     <Member MemberName="mknod">
5433       <MemberSignature Language="C#" Value="public static int mknod (string pathname, Mono.Unix.Native.FilePermissions mode, ulong dev);" />
5434       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_mknod&quot; winapi lasterr)int32 mknod(string pathname, valuetype Mono.Unix.Native.FilePermissions mode, unsigned int64 dev) cil managed" />
5435       <MemberType>Method</MemberType>
5436       <AssemblyInfo>
5437         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5438         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5439         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5440       </AssemblyInfo>
5441       <ReturnValue>
5442         <ReturnType>System.Int32</ReturnType>
5443       </ReturnValue>
5444       <Parameters>
5445         <Parameter Name="pathname" Type="System.String" />
5446         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
5447         <Parameter Name="dev" Type="System.UInt64" />
5448       </Parameters>
5449       <Docs>
5450         <param name="pathname">To be added.</param>
5451         <param name="mode">To be added.</param>
5452         <param name="dev">To be added.</param>
5453         <summary>Create a special file node.</summary>
5454         <returns>
5455           <para>
5456             On success, zero is returned.
5457             On error, -1 is returned and 
5458             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
5459             returns the translated error.
5460           </para>
5461           <block subset="none" type="usage">
5462             <para>
5463               The
5464               <c>mknod</c>()
5465               system call
5466               will fail and the file will be not created if:
5467             </para>
5468             <list type="table">
5469               <listheader>
5470                 <term>
5471                   Error
5472                 </term>
5473                 <description>
5474                   Details
5475                 </description>
5476               </listheader>
5477               <item>
5478                 <term>
5479                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
5480                 </term>
5481                 <description>
5482                   <para>
5483                     A component of the path prefix is not a directory.
5484                   </para>
5485                 </description>
5486               </item>
5487               <item>
5488                 <term>
5489                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
5490                 </term>
5491                 <description>
5492                   <para>
5493                     A component of a pathname exceeded 255 characters,
5494                     or an entire path name exceeded 1023 characters.
5495                   </para>
5496                 </description>
5497               </item>
5498               <item>
5499                 <term>
5500                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
5501                 </term>
5502                 <description>
5503                   <para>
5504                     A component of the path prefix does not exist.
5505                   </para>
5506                 </description>
5507               </item>
5508               <item>
5509                 <term>
5510                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
5511                 </term>
5512                 <description>
5513                   <para>
5514                     Search permission is denied for a component of the path prefix.
5515                   </para>
5516                 </description>
5517               </item>
5518               <item>
5519                 <term>
5520                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
5521                 </term>
5522                 <description>
5523                   <para>
5524                     Too many symbolic links were encountered in translating the pathname.
5525                   </para>
5526                 </description>
5527               </item>
5528               <item>
5529                 <term>
5530                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
5531                 </term>
5532                 <description>
5533                   <para>
5534                     The process's effective user ID is not super-user.
5535                   </para>
5536                 </description>
5537               </item>
5538               <item>
5539                 <term>
5540                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
5541                 </term>
5542                 <description>
5543                   <para>
5544                     An I/O error occurred while making the directory entry or allocating the inode.
5545                   </para>
5546                 </description>
5547               </item>
5548               <item>
5549                 <term>
5550                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
5551                 </term>
5552                 <description>
5553                   <para>
5554                     The directory in which the entry for the new node is being placed
5555                     cannot be extended because there is no space left on the file
5556                     system containing the directory.
5557                   </para>
5558                 </description>
5559               </item>
5560               <item>
5561                 <term>
5562                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
5563                 </term>
5564                 <description>
5565                   <para>
5566                     There are no free inodes on the file system on which the
5567                     node is being created.
5568                   </para>
5569                 </description>
5570               </item>
5571               <item>
5572                 <term>
5573                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
5574                 </term>
5575                 <description>
5576                   <para>
5577                     The directory in which the entry for the new node
5578                     is being placed cannot be extended because the
5579                     user's quota of disk blocks on the file system
5580                     containing the directory has been exhausted.
5581                   </para>
5582                 </description>
5583               </item>
5584               <item>
5585                 <term>
5586                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
5587                 </term>
5588                 <description>
5589                   <para>
5590                     The user's quota of inodes on the file system on
5591                     which the node is being created has been exhausted.
5592                   </para>
5593                 </description>
5594               </item>
5595               <item>
5596                 <term>
5597                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
5598                 </term>
5599                 <description>
5600                   <para>
5601                     The named file resides on a read-only file system.
5602                   </para>
5603                 </description>
5604               </item>
5605               <item>
5606                 <term>
5607                   <see cref="F:Mono.Unix.Native.Errno.EEXIST" />
5608                 </term>
5609                 <description>
5610                   <para>
5611                     The named file exists.
5612                   </para>
5613                 </description>
5614               </item>
5615               <item>
5616                 <term>
5617                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
5618                 </term>
5619                 <description>
5620                   <para>
5621                     The
5622                     <paramref name="path" /> 
5623                     argument
5624                     points outside the process's allocated address space.
5625                   </para>
5626                 </description>
5627               </item>
5628               <item>
5629                 <term>
5630                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
5631                 </term>
5632                 <description>
5633                   <para>
5634                     Creating anything else than a block or character special
5635                     file (or a
5636                     <i>whiteout )</i>
5637                     is not supported.
5638                   </para>
5639                 </description>
5640               </item>
5641             </list>
5642             <para>
5643             </para>
5644           </block>
5645         </returns>
5646         <remarks>
5647           <para>
5648             The file system node
5649             <paramref name="path" /> 
5650             is created with the file type and access permissions specified in
5651             <paramref name="mode" /> .
5652             The access permissions are modified by the process's umask value.
5653           </para>
5654           <para>
5655             If
5656             <paramref name="mode" /> 
5657             indicates a block or character special file,
5658             <paramref name="dev" /> 
5659             is a configuration dependent specification denoting a particular device
5660             on the system.
5661             Otherwise,
5662             <paramref name="dev" /> 
5663             is ignored.
5664           </para>
5665           <para>
5666             The
5667             <c>mknod</c>()
5668             system call
5669             requires super-user privileges.
5670           </para>
5671         </remarks>
5672         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
5673         <altmember cref="M:Mono.Unix.Native.Syscall.mkfifo" />
5674         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
5675         <altmember cref="M:Mono.Unix.Native.Syscall.umask" />
5676       </Docs>
5677     </Member>
5678     <Member MemberName="mkstemp">
5679       <MemberSignature Language="C#" Value="public static int mkstemp (System.Text.StringBuilder template);" />
5680       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;mkstemp&quot; winapi lasterr)int32 mkstemp(class System.Text.StringBuilder template) cil managed" />
5681       <MemberType>Method</MemberType>
5682       <AssemblyInfo>
5683         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5684         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5685         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5686       </AssemblyInfo>
5687       <ReturnValue>
5688         <ReturnType>System.Int32</ReturnType>
5689       </ReturnValue>
5690       <Parameters>
5691         <Parameter Name="template" Type="System.Text.StringBuilder" />
5692       </Parameters>
5693       <Docs>
5694         <param name="template">To be added.</param>
5695         <summary>To be added.</summary>
5696         <returns>To be added.</returns>
5697         <remarks>To be added.</remarks>
5698       </Docs>
5699     </Member>
5700     <Member MemberName="mlock">
5701       <MemberSignature Language="C#" Value="public static int mlock (IntPtr start, ulong len);" />
5702       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_mlock&quot; winapi lasterr)int32 mlock(native int start, unsigned int64 len) cil managed" />
5703       <MemberType>Method</MemberType>
5704       <AssemblyInfo>
5705         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5706         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5707         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5708       </AssemblyInfo>
5709       <ReturnValue>
5710         <ReturnType>System.Int32</ReturnType>
5711       </ReturnValue>
5712       <Parameters>
5713         <Parameter Name="start" Type="System.IntPtr" />
5714         <Parameter Name="len" Type="System.UInt64" />
5715       </Parameters>
5716       <Docs>
5717         <param name="start">To be added.</param>
5718         <param name="len">To be added.</param>
5719         <summary>To be added.</summary>
5720         <returns>To be added.</returns>
5721         <remarks>To be added.</remarks>
5722       </Docs>
5723     </Member>
5724     <Member MemberName="mlockall">
5725       <MemberSignature Language="C#" Value="public static int mlockall (Mono.Unix.Native.MlockallFlags flags);" />
5726       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 mlockall(valuetype Mono.Unix.Native.MlockallFlags flags) cil managed" />
5727       <MemberType>Method</MemberType>
5728       <AssemblyInfo>
5729         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5730         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5731         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5732       </AssemblyInfo>
5733       <ReturnValue>
5734         <ReturnType>System.Int32</ReturnType>
5735       </ReturnValue>
5736       <Parameters>
5737         <Parameter Name="flags" Type="Mono.Unix.Native.MlockallFlags" />
5738       </Parameters>
5739       <Docs>
5740         <param name="flags">To be added.</param>
5741         <summary>To be added.</summary>
5742         <returns>To be added.</returns>
5743         <remarks>To be added.</remarks>
5744       </Docs>
5745     </Member>
5746     <Member MemberName="mmap">
5747       <MemberSignature Language="C#" Value="public static IntPtr mmap (IntPtr start, ulong length, Mono.Unix.Native.MmapProts prot, Mono.Unix.Native.MmapFlags flags, int fd, long offset);" />
5748       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_mmap&quot; winapi lasterr)native int mmap(native int start, unsigned int64 length, valuetype Mono.Unix.Native.MmapProts prot, valuetype Mono.Unix.Native.MmapFlags flags, int32 fd, int64 offset) cil managed" />
5749       <MemberType>Method</MemberType>
5750       <AssemblyInfo>
5751         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5752         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5753         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5754       </AssemblyInfo>
5755       <ReturnValue>
5756         <ReturnType>System.IntPtr</ReturnType>
5757       </ReturnValue>
5758       <Parameters>
5759         <Parameter Name="start" Type="System.IntPtr" />
5760         <Parameter Name="length" Type="System.UInt64" />
5761         <Parameter Name="prot" Type="Mono.Unix.Native.MmapProts" />
5762         <Parameter Name="flags" Type="Mono.Unix.Native.MmapFlags" />
5763         <Parameter Name="fd" Type="System.Int32" />
5764         <Parameter Name="offset" Type="System.Int64" />
5765       </Parameters>
5766       <Docs>
5767         <param name="start">To be added.</param>
5768         <param name="length">To be added.</param>
5769         <param name="prot">To be added.</param>
5770         <param name="flags">To be added.</param>
5771         <param name="fd">To be added.</param>
5772         <param name="offset">To be added.</param>
5773         <summary>To be added.</summary>
5774         <returns>To be added.</returns>
5775         <remarks>To be added.</remarks>
5776       </Docs>
5777     </Member>
5778     <Member MemberName="mprotect">
5779       <MemberSignature Language="C#" Value="public static int mprotect (IntPtr start, ulong len, Mono.Unix.Native.MmapProts prot);" />
5780       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_mprotect&quot; winapi lasterr)int32 mprotect(native int start, unsigned int64 len, valuetype Mono.Unix.Native.MmapProts prot) cil managed" />
5781       <MemberType>Method</MemberType>
5782       <AssemblyInfo>
5783         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5784         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5785         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5786       </AssemblyInfo>
5787       <ReturnValue>
5788         <ReturnType>System.Int32</ReturnType>
5789       </ReturnValue>
5790       <Parameters>
5791         <Parameter Name="start" Type="System.IntPtr" />
5792         <Parameter Name="len" Type="System.UInt64" />
5793         <Parameter Name="prot" Type="Mono.Unix.Native.MmapProts" />
5794       </Parameters>
5795       <Docs>
5796         <param name="start">To be added.</param>
5797         <param name="len">To be added.</param>
5798         <param name="prot">To be added.</param>
5799         <summary>To be added.</summary>
5800         <returns>To be added.</returns>
5801         <remarks>To be added.</remarks>
5802       </Docs>
5803     </Member>
5804     <Member MemberName="mremap">
5805       <MemberSignature Language="C#" Value="public static IntPtr mremap (IntPtr old_address, ulong old_size, ulong new_size, Mono.Unix.Native.MremapFlags flags);" />
5806       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_mremap&quot; winapi lasterr)native int mremap(native int old_address, unsigned int64 old_size, unsigned int64 new_size, valuetype Mono.Unix.Native.MremapFlags flags) cil managed" />
5807       <MemberType>Method</MemberType>
5808       <AssemblyInfo>
5809         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5810         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5811         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5812       </AssemblyInfo>
5813       <ReturnValue>
5814         <ReturnType>System.IntPtr</ReturnType>
5815       </ReturnValue>
5816       <Parameters>
5817         <Parameter Name="old_address" Type="System.IntPtr" />
5818         <Parameter Name="old_size" Type="System.UInt64" />
5819         <Parameter Name="new_size" Type="System.UInt64" />
5820         <Parameter Name="flags" Type="Mono.Unix.Native.MremapFlags" />
5821       </Parameters>
5822       <Docs>
5823         <param name="old_address">To be added.</param>
5824         <param name="old_size">To be added.</param>
5825         <param name="new_size">To be added.</param>
5826         <param name="flags">To be added.</param>
5827         <summary>To be added.</summary>
5828         <returns>To be added.</returns>
5829         <remarks>To be added.</remarks>
5830       </Docs>
5831     </Member>
5832     <Member MemberName="msync">
5833       <MemberSignature Language="C#" Value="public static int msync (IntPtr start, ulong len, Mono.Unix.Native.MsyncFlags flags);" />
5834       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_msync&quot; winapi lasterr)int32 msync(native int start, unsigned int64 len, valuetype Mono.Unix.Native.MsyncFlags flags) cil managed" />
5835       <MemberType>Method</MemberType>
5836       <AssemblyInfo>
5837         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5838         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5839         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5840       </AssemblyInfo>
5841       <ReturnValue>
5842         <ReturnType>System.Int32</ReturnType>
5843       </ReturnValue>
5844       <Parameters>
5845         <Parameter Name="start" Type="System.IntPtr" />
5846         <Parameter Name="len" Type="System.UInt64" />
5847         <Parameter Name="flags" Type="Mono.Unix.Native.MsyncFlags" />
5848       </Parameters>
5849       <Docs>
5850         <param name="start">To be added.</param>
5851         <param name="len">To be added.</param>
5852         <param name="flags">To be added.</param>
5853         <summary>To be added.</summary>
5854         <returns>To be added.</returns>
5855         <remarks>To be added.</remarks>
5856       </Docs>
5857     </Member>
5858     <Member MemberName="munlock">
5859       <MemberSignature Language="C#" Value="public static int munlock (IntPtr start, ulong len);" />
5860       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_munlock&quot; winapi lasterr)int32 munlock(native int start, unsigned int64 len) cil managed" />
5861       <MemberType>Method</MemberType>
5862       <AssemblyInfo>
5863         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5864         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5865         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5866       </AssemblyInfo>
5867       <ReturnValue>
5868         <ReturnType>System.Int32</ReturnType>
5869       </ReturnValue>
5870       <Parameters>
5871         <Parameter Name="start" Type="System.IntPtr" />
5872         <Parameter Name="len" Type="System.UInt64" />
5873       </Parameters>
5874       <Docs>
5875         <param name="start">To be added.</param>
5876         <param name="len">To be added.</param>
5877         <summary>To be added.</summary>
5878         <returns>To be added.</returns>
5879         <remarks>To be added.</remarks>
5880       </Docs>
5881     </Member>
5882     <Member MemberName="munlockall">
5883       <MemberSignature Language="C#" Value="public static int munlockall ();" />
5884       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;munlockall&quot; winapi lasterr)int32 munlockall() cil managed" />
5885       <MemberType>Method</MemberType>
5886       <AssemblyInfo>
5887         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5888         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5889         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5890       </AssemblyInfo>
5891       <ReturnValue>
5892         <ReturnType>System.Int32</ReturnType>
5893       </ReturnValue>
5894       <Parameters />
5895       <Docs>
5896         <summary>To be added.</summary>
5897         <returns>To be added.</returns>
5898         <remarks>To be added.</remarks>
5899       </Docs>
5900     </Member>
5901     <Member MemberName="munmap">
5902       <MemberSignature Language="C#" Value="public static int munmap (IntPtr start, ulong length);" />
5903       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_munmap&quot; winapi lasterr)int32 munmap(native int start, unsigned int64 length) cil managed" />
5904       <MemberType>Method</MemberType>
5905       <AssemblyInfo>
5906         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5907         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5908         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5909       </AssemblyInfo>
5910       <ReturnValue>
5911         <ReturnType>System.Int32</ReturnType>
5912       </ReturnValue>
5913       <Parameters>
5914         <Parameter Name="start" Type="System.IntPtr" />
5915         <Parameter Name="length" Type="System.UInt64" />
5916       </Parameters>
5917       <Docs>
5918         <param name="start">To be added.</param>
5919         <param name="length">To be added.</param>
5920         <summary>To be added.</summary>
5921         <returns>To be added.</returns>
5922         <remarks>To be added.</remarks>
5923       </Docs>
5924     </Member>
5925     <Member MemberName="nanosleep">
5926       <MemberSignature Language="C#" Value="public static int nanosleep (ref Mono.Unix.Native.Timespec req, ref Mono.Unix.Native.Timespec rem);" />
5927       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_nanosleep&quot; winapi lasterr)int32 nanosleep(valuetype Mono.Unix.Native.Timespec req, valuetype Mono.Unix.Native.Timespec rem) cil managed" />
5928       <MemberType>Method</MemberType>
5929       <AssemblyInfo>
5930         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5931         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5932       </AssemblyInfo>
5933       <ReturnValue>
5934         <ReturnType>System.Int32</ReturnType>
5935       </ReturnValue>
5936       <Parameters>
5937         <Parameter Name="req" Type="Mono.Unix.Native.Timespec&amp;" RefType="ref" />
5938         <Parameter Name="rem" Type="Mono.Unix.Native.Timespec&amp;" RefType="ref" />
5939       </Parameters>
5940       <Docs>
5941         <param name="req">To be added.</param>
5942         <param name="rem">To be added.</param>
5943         <summary>To be added.</summary>
5944         <returns>To be added.</returns>
5945         <remarks>To be added.</remarks>
5946       </Docs>
5947     </Member>
5948     <Member MemberName="nice">
5949       <MemberSignature Language="C#" Value="public static int nice (int inc);" />
5950       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;nice&quot; winapi lasterr)int32 nice(int32 inc) cil managed" />
5951       <MemberType>Method</MemberType>
5952       <AssemblyInfo>
5953         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5954         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5955         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5956       </AssemblyInfo>
5957       <ReturnValue>
5958         <ReturnType>System.Int32</ReturnType>
5959       </ReturnValue>
5960       <Parameters>
5961         <Parameter Name="inc" Type="System.Int32" />
5962       </Parameters>
5963       <Docs>
5964         <param name="inc">To be added.</param>
5965         <summary>Change the priority of the current process by given increment.</summary>
5966         <returns>To be added.</returns>
5967         <remarks>Adds 'increment' to the priority of the calling task. Only a task with superuser privileges may specify a negative increment.</remarks>
5968       </Docs>
5969     </Member>
5970     <Member MemberName="open">
5971       <MemberSignature Language="C#" Value="public static int open (string pathname, Mono.Unix.Native.OpenFlags flags);" />
5972       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_open&quot; winapi lasterr)int32 open(string pathname, valuetype Mono.Unix.Native.OpenFlags flags) cil managed" />
5973       <MemberType>Method</MemberType>
5974       <AssemblyInfo>
5975         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
5976         <AssemblyVersion>2.0.0.0</AssemblyVersion>
5977         <AssemblyVersion>4.0.0.0</AssemblyVersion>
5978       </AssemblyInfo>
5979       <ReturnValue>
5980         <ReturnType>System.Int32</ReturnType>
5981       </ReturnValue>
5982       <Parameters>
5983         <Parameter Name="pathname" Type="System.String" />
5984         <Parameter Name="flags" Type="Mono.Unix.Native.OpenFlags" />
5985       </Parameters>
5986       <Docs>
5987         <param name="pathname">To be added.</param>
5988         <param name="flags">To be added.</param>
5989         <summary>Creates/opens a file 'pathname' using the given file open flags.</summary>
5990         <returns>
5991           <para>
5992             If successful,
5993             <c>open</c>()
5994             returns a non-negative integer, termed a file descriptor.
5995             It returns -1 on failure, and sets
5996             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
5997             to indicate the error.
5998           </para>
5999           <block subset="none" type="usage">
6000             <para>
6001               The named file is opened unless:
6002             </para>
6003             <list type="table">
6004               <listheader>
6005                 <term>
6006                   Error
6007                 </term>
6008                 <description>
6009                   Details
6010                 </description>
6011               </listheader>
6012               <item>
6013                 <term>
6014                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
6015                 </term>
6016                 <description>
6017                   <para>
6018                     A component of the path prefix is not a directory.
6019                   </para>
6020                 </description>
6021               </item>
6022               <item>
6023                 <term>
6024                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
6025                 </term>
6026                 <description>
6027                   <para>
6028                     A component of a pathname exceeded 255 characters,
6029                     or an entire path name exceeded 1023 characters.
6030                   </para>
6031                 </description>
6032               </item>
6033               <item>
6034                 <term>
6035                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
6036                 </term>
6037                 <description>
6038                   <para>
6039                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6040                     is not set and the named file does not exist.
6041                   </para>
6042                 </description>
6043               </item>
6044               <item>
6045                 <term>
6046                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
6047                 </term>
6048                 <description>
6049                   <para>
6050                     A component of the path name that must exist does not exist.
6051                   </para>
6052                 </description>
6053               </item>
6054               <item>
6055                 <term>
6056                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
6057                 </term>
6058                 <description>
6059                   <para>
6060                     Search permission is denied for a component of the path prefix.
6061                   </para>
6062                 </description>
6063               </item>
6064               <item>
6065                 <term>
6066                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
6067                 </term>
6068                 <description>
6069                   <para>
6070                     The required permissions (for reading and/or writing)
6071                     are denied for the given flags.
6072                   </para>
6073                 </description>
6074               </item>
6075               <item>
6076                 <term>
6077                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
6078                 </term>
6079                 <description>
6080                   <para>
6081                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6082                     is specified,
6083                     the file does not exist,
6084                     and the directory in which it is to be created
6085                     does not permit writing.
6086                   </para>
6087                 </description>
6088               </item>
6089               <item>
6090                 <term>
6091                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
6092                 </term>
6093                 <description>
6094                   <para>
6095                     Too many symbolic links were encountered in translating the pathname.
6096                   </para>
6097                 </description>
6098               </item>
6099               <item>
6100                 <term>
6101                   <see cref="F:Mono.Unix.Native.Errno.EISDIR" />
6102                 </term>
6103                 <description>
6104                   <para>
6105                     The named file is a directory, and the arguments specify
6106                     it is to be opened for writing.
6107                   </para>
6108                 </description>
6109               </item>
6110               <item>
6111                 <term>
6112                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
6113                 </term>
6114                 <description>
6115                   <para>
6116                     The named file resides on a read-only file system,
6117                     and the file is to be modified.
6118                   </para>
6119                 </description>
6120               </item>
6121               <item>
6122                 <term>
6123                   <see cref="F:Mono.Unix.Native.Errno.EMFILE" />
6124                 </term>
6125                 <description>
6126                   <para>
6127                     The process has already reached its limit for open file descriptors.
6128                   </para>
6129                 </description>
6130               </item>
6131               <item>
6132                 <term>
6133                   <see cref="F:Mono.Unix.Native.Errno.ENFILE" />
6134                 </term>
6135                 <description>
6136                   <para>
6137                     The system file table is full.
6138                   </para>
6139                 </description>
6140               </item>
6141               <item>
6142                 <term>
6143                   <see cref="F:Mono.Unix.Native.Errno.EMLINK" />
6144                 </term>
6145                 <description>
6146                   <para>
6147                     <see cref="F:Mono.Unix.Native.OpenFlags.O_NOFOLLOW" /> 
6148                     was specified and the target is a symbolic link.
6149                   </para>
6150                 </description>
6151               </item>
6152               <item>
6153                 <term>
6154                   <see cref="F:Mono.Unix.Native.Errno.ENXIO" />
6155                 </term>
6156                 <description>
6157                   <para>
6158                     The named file is a character special or block
6159                     special file, and the device associated with this special file
6160                     does not exist.
6161                   </para>
6162                 </description>
6163               </item>
6164               <item>
6165                 <term>
6166                   <see cref="F:Mono.Unix.Native.Errno.ENXIO" />
6167                 </term>
6168                 <description>
6169                   <para>
6170                     The named file is a fifo, no process has
6171                     it open for reading, and the arguments specify it is
6172                     to be opened for writing.
6173                   </para>
6174                 </description>
6175               </item>
6176               <item>
6177                 <term>
6178                   <see cref="F:Mono.Unix.Native.Errno.EINTR" />
6179                 </term>
6180                 <description>
6181                   <para>
6182                     The
6183                     <c>open</c>()
6184                     operation was interrupted by a signal.
6185                   </para>
6186                 </description>
6187               </item>
6188               <item>
6189                 <term>
6190                   <see cref="F:Mono.Unix.Native.Errno.EOPNOTSUPP" />
6191                 </term>
6192                 <description>
6193                   <para>
6194                     <see cref="F:Mono.Unix.Native.OpenFlags.O_SHLOCK" /> 
6195                     or
6196                      <see cref="F:Mono.Unix.Native.OpenFlags.O_EXLOCK" /> 
6197                     is specified but the underlying file system does not support locking.
6198                   </para>
6199                 </description>
6200               </item>
6201               <item>
6202                 <term>
6203                   <see cref="F:Mono.Unix.Native.Errno.EOPNOTSUPP" />
6204                 </term>
6205                 <description>
6206                   <para>
6207                     The named file is a special file mounted through a file system that
6208                     does not support access to it (e.g. NFS).
6209                   </para>
6210                 </description>
6211               </item>
6212               <item>
6213                 <term>
6214                   <see cref="F:Mono.Unix.Native.Errno.EWOULDBLOCK" />
6215                 </term>
6216                 <description>
6217                   <para>
6218                     <see cref="F:Mono.Unix.Native.OpenFlags.O_NONBLOCK" /> 
6219                     and one of
6220                      <see cref="F:Mono.Unix.Native.OpenFlags.O_SHLOCK" /> 
6221                     or
6222                      <see cref="F:Mono.Unix.Native.OpenFlags.O_EXLOCK" /> 
6223                     is specified and the file is locked.
6224                   </para>
6225                 </description>
6226               </item>
6227               <item>
6228                 <term>
6229                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
6230                 </term>
6231                 <description>
6232                   <para>
6233                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6234                     is specified,
6235                     the file does not exist,
6236                     and the directory in which the entry for the new file is being placed
6237                     cannot be extended because there is no space left on the file
6238                     system containing the directory.
6239                   </para>
6240                 </description>
6241               </item>
6242               <item>
6243                 <term>
6244                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
6245                 </term>
6246                 <description>
6247                   <para>
6248                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6249                     is specified,
6250                     the file does not exist,
6251                     and there are no free inodes on the file system on which the
6252                     file is being created.
6253                   </para>
6254                 </description>
6255               </item>
6256               <item>
6257                 <term>
6258                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
6259                 </term>
6260                 <description>
6261                   <para>
6262                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6263                     is specified,
6264                     the file does not exist,
6265                     and the directory in which the entry for the new file
6266                     is being placed cannot be extended because the
6267                     user's quota of disk blocks on the file system
6268                     containing the directory has been exhausted.
6269                   </para>
6270                 </description>
6271               </item>
6272               <item>
6273                 <term>
6274                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
6275                 </term>
6276                 <description>
6277                   <para>
6278                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6279                     is specified,
6280                     the file does not exist,
6281                     and the user's quota of inodes on the file system on
6282                     which the file is being created has been exhausted.
6283                   </para>
6284                 </description>
6285               </item>
6286               <item>
6287                 <term>
6288                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
6289                 </term>
6290                 <description>
6291                   <para>
6292                     An I/O error occurred while making the directory entry or
6293                     allocating the inode for
6294                      <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" />  .
6295                   </para>
6296                 </description>
6297               </item>
6298               <item>
6299                 <term>
6300                   <see cref="F:Mono.Unix.Native.Errno.ETXTBSY" />
6301                 </term>
6302                 <description>
6303                   <para>
6304                     The file is a pure procedure (shared text) file that is being
6305                     executed and the
6306                     <c>open</c>()
6307                     system call requests write access.
6308                   </para>
6309                 </description>
6310               </item>
6311               <item>
6312                 <term>
6313                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
6314                 </term>
6315                 <description>
6316                   <para>
6317                     The
6318                     <paramref name="path" /> 
6319                     argument
6320                     points outside the process's allocated address space.
6321                   </para>
6322                 </description>
6323               </item>
6324               <item>
6325                 <term>
6326                   <see cref="F:Mono.Unix.Native.Errno.EEXIST" />
6327                 </term>
6328                 <description>
6329                   <para>
6330                     <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6331                     and
6332                      <see cref="F:Mono.Unix.Native.OpenFlags.O_EXCL" /> 
6333                     were specified and the file exists.
6334                   </para>
6335                 </description>
6336               </item>
6337               <item>
6338                 <term>
6339                   <see cref="F:Mono.Unix.Native.Errno.EOPNOTSUPP" />
6340                 </term>
6341                 <description>
6342                   <para>
6343                     An attempt was made to open a socket (not currently implemented).
6344                   </para>
6345                 </description>
6346               </item>
6347               <item>
6348                 <term>
6349                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
6350                 </term>
6351                 <description>
6352                   <para>
6353                     An attempt was made to open a descriptor with an illegal combination
6354                     of
6355                      <see cref="F:Mono.Unix.Native.OpenFlags.O_RDONLY" />  ,
6356                      <see cref="F:Mono.Unix.Native.OpenFlags.O_WRONLY" />  ,
6357                     and
6358                      <see cref="F:Mono.Unix.Native.OpenFlags.O_RDWR" />  .
6359                   </para>
6360                 </description>
6361               </item>
6362             </list>
6363             <para>
6364             </para>
6365           </block>
6366         </returns>
6367         <remarks>
6368           <para>
6369             The file name specified by
6370             <paramref name="path" /> 
6371             is opened
6372             for reading and/or writing as specified by the
6373             argument
6374             <paramref name="flags" /> 
6375             and the file descriptor returned to the calling process.
6376             The
6377             <paramref name="flags" /> 
6378             argument may indicate the file is to be
6379             created if it does not exist (by specifying the
6380              <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6381             flag).
6382             In this case
6383             <c>open</c>()
6384             requires a third argument
6385             <paramref name="mode_t mode" /> ,
6386             and the file is created with mode
6387             <paramref name="mode" /> 
6388             as described in
6389             <see cref="M:Mono.Unix.Native.Syscall.chmod" />(2)
6390             and modified by the process' umask value (see
6391             <see cref="M:Mono.Unix.Native.Syscall.umask" />(2) ) .
6392           </para>
6393           <para>
6394             The flags specified are formed by
6395             <i>or Ns 'ing</i>
6396             the following values
6397           </para>
6398           <para>
6399           </para>
6400           <list type="table">
6401             <listheader>
6402               <term>Value</term>
6403               <description>Details</description>
6404             </listheader>
6405             <item>
6406               <term>O_RDONLY</term>
6407               <description>open for reading only</description>
6408             </item>
6409             <item>
6410               <term>O_WRONLY</term>
6411               <description>open for writing only</description>
6412             </item>
6413             <item>
6414               <term>O_RDWR</term>
6415               <description>open for reading and writing</description>
6416             </item>
6417             <item>
6418               <term>O_NONBLOCK</term>
6419               <description>do not block on open</description>
6420             </item>
6421             <item>
6422               <term>O_APPEND</term>
6423               <description>append on each write</description>
6424             </item>
6425             <item>
6426               <term>O_CREAT</term>
6427               <description>create file if it does not exist</description>
6428             </item>
6429             <item>
6430               <term>O_TRUNC</term>
6431               <description>truncate size to 0</description>
6432             </item>
6433             <item>
6434               <term>O_EXCL</term>
6435               <description>error if create and file exists</description>
6436             </item>
6437             <item>
6438               <term>O_SHLOCK</term>
6439               <description>atomically obtain a shared lock</description>
6440             </item>
6441             <item>
6442               <term>O_EXLOCK</term>
6443               <description>atomically obtain an exclusive lock</description>
6444             </item>
6445             <item>
6446               <term>O_DIRECT</term>
6447               <description>eliminate or reduce cache effects</description>
6448             </item>
6449             <item>
6450               <term>O_FSYNC</term>
6451               <description>synchronous writes</description>
6452             </item>
6453             <item>
6454               <term>O_NOFOLLOW</term>
6455               <description>do not follow symlinks</description>
6456             </item>
6457           </list>
6458           <para>
6459           </para>
6460           <para>
6461             Opening a file with
6462              <see cref="F:Mono.Unix.Native.OpenFlags.O_APPEND" /> 
6463             set causes each write on the file
6464             to be appended to the end.
6465             If
6466              <see cref="F:Mono.Unix.Native.OpenFlags.O_TRUNC" /> 
6467             is specified and the
6468             file exists, the file is truncated to zero length.
6469             If
6470              <see cref="F:Mono.Unix.Native.OpenFlags.O_EXCL" /> 
6471             is set with
6472              <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" /> 
6473             and the file already
6474             exists,
6475             <c>open</c>()
6476             returns an error.
6477             This may be used to
6478             implement a simple exclusive access locking mechanism.
6479             If
6480              <see cref="F:Mono.Unix.Native.OpenFlags.O_EXCL" /> 
6481             is set and the last component of the pathname is
6482             a symbolic link,
6483             <c>open</c>()
6484             will fail even if the symbolic
6485             link points to a non-existent name.
6486             If the
6487              <see cref="F:Mono.Unix.Native.OpenFlags.O_NONBLOCK" /> 
6488             flag is specified and the
6489             <c>open</c>()
6490             system call would result
6491             in the process being blocked for some reason (e.g., waiting for
6492             carrier on a dialup line),
6493             <c>open</c>()
6494             returns immediately.
6495             The descriptor remains in non-blocking mode for subsequent operations.
6496           </para>
6497           <para>
6498             If
6499              <see cref="F:Mono.Unix.Native.OpenFlags.O_FSYNC" /> 
6500             is used in the mask, all writes will
6501             immediately be written to disk,
6502             the kernel will not cache written data
6503             and all writes on the descriptor will not return until
6504             the data to be written completes.
6505           </para>
6506           <para>
6507             If
6508              <see cref="F:Mono.Unix.Native.OpenFlags.O_NOFOLLOW" /> 
6509             is used in the mask and the target file passed to
6510             <c>open</c>()
6511             is a symbolic link then the
6512             <c>open</c>()
6513             will fail.
6514           </para>
6515           <para>
6516             When opening a file, a lock with
6517             <see cref="M:Mono.Unix.Native.Syscall.flock" />(2)
6518             semantics can be obtained by setting
6519              <see cref="F:Mono.Unix.Native.OpenFlags.O_SHLOCK" /> 
6520             for a shared lock, or
6521              <see cref="F:Mono.Unix.Native.OpenFlags.O_EXLOCK" /> 
6522             for an exclusive lock.
6523             If creating a file with
6524              <see cref="F:Mono.Unix.Native.OpenFlags.O_CREAT" />  ,
6525             the request for the lock will never fail
6526             (provided that the underlying file system supports locking).
6527           </para>
6528           <para>
6529             <see cref="F:Mono.Unix.Native.OpenFlags.O_DIRECT" /> 
6530             may be used to minimize or eliminate the cache effects of reading and writing.
6531             The system will attempt to avoid caching the data you read or write.
6532             If it cannot avoid caching the data,
6533             it will minimize the impact the data has on the cache.
6534             Use of this flag can drastically reduce performance if not used with care.
6535           </para>
6536           <para>
6537             If successful,
6538             <c>open</c>()
6539             returns a non-negative integer, termed a file descriptor.
6540             It returns -1 on failure.
6541             The file pointer used to mark the current position within the
6542             file is set to the beginning of the file.
6543           </para>
6544           <para>
6545             When a new file is created it is given the group of the directory
6546             which contains it.
6547           </para>
6548           <para>
6549             The new descriptor is set to remain open across
6550             <see cref="M:Mono.Unix.Native.Syscall.execve" />(2)
6551             system calls; see
6552             <see cref="M:Mono.Unix.Native.Syscall.close" />(2)
6553             and
6554             <see cref="M:Mono.Unix.Native.Syscall.fcntl" />(2) .
6555           </para>
6556           <para>
6557             The system imposes a limit on the number of file descriptors
6558             open simultaneously by one process.
6559             The
6560             <see cref="M:Mono.Unix.Native.Syscall.getdtablesize" />(2)
6561             system call returns the current system limit.
6562           </para>
6563         </remarks>
6564         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
6565         <altmember cref="M:Mono.Unix.Native.Syscall.close" />
6566         <altmember cref="M:Mono.Unix.Native.Syscall.dup" />
6567         <altmember cref="M:Mono.Unix.Native.Syscall.getdtablesize" />
6568         <altmember cref="M:Mono.Unix.Native.Syscall.lseek" />
6569         <altmember cref="M:Mono.Unix.Native.Syscall.read" />
6570         <altmember cref="M:Mono.Unix.Native.Syscall.umask" />
6571         <altmember cref="M:Mono.Unix.Native.Syscall.write" />
6572         <altmember cref="M:Mono.Unix.Native.Syscall.fopen" />
6573       </Docs>
6574     </Member>
6575     <Member MemberName="open">
6576       <MemberSignature Language="C#" Value="public static int open (string pathname, Mono.Unix.Native.OpenFlags flags, Mono.Unix.Native.FilePermissions mode);" />
6577       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_open_mode&quot; winapi lasterr)int32 open(string pathname, valuetype Mono.Unix.Native.OpenFlags flags, valuetype Mono.Unix.Native.FilePermissions mode) cil managed" />
6578       <MemberType>Method</MemberType>
6579       <AssemblyInfo>
6580         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6581         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6582         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6583       </AssemblyInfo>
6584       <ReturnValue>
6585         <ReturnType>System.Int32</ReturnType>
6586       </ReturnValue>
6587       <Parameters>
6588         <Parameter Name="pathname" Type="System.String" />
6589         <Parameter Name="flags" Type="Mono.Unix.Native.OpenFlags" />
6590         <Parameter Name="mode" Type="Mono.Unix.Native.FilePermissions" />
6591       </Parameters>
6592       <Docs>
6593         <param name="pathname">To be added.</param>
6594         <param name="flags">To be added.</param>
6595         <param name="mode">To be added.</param>
6596         <summary>Creates/opens a file 'pathname' using the given open and file permission flags.</summary>
6597         <returns>To be added.</returns>
6598         <remarks>To be added.</remarks>
6599       </Docs>
6600     </Member>
6601     <Member MemberName="opendir">
6602       <MemberSignature Language="C#" Value="public static IntPtr opendir (string name);" />
6603       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;opendir&quot; winapi lasterr)native int opendir(string name) cil managed" />
6604       <MemberType>Method</MemberType>
6605       <AssemblyInfo>
6606         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6607         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6608         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6609       </AssemblyInfo>
6610       <ReturnValue>
6611         <ReturnType>System.IntPtr</ReturnType>
6612       </ReturnValue>
6613       <Parameters>
6614         <Parameter Name="name" Type="System.String" />
6615       </Parameters>
6616       <Docs>
6617         <param name="name">To be added.</param>
6618         <summary>Opens a directory at 'path'.</summary>
6619         <returns>To be added.</returns>
6620         <remarks>
6621           <example>
6622             <code lang="C#">
6623         
6624 class OpendirDemo {
6625   public static void Main(string[] argv)
6626         {
6627                 IntPtr dir = Syscall.opendir("/tmp");
6628                 Dirent nextentry;
6629                 
6630                 while ((nextentry = Syscall.readdir (dir)) != null) {
6631                         Console.WriteLine(nextentry.d_name);
6632                 }
6633
6634                 Syscall.closedir (dir);
6635         }
6636 }</code>
6637           </example>
6638         </remarks>
6639       </Docs>
6640     </Member>
6641     <Member MemberName="openlog">
6642       <MemberSignature Language="C#" Value="public static int openlog (IntPtr ident, Mono.Unix.Native.SyslogOptions option, Mono.Unix.Native.SyslogFacility defaultFacility);" />
6643       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 openlog(native int ident, valuetype Mono.Unix.Native.SyslogOptions option, valuetype Mono.Unix.Native.SyslogFacility defaultFacility) cil managed" />
6644       <MemberType>Method</MemberType>
6645       <AssemblyInfo>
6646         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6647         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6648         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6649       </AssemblyInfo>
6650       <ReturnValue>
6651         <ReturnType>System.Int32</ReturnType>
6652       </ReturnValue>
6653       <Parameters>
6654         <Parameter Name="ident" Type="System.IntPtr" />
6655         <Parameter Name="option" Type="Mono.Unix.Native.SyslogOptions" />
6656         <Parameter Name="defaultFacility" Type="Mono.Unix.Native.SyslogFacility" />
6657       </Parameters>
6658       <Docs>
6659         <param name="ident">To be added.</param>
6660         <param name="option">To be added.</param>
6661         <param name="defaultFacility">To be added.</param>
6662         <summary>To be added.</summary>
6663         <returns>To be added.</returns>
6664         <remarks>To be added.</remarks>
6665       </Docs>
6666     </Member>
6667     <Member MemberName="pathconf">
6668       <MemberSignature Language="C#" Value="public static long pathconf (string path, Mono.Unix.Native.PathconfName name);" />
6669       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 pathconf(string path, valuetype Mono.Unix.Native.PathconfName name) cil managed" />
6670       <MemberType>Method</MemberType>
6671       <AssemblyInfo>
6672         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6673         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6674         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6675       </AssemblyInfo>
6676       <ReturnValue>
6677         <ReturnType>System.Int64</ReturnType>
6678       </ReturnValue>
6679       <Parameters>
6680         <Parameter Name="path" Type="System.String" />
6681         <Parameter Name="name" Type="Mono.Unix.Native.PathconfName" />
6682       </Parameters>
6683       <Docs>
6684         <param name="path">To be added.</param>
6685         <param name="name">To be added.</param>
6686         <summary>To be added.</summary>
6687         <returns>To be added.</returns>
6688         <remarks>To be added.</remarks>
6689       </Docs>
6690     </Member>
6691     <Member MemberName="pathconf">
6692       <MemberSignature Language="C#" Value="public static long pathconf (string path, Mono.Unix.Native.PathconfName name, Mono.Unix.Native.Errno defaultError);" />
6693       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_pathconf&quot; winapi lasterr)int64 pathconf(string path, valuetype Mono.Unix.Native.PathconfName name, valuetype Mono.Unix.Native.Errno defaultError) cil managed" />
6694       <MemberType>Method</MemberType>
6695       <AssemblyInfo>
6696         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6697         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6698         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6699       </AssemblyInfo>
6700       <ReturnValue>
6701         <ReturnType>System.Int64</ReturnType>
6702       </ReturnValue>
6703       <Parameters>
6704         <Parameter Name="path" Type="System.String" />
6705         <Parameter Name="name" Type="Mono.Unix.Native.PathconfName" />
6706         <Parameter Name="defaultError" Type="Mono.Unix.Native.Errno" />
6707       </Parameters>
6708       <Docs>
6709         <param name="path">To be added.</param>
6710         <param name="name">To be added.</param>
6711         <param name="defaultError">To be added.</param>
6712         <summary>To be added.</summary>
6713         <returns>To be added.</returns>
6714         <remarks>To be added.</remarks>
6715       </Docs>
6716     </Member>
6717     <Member MemberName="pause">
6718       <MemberSignature Language="C#" Value="public static int pause ();" />
6719       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;pause&quot; winapi lasterr)int32 pause() cil managed" />
6720       <MemberType>Method</MemberType>
6721       <AssemblyInfo>
6722         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6723         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6724         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6725       </AssemblyInfo>
6726       <ReturnValue>
6727         <ReturnType>System.Int32</ReturnType>
6728       </ReturnValue>
6729       <Parameters />
6730       <Docs>
6731         <summary>Pause the current process. The task sleeps until a signal is received.</summary>
6732         <returns>To be added.</returns>
6733         <remarks>To be added.</remarks>
6734       </Docs>
6735     </Member>
6736     <Member MemberName="pipe">
6737       <MemberSignature Language="C#" Value="public static int pipe (int[] filedes);" />
6738       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 pipe(int32[] filedes) cil managed" />
6739       <MemberType>Method</MemberType>
6740       <AssemblyInfo>
6741         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6742         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6743         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6744       </AssemblyInfo>
6745       <ReturnValue>
6746         <ReturnType>System.Int32</ReturnType>
6747       </ReturnValue>
6748       <Parameters>
6749         <Parameter Name="filedes" Type="System.Int32[]" />
6750       </Parameters>
6751       <Docs>
6752         <param name="filedes">To be added.</param>
6753         <summary>To be added.</summary>
6754         <returns>To be added.</returns>
6755         <remarks>To be added.</remarks>
6756       </Docs>
6757     </Member>
6758     <Member MemberName="pipe">
6759       <MemberSignature Language="C#" Value="public static int pipe (out int reading, out int writing);" />
6760       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_pipe&quot; winapi lasterr)int32 pipe(int32 reading, int32 writing) cil managed" />
6761       <MemberType>Method</MemberType>
6762       <AssemblyInfo>
6763         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6764         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6765         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6766       </AssemblyInfo>
6767       <ReturnValue>
6768         <ReturnType>System.Int32</ReturnType>
6769       </ReturnValue>
6770       <Parameters>
6771         <Parameter Name="reading" Type="System.Int32&amp;" RefType="out" />
6772         <Parameter Name="writing" Type="System.Int32&amp;" RefType="out" />
6773       </Parameters>
6774       <Docs>
6775         <param name="reading">To be added.</param>
6776         <param name="writing">To be added.</param>
6777         <summary>To be added.</summary>
6778         <returns>To be added.</returns>
6779         <remarks>To be added.</remarks>
6780       </Docs>
6781     </Member>
6782     <Member MemberName="poll">
6783       <MemberSignature Language="C#" Value="public static int poll (Mono.Unix.Native.Pollfd[] fds, int timeout);" />
6784       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 poll(valuetype Mono.Unix.Native.Pollfd[] fds, int32 timeout) cil managed" />
6785       <MemberType>Method</MemberType>
6786       <AssemblyInfo>
6787         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6788         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6789         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6790       </AssemblyInfo>
6791       <ReturnValue>
6792         <ReturnType>System.Int32</ReturnType>
6793       </ReturnValue>
6794       <Parameters>
6795         <Parameter Name="fds" Type="Mono.Unix.Native.Pollfd[]" />
6796         <Parameter Name="timeout" Type="System.Int32" />
6797       </Parameters>
6798       <Docs>
6799         <param name="fds">To be added.</param>
6800         <param name="timeout">To be added.</param>
6801         <summary>To be added.</summary>
6802         <returns>To be added.</returns>
6803         <remarks>To be added.</remarks>
6804       </Docs>
6805     </Member>
6806     <Member MemberName="poll">
6807       <MemberSignature Language="C#" Value="public static int poll (Mono.Unix.Native.Pollfd[] fds, uint nfds, int timeout);" />
6808       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 poll(valuetype Mono.Unix.Native.Pollfd[] fds, unsigned int32 nfds, int32 timeout) cil managed" />
6809       <MemberType>Method</MemberType>
6810       <AssemblyInfo>
6811         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6812         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6813         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6814       </AssemblyInfo>
6815       <ReturnValue>
6816         <ReturnType>System.Int32</ReturnType>
6817       </ReturnValue>
6818       <Parameters>
6819         <Parameter Name="fds" Type="Mono.Unix.Native.Pollfd[]" />
6820         <Parameter Name="nfds" Type="System.UInt32" />
6821         <Parameter Name="timeout" Type="System.Int32" />
6822       </Parameters>
6823       <Docs>
6824         <param name="fds">To be added.</param>
6825         <param name="nfds">To be added.</param>
6826         <param name="timeout">To be added.</param>
6827         <summary>To be added.</summary>
6828         <returns>To be added.</returns>
6829         <remarks>To be added.</remarks>
6830       </Docs>
6831     </Member>
6832     <Member MemberName="posix_fadvise">
6833       <MemberSignature Language="C#" Value="public static int posix_fadvise (int fd, long offset, long len, Mono.Unix.Native.PosixFadviseAdvice advice);" />
6834       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_posix_fadvise&quot; winapi lasterr)int32 posix_fadvise(int32 fd, int64 offset, int64 len, valuetype Mono.Unix.Native.PosixFadviseAdvice advice) cil managed" />
6835       <MemberType>Method</MemberType>
6836       <AssemblyInfo>
6837         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6838         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6839         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6840       </AssemblyInfo>
6841       <ReturnValue>
6842         <ReturnType>System.Int32</ReturnType>
6843       </ReturnValue>
6844       <Parameters>
6845         <Parameter Name="fd" Type="System.Int32" />
6846         <Parameter Name="offset" Type="System.Int64" />
6847         <Parameter Name="len" Type="System.Int64" />
6848         <Parameter Name="advice" Type="Mono.Unix.Native.PosixFadviseAdvice" />
6849       </Parameters>
6850       <Docs>
6851         <param name="fd">To be added.</param>
6852         <param name="offset">To be added.</param>
6853         <param name="len">To be added.</param>
6854         <param name="advice">To be added.</param>
6855         <summary>To be added.</summary>
6856         <returns>To be added.</returns>
6857         <remarks>To be added.</remarks>
6858       </Docs>
6859     </Member>
6860     <Member MemberName="posix_fallocate">
6861       <MemberSignature Language="C#" Value="public static int posix_fallocate (int fd, long offset, ulong len);" />
6862       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_posix_fallocate&quot; winapi lasterr)int32 posix_fallocate(int32 fd, int64 offset, unsigned int64 len) cil managed" />
6863       <MemberType>Method</MemberType>
6864       <AssemblyInfo>
6865         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6866         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6867         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6868       </AssemblyInfo>
6869       <ReturnValue>
6870         <ReturnType>System.Int32</ReturnType>
6871       </ReturnValue>
6872       <Parameters>
6873         <Parameter Name="fd" Type="System.Int32" />
6874         <Parameter Name="offset" Type="System.Int64" />
6875         <Parameter Name="len" Type="System.UInt64" />
6876       </Parameters>
6877       <Docs>
6878         <param name="fd">To be added.</param>
6879         <param name="offset">To be added.</param>
6880         <param name="len">To be added.</param>
6881         <summary>To be added.</summary>
6882         <returns>To be added.</returns>
6883         <remarks>To be added.</remarks>
6884       </Docs>
6885     </Member>
6886     <Member MemberName="posix_madvise">
6887       <MemberSignature Language="C#" Value="public static int posix_madvise (IntPtr addr, ulong len, Mono.Unix.Native.PosixMadviseAdvice advice);" />
6888       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_posix_madvise&quot; winapi lasterr)int32 posix_madvise(native int addr, unsigned int64 len, valuetype Mono.Unix.Native.PosixMadviseAdvice advice) cil managed" />
6889       <MemberType>Method</MemberType>
6890       <AssemblyInfo>
6891         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6892         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6893         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6894       </AssemblyInfo>
6895       <ReturnValue>
6896         <ReturnType>System.Int32</ReturnType>
6897       </ReturnValue>
6898       <Parameters>
6899         <Parameter Name="addr" Type="System.IntPtr" />
6900         <Parameter Name="len" Type="System.UInt64" />
6901         <Parameter Name="advice" Type="Mono.Unix.Native.PosixMadviseAdvice" />
6902       </Parameters>
6903       <Docs>
6904         <param name="addr">To be added.</param>
6905         <param name="len">To be added.</param>
6906         <param name="advice">To be added.</param>
6907         <summary>To be added.</summary>
6908         <returns>To be added.</returns>
6909         <remarks>To be added.</remarks>
6910       </Docs>
6911     </Member>
6912     <Member MemberName="pread">
6913       <MemberSignature Language="C#" Value="public static long pread (int fd, IntPtr buf, ulong count, long offset);" />
6914       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_pread&quot; winapi lasterr)int64 pread(int32 fd, native int buf, unsigned int64 count, int64 offset) cil managed" />
6915       <MemberType>Method</MemberType>
6916       <AssemblyInfo>
6917         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6918         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6919         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6920       </AssemblyInfo>
6921       <ReturnValue>
6922         <ReturnType>System.Int64</ReturnType>
6923       </ReturnValue>
6924       <Parameters>
6925         <Parameter Name="fd" Type="System.Int32" />
6926         <Parameter Name="buf" Type="System.IntPtr" />
6927         <Parameter Name="count" Type="System.UInt64" />
6928         <Parameter Name="offset" Type="System.Int64" />
6929       </Parameters>
6930       <Docs>
6931         <param name="fd">To be added.</param>
6932         <param name="buf">To be added.</param>
6933         <param name="count">To be added.</param>
6934         <param name="offset">To be added.</param>
6935         <summary>To be added.</summary>
6936         <returns>To be added.</returns>
6937         <remarks>To be added.</remarks>
6938       </Docs>
6939     </Member>
6940     <Member MemberName="pread">
6941       <MemberSignature Language="C#" Value="public static long pread (int fd, void* buf, ulong count, long offset);" />
6942       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 pread(int32 fd, void* buf, unsigned int64 count, int64 offset) cil managed" />
6943       <MemberType>Method</MemberType>
6944       <AssemblyInfo>
6945         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6946         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6947         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6948       </AssemblyInfo>
6949       <ReturnValue>
6950         <ReturnType>System.Int64</ReturnType>
6951       </ReturnValue>
6952       <Parameters>
6953         <Parameter Name="fd" Type="System.Int32" />
6954         <Parameter Name="buf" Type="System.Void*" />
6955         <Parameter Name="count" Type="System.UInt64" />
6956         <Parameter Name="offset" Type="System.Int64" />
6957       </Parameters>
6958       <Docs>
6959         <param name="fd">To be added.</param>
6960         <param name="buf">To be added.</param>
6961         <param name="count">To be added.</param>
6962         <param name="offset">To be added.</param>
6963         <summary>To be added.</summary>
6964         <returns>To be added.</returns>
6965         <remarks>To be added.</remarks>
6966       </Docs>
6967     </Member>
6968     <Member MemberName="psignal">
6969       <MemberSignature Language="C#" Value="public static int psignal (Mono.Unix.Native.Signum sig, string s);" />
6970       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 psignal(valuetype Mono.Unix.Native.Signum sig, string s) cil managed" />
6971       <MemberType>Method</MemberType>
6972       <AssemblyInfo>
6973         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6974         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6975         <AssemblyVersion>4.0.0.0</AssemblyVersion>
6976       </AssemblyInfo>
6977       <ReturnValue>
6978         <ReturnType>System.Int32</ReturnType>
6979       </ReturnValue>
6980       <Parameters>
6981         <Parameter Name="sig" Type="Mono.Unix.Native.Signum" />
6982         <Parameter Name="s" Type="System.String" />
6983       </Parameters>
6984       <Docs>
6985         <param name="sig">To be added.</param>
6986         <param name="s">To be added.</param>
6987         <summary>To be added.</summary>
6988         <returns>To be added.</returns>
6989         <remarks>To be added.</remarks>
6990       </Docs>
6991     </Member>
6992     <Member MemberName="pwrite">
6993       <MemberSignature Language="C#" Value="public static long pwrite (int fd, IntPtr buf, ulong count, long offset);" />
6994       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_pwrite&quot; winapi lasterr)int64 pwrite(int32 fd, native int buf, unsigned int64 count, int64 offset) cil managed" />
6995       <MemberType>Method</MemberType>
6996       <AssemblyInfo>
6997         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
6998         <AssemblyVersion>2.0.0.0</AssemblyVersion>
6999         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7000       </AssemblyInfo>
7001       <ReturnValue>
7002         <ReturnType>System.Int64</ReturnType>
7003       </ReturnValue>
7004       <Parameters>
7005         <Parameter Name="fd" Type="System.Int32" />
7006         <Parameter Name="buf" Type="System.IntPtr" />
7007         <Parameter Name="count" Type="System.UInt64" />
7008         <Parameter Name="offset" Type="System.Int64" />
7009       </Parameters>
7010       <Docs>
7011         <param name="fd">To be added.</param>
7012         <param name="buf">To be added.</param>
7013         <param name="count">To be added.</param>
7014         <param name="offset">To be added.</param>
7015         <summary>To be added.</summary>
7016         <returns>To be added.</returns>
7017         <remarks>To be added.</remarks>
7018       </Docs>
7019     </Member>
7020     <Member MemberName="pwrite">
7021       <MemberSignature Language="C#" Value="public static long pwrite (int fd, void* buf, ulong count, long offset);" />
7022       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 pwrite(int32 fd, void* buf, unsigned int64 count, int64 offset) cil managed" />
7023       <MemberType>Method</MemberType>
7024       <AssemblyInfo>
7025         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7026         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7027         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7028       </AssemblyInfo>
7029       <ReturnValue>
7030         <ReturnType>System.Int64</ReturnType>
7031       </ReturnValue>
7032       <Parameters>
7033         <Parameter Name="fd" Type="System.Int32" />
7034         <Parameter Name="buf" Type="System.Void*" />
7035         <Parameter Name="count" Type="System.UInt64" />
7036         <Parameter Name="offset" Type="System.Int64" />
7037       </Parameters>
7038       <Docs>
7039         <param name="fd">To be added.</param>
7040         <param name="buf">To be added.</param>
7041         <param name="count">To be added.</param>
7042         <param name="offset">To be added.</param>
7043         <summary>To be added.</summary>
7044         <returns>To be added.</returns>
7045         <remarks>To be added.</remarks>
7046       </Docs>
7047     </Member>
7048     <Member MemberName="read">
7049       <MemberSignature Language="C#" Value="public static long read (int fd, IntPtr buf, ulong count);" />
7050       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_read&quot; winapi lasterr)int64 read(int32 fd, native int buf, unsigned int64 count) cil managed" />
7051       <MemberType>Method</MemberType>
7052       <AssemblyInfo>
7053         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7054         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7055         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7056       </AssemblyInfo>
7057       <ReturnValue>
7058         <ReturnType>System.Int64</ReturnType>
7059       </ReturnValue>
7060       <Parameters>
7061         <Parameter Name="fd" Type="System.Int32" />
7062         <Parameter Name="buf" Type="System.IntPtr" />
7063         <Parameter Name="count" Type="System.UInt64" />
7064       </Parameters>
7065       <Docs>
7066         <param name="fd">To be added.</param>
7067         <param name="buf">To be added.</param>
7068         <param name="count">To be added.</param>
7069         <summary>Reads up to count bytes into buf from fd.</summary>
7070         <returns>
7071           <para>
7072             If successful, the
7073             number of bytes actually read is returned.
7074             Upon reading end-of-file,
7075             zero is returned.
7076             Otherwise, a -1 is returned and the global variable
7077             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
7078             is set to indicate the error.
7079           </para>
7080           <block subset="none" type="usage">
7081             <para>
7082               The
7083               <c>read</c>(),
7084               <c>readv</c>(),
7085               and
7086               <c>pread</c>()
7087               system calls
7088               will succeed unless:
7089             </para>
7090             <list type="table">
7091               <listheader>
7092                 <term>
7093                   Error
7094                 </term>
7095                 <description>
7096                   Details
7097                 </description>
7098               </listheader>
7099               <item>
7100                 <term>
7101                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
7102                 </term>
7103                 <description>
7104                   <para>
7105                     The
7106                     <paramref name="d" /> 
7107                     argument
7108                     is not a valid file or socket descriptor open for reading.
7109                   </para>
7110                 </description>
7111               </item>
7112               <item>
7113                 <term>
7114                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
7115                 </term>
7116                 <description>
7117                   <para>
7118                     The
7119                     <paramref name="buf" /> 
7120                     argument
7121                     points outside the allocated address space.
7122                   </para>
7123                 </description>
7124               </item>
7125               <item>
7126                 <term>
7127                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
7128                 </term>
7129                 <description>
7130                   <para>
7131                     An I/O error occurred while reading from the file system.
7132                   </para>
7133                 </description>
7134               </item>
7135               <item>
7136                 <term>
7137                   <see cref="F:Mono.Unix.Native.Errno.EINTR" />
7138                 </term>
7139                 <description>
7140                   <para>
7141                     A read from a slow device was interrupted before
7142                     any data arrived by the delivery of a signal.
7143                   </para>
7144                 </description>
7145               </item>
7146               <item>
7147                 <term>
7148                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7149                 </term>
7150                 <description>
7151                   <para>
7152                     The pointer associated with
7153                     <paramref name="d" /> 
7154                     was negative.
7155                   </para>
7156                 </description>
7157               </item>
7158               <item>
7159                 <term>
7160                   <see cref="F:Mono.Unix.Native.Errno.EAGAIN" />
7161                 </term>
7162                 <description>
7163                   <para>
7164                     The file was marked for non-blocking I/O,
7165                     and no data were ready to be read.
7166                   </para>
7167                 </description>
7168               </item>
7169               <item>
7170                 <term>
7171                   <see cref="F:Mono.Unix.Native.Errno.EISDIR" />
7172                 </term>
7173                 <description>
7174                   <para>
7175                     The file descriptor is associated with a directory residing
7176                     on a file system that does not allow regular read operations on
7177                     directories (e.g. NFS).
7178                   </para>
7179                 </description>
7180               </item>
7181               <item>
7182                 <term>
7183                   <see cref="F:Mono.Unix.Native.Errno.EOPNOTSUPP" />
7184                 </term>
7185                 <description>
7186                   <para>
7187                     The file descriptor is associated with a file system and file type that
7188                     do not allow regular read operations on it.
7189                   </para>
7190                 </description>
7191               </item>
7192               <item>
7193                 <term>
7194                   <see cref="F:Mono.Unix.Native.Errno.EOVERFLOW" />
7195                 </term>
7196                 <description>
7197                   <para>
7198                     The file descriptor is associated with a regular file,
7199                     <paramref name="nbytes" /> 
7200                     is greater than 0,
7201                     <paramref name="offset" /> 
7202                     is before the end-of-file, and
7203                     <paramref name="offset" /> 
7204                     is greater than or equal to the offset maximum established
7205                     for this file system.
7206                   </para>
7207                 </description>
7208               </item>
7209             </list>
7210             <para>
7211             </para>
7212             <para>
7213               In addition,
7214               <c>readv</c>()
7215               may return one of the following errors:
7216             </para>
7217             <list type="table">
7218               <listheader>
7219                 <term>
7220                   Error
7221                 </term>
7222                 <description>
7223                   Details
7224                 </description>
7225               </listheader>
7226               <item>
7227                 <term>
7228                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7229                 </term>
7230                 <description>
7231                   <para>
7232                     The
7233                     <paramref name="iovcnt" /> 
7234                     argument
7235                     was less than or equal to 0, or greater than
7236                      <see cref="F:Mono.Unix.Native.TODO.IOV_MAX" />  .
7237                   </para>
7238                 </description>
7239               </item>
7240               <item>
7241                 <term>
7242                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7243                 </term>
7244                 <description>
7245                   <para>
7246                     One of the
7247                     <paramref name="iov_len" /> 
7248                     values in the
7249                     <paramref name="iov" /> 
7250                     array was negative.
7251                   </para>
7252                 </description>
7253               </item>
7254               <item>
7255                 <term>
7256                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7257                 </term>
7258                 <description>
7259                   <para>
7260                     The sum of the
7261                     <paramref name="iov_len" /> 
7262                     values in the
7263                     <paramref name="iov" /> 
7264                     array overflowed a 32-bit integer.
7265                   </para>
7266                 </description>
7267               </item>
7268               <item>
7269                 <term>
7270                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
7271                 </term>
7272                 <description>
7273                   <para>
7274                     Part of the
7275                     <paramref name="iov" /> 
7276                     points outside the process's allocated address space.
7277                   </para>
7278                 </description>
7279               </item>
7280             </list>
7281             <para>
7282             </para>
7283             <para>
7284               The
7285               <c>pread</c>()
7286               system call may also return the following errors:
7287             </para>
7288             <list type="table">
7289               <listheader>
7290                 <term>
7291                   Error
7292                 </term>
7293                 <description>
7294                   Details
7295                 </description>
7296               </listheader>
7297               <item>
7298                 <term>
7299                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7300                 </term>
7301                 <description>
7302                   <para>
7303                     The
7304                     <paramref name="offset" /> 
7305                     value was negative.
7306                   </para>
7307                 </description>
7308               </item>
7309               <item>
7310                 <term>
7311                   <see cref="F:Mono.Unix.Native.Errno.ESPIPE" />
7312                 </term>
7313                 <description>
7314                   <para>
7315                     The file descriptor is associated with a pipe, socket, or FIFO.
7316                   </para>
7317                 </description>
7318               </item>
7319             </list>
7320             <para>
7321             </para>
7322           </block>
7323         </returns>
7324         <remarks>
7325           <para>
7326             The
7327             <c>read</c>()
7328             system call
7329             attempts to read
7330             <paramref name="nbytes" /> 
7331             of data from the object referenced by the descriptor
7332             <paramref name="d" /> 
7333             into the buffer pointed to by
7334             <paramref name="buf" /> .
7335             The
7336             <c>readv</c>()
7337             system call
7338             performs the same action, but scatters the input data
7339             into the
7340             <paramref name="iovcnt" /> 
7341             buffers specified by the members of the
7342             <paramref name="iov" /> 
7343             array: iov[0], iov[1], ..., iov[iovcnt|-|1].
7344             The
7345             <c>pread</c>()
7346             system call
7347             performs the same function, but reads from the specified position in
7348             the file without modifying the file pointer.
7349           </para>
7350           <para>
7351             For
7352             <c>readv</c>(),
7353             the
7354             <paramref name="iovec" /> 
7355             structure is defined as:
7356           </para>
7357           <para>
7358           </para>
7359           <block subset="none" type="usage">
7360             <para>struct iovec {</para>
7361             <para>
7362             </para>
7363             <para>
7364             </para>
7365             <para>};</para>
7366           </block>
7367           <para>
7368           </para>
7369           <para>
7370             Each
7371             <paramref name="iovec" /> 
7372             entry specifies the base address and length of an area
7373             in memory where data should be placed.
7374             The
7375             <c>readv</c>()
7376             system call
7377             will always fill an area completely before proceeding
7378             to the next.
7379           </para>
7380           <para>
7381             On objects capable of seeking, the
7382             <c>read</c>()
7383             starts at a position
7384             given by the pointer associated with
7385             <paramref name="d" /> 
7386             (see
7387             <see cref="M:Mono.Unix.Native.Syscall.lseek" />(2) ) .
7388             Upon return from
7389             <c>read</c>(),
7390             the pointer is incremented by the number of bytes actually read.
7391           </para>
7392           <para>
7393             Objects that are not capable of seeking always read from the current
7394             position.
7395             The value of the pointer associated with such an
7396             object is undefined.
7397           </para>
7398           <para>
7399             Upon successful completion,
7400             <c>read</c>(),
7401             <c>readv</c>(),
7402             and
7403             <c>pread</c>()
7404             return the number of bytes actually read and placed in the buffer.
7405             The system guarantees to read the number of bytes requested if
7406             the descriptor references a normal file that has that many bytes left
7407             before the end-of-file, but in no other case.
7408           </para>
7409         </remarks>
7410         <altmember cref="M:Mono.Unix.Native.Syscall.dup" />
7411         <altmember cref="M:Mono.Unix.Native.Syscall.fcntl" />
7412         <altmember cref="M:Mono.Unix.Native.Syscall.getdirentries" />
7413         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
7414         <altmember cref="M:Mono.Unix.Native.Syscall.pipe" />
7415         <altmember cref="M:Mono.Unix.Native.Syscall.select" />
7416         <altmember cref="M:Mono.Unix.Native.Syscall.socket" />
7417         <altmember cref="M:Mono.Unix.Native.Syscall.socketpair" />
7418         <altmember cref="M:Mono.Unix.Native.Syscall.fread" />
7419         <altmember cref="M:Mono.Unix.Native.Syscall.readdir" />
7420       </Docs>
7421     </Member>
7422     <Member MemberName="read">
7423       <MemberSignature Language="C#" Value="public static long read (int fd, void* buf, ulong count);" />
7424       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 read(int32 fd, void* buf, unsigned int64 count) cil managed" />
7425       <MemberType>Method</MemberType>
7426       <AssemblyInfo>
7427         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7428         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7429         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7430       </AssemblyInfo>
7431       <ReturnValue>
7432         <ReturnType>System.Int64</ReturnType>
7433       </ReturnValue>
7434       <Parameters>
7435         <Parameter Name="fd" Type="System.Int32" />
7436         <Parameter Name="buf" Type="System.Void*" />
7437         <Parameter Name="count" Type="System.UInt64" />
7438       </Parameters>
7439       <Docs>
7440         <param name="fd">To be added.</param>
7441         <param name="buf">To be added.</param>
7442         <param name="count">To be added.</param>
7443         <summary>Reads up to count bytes into buf from fd.</summary>
7444         <returns>To be added.</returns>
7445         <remarks>To be added.</remarks>
7446       </Docs>
7447     </Member>
7448     <Member MemberName="readdir">
7449       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Dirent readdir (IntPtr dir);" />
7450       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.Native.Dirent readdir(native int dir) cil managed" />
7451       <MemberType>Method</MemberType>
7452       <AssemblyInfo>
7453         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7454         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7455         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7456       </AssemblyInfo>
7457       <ReturnValue>
7458         <ReturnType>Mono.Unix.Native.Dirent</ReturnType>
7459       </ReturnValue>
7460       <Parameters>
7461         <Parameter Name="dir" Type="System.IntPtr" />
7462       </Parameters>
7463       <Docs>
7464         <param name="dir">To be added.</param>
7465         <summary>Read directory entry.</summary>
7466         <returns>To be added.</returns>
7467         <remarks>
7468           <example>
7469             <code lang="C#">
7470         
7471 class ReaddirDemo {
7472         public static void Main(string[] argv)
7473         {
7474                 IntPtr dir = Syscall.opendir("/tmp");
7475                 Dirent nextentry;
7476                 
7477                 while ((nextentry = Syscall.readdir (dir)) != null) {
7478                         Console.WriteLine(nextentry.d_name);
7479                 }
7480
7481                 Syscall.closedir (dir);
7482         }
7483 }</code>
7484           </example>
7485         </remarks>
7486       </Docs>
7487     </Member>
7488     <Member MemberName="readdir_r">
7489       <MemberSignature Language="C#" Value="public static int readdir_r (IntPtr dirp, Mono.Unix.Native.Dirent entry, out IntPtr result);" />
7490       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 readdir_r(native int dirp, class Mono.Unix.Native.Dirent entry, native int result) cil managed" />
7491       <MemberType>Method</MemberType>
7492       <AssemblyInfo>
7493         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7494         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7495         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7496       </AssemblyInfo>
7497       <ReturnValue>
7498         <ReturnType>System.Int32</ReturnType>
7499       </ReturnValue>
7500       <Parameters>
7501         <Parameter Name="dirp" Type="System.IntPtr" />
7502         <Parameter Name="entry" Type="Mono.Unix.Native.Dirent" />
7503         <Parameter Name="result" Type="System.IntPtr&amp;" RefType="out" />
7504       </Parameters>
7505       <Docs>
7506         <param name="dirp">To be added.</param>
7507         <param name="entry">To be added.</param>
7508         <param name="result">To be added.</param>
7509         <summary>Thread-safe version of <see cref="M:Mono.Unix.Native.Syscall.readdir" /></summary>
7510         <returns>To be added.</returns>
7511         <remarks>To be added.</remarks>
7512       </Docs>
7513     </Member>
7514     <Member MemberName="readlink">
7515       <MemberSignature Language="C#" Value="public static int readlink (string path, System.Text.StringBuilder buf);" />
7516       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 readlink(string path, class System.Text.StringBuilder buf) cil managed" />
7517       <MemberType>Method</MemberType>
7518       <AssemblyInfo>
7519         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7520         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7521         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7522       </AssemblyInfo>
7523       <ReturnValue>
7524         <ReturnType>System.Int32</ReturnType>
7525       </ReturnValue>
7526       <Parameters>
7527         <Parameter Name="path" Type="System.String" />
7528         <Parameter Name="buf" Type="System.Text.StringBuilder" />
7529       </Parameters>
7530       <Docs>
7531         <param name="path">To be added.</param>
7532         <param name="buf">To be added.</param>
7533         <summary>Gets the destination of a symlink as a string.</summary>
7534         <returns>
7535           <para>
7536             The call returns the count of characters placed in the buffer
7537             if it succeeds, or a -1 if an error occurs, placing the error
7538             code in the global variable
7539             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" /> .
7540           </para>
7541           <block subset="none" type="usage">
7542             <para>
7543               The
7544               <c>readlink</c>()
7545               system call
7546               will fail if:
7547             </para>
7548             <list type="table">
7549               <listheader>
7550                 <term>
7551                   Error
7552                 </term>
7553                 <description>
7554                   Details
7555                 </description>
7556               </listheader>
7557               <item>
7558                 <term>
7559                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
7560                 </term>
7561                 <description>
7562                   <para>
7563                     A component of the path prefix is not a directory.
7564                   </para>
7565                 </description>
7566               </item>
7567               <item>
7568                 <term>
7569                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
7570                 </term>
7571                 <description>
7572                   <para>
7573                     A component of a pathname exceeded 255 characters,
7574                     or an entire path name exceeded 1023 characters.
7575                   </para>
7576                 </description>
7577               </item>
7578               <item>
7579                 <term>
7580                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
7581                 </term>
7582                 <description>
7583                   <para>
7584                     The named file does not exist.
7585                   </para>
7586                 </description>
7587               </item>
7588               <item>
7589                 <term>
7590                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
7591                 </term>
7592                 <description>
7593                   <para>
7594                     Search permission is denied for a component of the path prefix.
7595                   </para>
7596                 </description>
7597               </item>
7598               <item>
7599                 <term>
7600                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
7601                 </term>
7602                 <description>
7603                   <para>
7604                     Too many symbolic links were encountered in translating the pathname.
7605                   </para>
7606                 </description>
7607               </item>
7608               <item>
7609                 <term>
7610                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7611                 </term>
7612                 <description>
7613                   <para>
7614                     The named file is not a symbolic link.
7615                   </para>
7616                 </description>
7617               </item>
7618               <item>
7619                 <term>
7620                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
7621                 </term>
7622                 <description>
7623                   <para>
7624                     An I/O error occurred while reading from the file system.
7625                   </para>
7626                 </description>
7627               </item>
7628               <item>
7629                 <term>
7630                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
7631                 </term>
7632                 <description>
7633                   <para>
7634                     The
7635                     <paramref name="buf" /> 
7636                     argument
7637                     extends outside the process's allocated address space.
7638                   </para>
7639                 </description>
7640               </item>
7641             </list>
7642             <para>
7643             </para>
7644           </block>
7645         </returns>
7646         <remarks>
7647           <para>
7648             The
7649             <c>readlink</c>()
7650             system call
7651             places the contents of the symbolic link
7652             <paramref name="path" /> 
7653             in the buffer
7654             <paramref name="buf" /> ,
7655             which has size
7656             <paramref name="bufsiz" /> .
7657             The
7658             <c>readlink</c>()
7659             system call does not append a null
7660             character to
7661             <paramref name="buf" /> .
7662           </para>
7663         </remarks>
7664         <altmember cref="M:Mono.Unix.Native.Syscall.lstat" />
7665         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
7666         <altmember cref="M:Mono.Unix.Native.Syscall.symlink" />
7667       </Docs>
7668     </Member>
7669     <Member MemberName="readlink">
7670       <MemberSignature Language="C#" Value="public static int readlink (string path, System.Text.StringBuilder buf, ulong bufsiz);" />
7671       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_readlink&quot; winapi lasterr)int32 readlink(string path, class System.Text.StringBuilder buf, unsigned int64 bufsiz) cil managed" />
7672       <MemberType>Method</MemberType>
7673       <AssemblyInfo>
7674         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7675         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7676         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7677       </AssemblyInfo>
7678       <ReturnValue>
7679         <ReturnType>System.Int32</ReturnType>
7680       </ReturnValue>
7681       <Parameters>
7682         <Parameter Name="path" Type="System.String" />
7683         <Parameter Name="buf" Type="System.Text.StringBuilder" />
7684         <Parameter Name="bufsiz" Type="System.UInt64" />
7685       </Parameters>
7686       <Docs>
7687         <param name="path">To be added.</param>
7688         <param name="buf">To be added.</param>
7689         <param name="bufsiz">To be added.</param>
7690         <summary>Gets the destination of a symlink as a string.</summary>
7691         <returns>
7692           <para>
7693             The call returns the count of characters placed in the buffer
7694             if it succeeds, or a -1 if an error occurs, placing the error
7695             code in the global variable
7696             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" /> .
7697           </para>
7698           <block subset="none" type="usage">
7699             <para>
7700               The
7701               <c>readlink</c>()
7702               system call
7703               will fail if:
7704             </para>
7705             <list type="table">
7706               <listheader>
7707                 <term>
7708                   Error
7709                 </term>
7710                 <description>
7711                   Details
7712                 </description>
7713               </listheader>
7714               <item>
7715                 <term>
7716                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
7717                 </term>
7718                 <description>
7719                   <para>
7720                     A component of the path prefix is not a directory.
7721                   </para>
7722                 </description>
7723               </item>
7724               <item>
7725                 <term>
7726                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
7727                 </term>
7728                 <description>
7729                   <para>
7730                     A component of a pathname exceeded 255 characters,
7731                     or an entire path name exceeded 1023 characters.
7732                   </para>
7733                 </description>
7734               </item>
7735               <item>
7736                 <term>
7737                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
7738                 </term>
7739                 <description>
7740                   <para>
7741                     The named file does not exist.
7742                   </para>
7743                 </description>
7744               </item>
7745               <item>
7746                 <term>
7747                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
7748                 </term>
7749                 <description>
7750                   <para>
7751                     Search permission is denied for a component of the path prefix.
7752                   </para>
7753                 </description>
7754               </item>
7755               <item>
7756                 <term>
7757                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
7758                 </term>
7759                 <description>
7760                   <para>
7761                     Too many symbolic links were encountered in translating the pathname.
7762                   </para>
7763                 </description>
7764               </item>
7765               <item>
7766                 <term>
7767                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
7768                 </term>
7769                 <description>
7770                   <para>
7771                     The named file is not a symbolic link.
7772                   </para>
7773                 </description>
7774               </item>
7775               <item>
7776                 <term>
7777                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
7778                 </term>
7779                 <description>
7780                   <para>
7781                     An I/O error occurred while reading from the file system.
7782                   </para>
7783                 </description>
7784               </item>
7785               <item>
7786                 <term>
7787                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
7788                 </term>
7789                 <description>
7790                   <para>
7791                     The
7792                     <paramref name="buf" /> 
7793                     argument
7794                     extends outside the process's allocated address space.
7795                   </para>
7796                 </description>
7797               </item>
7798             </list>
7799             <para>
7800             </para>
7801           </block>
7802         </returns>
7803         <remarks>
7804           <para>
7805             The
7806             <c>readlink</c>()
7807             system call
7808             places the contents of the symbolic link
7809             <paramref name="path" /> 
7810             in the buffer
7811             <paramref name="buf" /> ,
7812             which has size
7813             <paramref name="bufsiz" /> .
7814             The
7815             <c>readlink</c>()
7816             system call does not append a null
7817             character to
7818             <paramref name="buf" /> .
7819           </para>
7820         </remarks>
7821         <altmember cref="M:Mono.Unix.Native.Syscall.lstat" />
7822         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
7823         <altmember cref="M:Mono.Unix.Native.Syscall.symlink" />
7824       </Docs>
7825     </Member>
7826     <Member MemberName="remap_file_pages">
7827       <MemberSignature Language="C#" Value="public static int remap_file_pages (IntPtr start, ulong size, Mono.Unix.Native.MmapProts prot, long pgoff, Mono.Unix.Native.MmapFlags flags);" />
7828       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_remap_file_pages&quot; winapi lasterr)int32 remap_file_pages(native int start, unsigned int64 size, valuetype Mono.Unix.Native.MmapProts prot, int64 pgoff, valuetype Mono.Unix.Native.MmapFlags flags) cil managed" />
7829       <MemberType>Method</MemberType>
7830       <AssemblyInfo>
7831         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7832         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7833         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7834       </AssemblyInfo>
7835       <ReturnValue>
7836         <ReturnType>System.Int32</ReturnType>
7837       </ReturnValue>
7838       <Parameters>
7839         <Parameter Name="start" Type="System.IntPtr" />
7840         <Parameter Name="size" Type="System.UInt64" />
7841         <Parameter Name="prot" Type="Mono.Unix.Native.MmapProts" />
7842         <Parameter Name="pgoff" Type="System.Int64" />
7843         <Parameter Name="flags" Type="Mono.Unix.Native.MmapFlags" />
7844       </Parameters>
7845       <Docs>
7846         <param name="start">To be added.</param>
7847         <param name="size">To be added.</param>
7848         <param name="prot">To be added.</param>
7849         <param name="pgoff">To be added.</param>
7850         <param name="flags">To be added.</param>
7851         <summary>To be added.</summary>
7852         <returns>To be added.</returns>
7853         <remarks>To be added.</remarks>
7854       </Docs>
7855     </Member>
7856     <Member MemberName="removexattr">
7857       <MemberSignature Language="C#" Value="public static int removexattr (string path, string name);" />
7858       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_removexattr&quot; winapi lasterr)int32 removexattr(string path, string name) cil managed" />
7859       <MemberType>Method</MemberType>
7860       <AssemblyInfo>
7861         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7862         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7863         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7864       </AssemblyInfo>
7865       <ReturnValue>
7866         <ReturnType>System.Int32</ReturnType>
7867       </ReturnValue>
7868       <Parameters>
7869         <Parameter Name="path" Type="System.String" />
7870         <Parameter Name="name" Type="System.String" />
7871       </Parameters>
7872       <Docs>
7873         <param name="path">To be added.</param>
7874         <param name="name">To be added.</param>
7875         <summary>To be added.</summary>
7876         <returns>To be added.</returns>
7877         <remarks>To be added.</remarks>
7878       </Docs>
7879     </Member>
7880     <Member MemberName="revoke">
7881       <MemberSignature Language="C#" Value="public static int revoke (string file);" />
7882       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;revoke&quot; winapi lasterr)int32 revoke(string file) cil managed" />
7883       <MemberType>Method</MemberType>
7884       <AssemblyInfo>
7885         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7886         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7887         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7888       </AssemblyInfo>
7889       <ReturnValue>
7890         <ReturnType>System.Int32</ReturnType>
7891       </ReturnValue>
7892       <Parameters>
7893         <Parameter Name="file" Type="System.String" />
7894       </Parameters>
7895       <Docs>
7896         <param name="file">To be added.</param>
7897         <summary>To be added.</summary>
7898         <returns>To be added.</returns>
7899         <remarks>To be added.</remarks>
7900       </Docs>
7901     </Member>
7902     <Member MemberName="rewinddir">
7903       <MemberSignature Language="C#" Value="public static int rewinddir (IntPtr dir);" />
7904       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_rewinddir&quot; winapi lasterr)int32 rewinddir(native int dir) cil managed" />
7905       <MemberType>Method</MemberType>
7906       <AssemblyInfo>
7907         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7908         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7909         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7910       </AssemblyInfo>
7911       <ReturnValue>
7912         <ReturnType>System.Int32</ReturnType>
7913       </ReturnValue>
7914       <Parameters>
7915         <Parameter Name="dir" Type="System.IntPtr" />
7916       </Parameters>
7917       <Docs>
7918         <param name="dir">To be added.</param>
7919         <summary>To be added.</summary>
7920         <returns>To be added.</returns>
7921         <remarks>To be added.</remarks>
7922       </Docs>
7923     </Member>
7924     <Member MemberName="rmdir">
7925       <MemberSignature Language="C#" Value="public static int rmdir (string pathname);" />
7926       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;rmdir&quot; winapi lasterr)int32 rmdir(string pathname) cil managed" />
7927       <MemberType>Method</MemberType>
7928       <AssemblyInfo>
7929         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
7930         <AssemblyVersion>2.0.0.0</AssemblyVersion>
7931         <AssemblyVersion>4.0.0.0</AssemblyVersion>
7932       </AssemblyInfo>
7933       <ReturnValue>
7934         <ReturnType>System.Int32</ReturnType>
7935       </ReturnValue>
7936       <Parameters>
7937         <Parameter Name="pathname" Type="System.String" />
7938       </Parameters>
7939       <Docs>
7940         <param name="pathname">
7941           A <see cref="T:System.String" /> containing the directory to remove.
7942         </param>
7943         <summary>Removes the directory at 'path'.</summary>
7944         <returns>
7945           <para>
7946             On success, zero is returned.
7947             On error, -1 is returned and 
7948             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
7949             returns the translated error.
7950           </para>
7951           <block subset="none" type="usage">
7952             <para>
7953               The named file is removed unless:
7954             </para>
7955             <list type="table">
7956               <listheader>
7957                 <term>
7958                   Error
7959                 </term>
7960                 <description>
7961                   Details
7962                 </description>
7963               </listheader>
7964               <item>
7965                 <term>
7966                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
7967                 </term>
7968                 <description>
7969                   <para>
7970                     A component of the path is not a directory.
7971                   </para>
7972                 </description>
7973               </item>
7974               <item>
7975                 <term>
7976                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
7977                 </term>
7978                 <description>
7979                   <para>
7980                     A component of a pathname exceeded 255 characters,
7981                     or an entire path name exceeded 1023 characters.
7982                   </para>
7983                 </description>
7984               </item>
7985               <item>
7986                 <term>
7987                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
7988                 </term>
7989                 <description>
7990                   <para>
7991                     The named directory does not exist.
7992                   </para>
7993                 </description>
7994               </item>
7995               <item>
7996                 <term>
7997                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
7998                 </term>
7999                 <description>
8000                   <para>
8001                     Too many symbolic links were encountered in translating the pathname.
8002                   </para>
8003                 </description>
8004               </item>
8005               <item>
8006                 <term>
8007                   <see cref="F:Mono.Unix.Native.Errno.ENOTEMPTY" />
8008                 </term>
8009                 <description>
8010                   <para>
8011                     The named directory contains files other than
8012                     "<c></c>"
8013                     and
8014                     "<c></c>"
8015                     in it.
8016                   </para>
8017                 </description>
8018               </item>
8019               <item>
8020                 <term>
8021                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
8022                 </term>
8023                 <description>
8024                   <para>
8025                     Search permission is denied for a component of the path prefix.
8026                   </para>
8027                 </description>
8028               </item>
8029               <item>
8030                 <term>
8031                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
8032                 </term>
8033                 <description>
8034                   <para>
8035                     Write permission is denied on the directory containing the link
8036                     to be removed.
8037                   </para>
8038                 </description>
8039               </item>
8040               <item>
8041                 <term>
8042                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
8043                 </term>
8044                 <description>
8045                   <para>
8046                     The directory containing the directory to be removed is marked sticky,
8047                     and neither the containing directory nor the directory to be removed
8048                     are owned by the effective user ID.
8049                   </para>
8050                 </description>
8051               </item>
8052               <item>
8053                 <term>
8054                   <see cref="F:Mono.Unix.Native.Errno.EBUSY" />
8055                 </term>
8056                 <description>
8057                   <para>
8058                     The directory to be removed is the mount point
8059                     for a mounted file system.
8060                   </para>
8061                 </description>
8062               </item>
8063               <item>
8064                 <term>
8065                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
8066                 </term>
8067                 <description>
8068                   <para>
8069                     An I/O error occurred while deleting the directory entry
8070                     or deallocating the inode.
8071                   </para>
8072                 </description>
8073               </item>
8074               <item>
8075                 <term>
8076                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
8077                 </term>
8078                 <description>
8079                   <para>
8080                     The directory entry to be removed resides on a read-only file system.
8081                   </para>
8082                 </description>
8083               </item>
8084               <item>
8085                 <term>
8086                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
8087                 </term>
8088                 <description>
8089                   <para>
8090                     The
8091                     <paramref name="path" /> 
8092                     argument
8093                     points outside the process's allocated address space.
8094                   </para>
8095                 </description>
8096               </item>
8097             </list>
8098             <para>
8099             </para>
8100           </block>
8101         </returns>
8102         <remarks>
8103           <para>
8104             The
8105             <c>rmdir</c>()
8106             system call
8107             removes a directory file
8108             whose name is given by
8109             <paramref name="path" /> .
8110             The directory must not have any entries other
8111             than
8112             "<c>.</c>"
8113             and
8114             "<c>..</c>"
8115           </para>
8116         </remarks>
8117         <altmember cref="M:Mono.Unix.Native.Syscall.mkdir" />
8118         <altmember cref="M:Mono.Unix.Native.Syscall.unlink" />
8119       </Docs>
8120     </Member>
8121     <Member MemberName="sbrk">
8122       <MemberSignature Language="C#" Value="public static IntPtr sbrk (IntPtr increment);" />
8123       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;sbrk&quot; winapi lasterr)native int sbrk(native int increment) cil managed" />
8124       <MemberType>Method</MemberType>
8125       <AssemblyInfo>
8126         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8127         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8128         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8129       </AssemblyInfo>
8130       <ReturnValue>
8131         <ReturnType>System.IntPtr</ReturnType>
8132       </ReturnValue>
8133       <Parameters>
8134         <Parameter Name="increment" Type="System.IntPtr" />
8135       </Parameters>
8136       <Docs>
8137         <param name="increment">To be added.</param>
8138         <summary>To be added.</summary>
8139         <returns>To be added.</returns>
8140         <remarks>To be added.</remarks>
8141       </Docs>
8142     </Member>
8143     <Member MemberName="seekdir">
8144       <MemberSignature Language="C#" Value="public static int seekdir (IntPtr dir, long offset);" />
8145       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_seekdir&quot; winapi lasterr)int32 seekdir(native int dir, int64 offset) cil managed" />
8146       <MemberType>Method</MemberType>
8147       <AssemblyInfo>
8148         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8149         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8150         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8151       </AssemblyInfo>
8152       <ReturnValue>
8153         <ReturnType>System.Int32</ReturnType>
8154       </ReturnValue>
8155       <Parameters>
8156         <Parameter Name="dir" Type="System.IntPtr" />
8157         <Parameter Name="offset" Type="System.Int64" />
8158       </Parameters>
8159       <Docs>
8160         <param name="dir">To be added.</param>
8161         <param name="offset">To be added.</param>
8162         <summary>To be added.</summary>
8163         <returns>To be added.</returns>
8164         <remarks>To be added.</remarks>
8165       </Docs>
8166     </Member>
8167     <Member MemberName="sendfile">
8168       <MemberSignature Language="C#" Value="public static long sendfile (int out_fd, int in_fd, ref long offset, ulong count);" />
8169       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_sendfile&quot; winapi lasterr)int64 sendfile(int32 out_fd, int32 in_fd, int64 offset, unsigned int64 count) cil managed" />
8170       <MemberType>Method</MemberType>
8171       <AssemblyInfo>
8172         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8173         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8174         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8175       </AssemblyInfo>
8176       <ReturnValue>
8177         <ReturnType>System.Int64</ReturnType>
8178       </ReturnValue>
8179       <Parameters>
8180         <Parameter Name="out_fd" Type="System.Int32" />
8181         <Parameter Name="in_fd" Type="System.Int32" />
8182         <Parameter Name="offset" Type="System.Int64&amp;" RefType="ref" />
8183         <Parameter Name="count" Type="System.UInt64" />
8184       </Parameters>
8185       <Docs>
8186         <param name="out_fd">To be added.</param>
8187         <param name="in_fd">To be added.</param>
8188         <param name="offset">To be added.</param>
8189         <param name="count">To be added.</param>
8190         <summary>To be added.</summary>
8191         <returns>To be added.</returns>
8192         <remarks>To be added.</remarks>
8193       </Docs>
8194     </Member>
8195     <Member MemberName="setdomainname">
8196       <MemberSignature Language="C#" Value="public static int setdomainname (string name);" />
8197       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setdomainname(string name) cil managed" />
8198       <MemberType>Method</MemberType>
8199       <AssemblyInfo>
8200         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8201         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8202         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8203       </AssemblyInfo>
8204       <ReturnValue>
8205         <ReturnType>System.Int32</ReturnType>
8206       </ReturnValue>
8207       <Parameters>
8208         <Parameter Name="name" Type="System.String" />
8209       </Parameters>
8210       <Docs>
8211         <param name="name">To be added.</param>
8212         <summary>To be added.</summary>
8213         <returns>To be added.</returns>
8214         <remarks>To be added.</remarks>
8215       </Docs>
8216     </Member>
8217     <Member MemberName="setdomainname">
8218       <MemberSignature Language="C#" Value="public static int setdomainname (string name, ulong len);" />
8219       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_setdomainname&quot; winapi lasterr)int32 setdomainname(string name, unsigned int64 len) cil managed" />
8220       <MemberType>Method</MemberType>
8221       <AssemblyInfo>
8222         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8223         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8224         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8225       </AssemblyInfo>
8226       <ReturnValue>
8227         <ReturnType>System.Int32</ReturnType>
8228       </ReturnValue>
8229       <Parameters>
8230         <Parameter Name="name" Type="System.String" />
8231         <Parameter Name="len" Type="System.UInt64" />
8232       </Parameters>
8233       <Docs>
8234         <param name="name">To be added.</param>
8235         <param name="len">To be added.</param>
8236         <summary>To be added.</summary>
8237         <returns>To be added.</returns>
8238         <remarks>To be added.</remarks>
8239       </Docs>
8240     </Member>
8241     <Member MemberName="setegid">
8242       <MemberSignature Language="C#" Value="public static int setegid (uint uid);" />
8243       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setegid&quot; winapi lasterr)int32 setegid(unsigned int32 uid) cil managed" />
8244       <MemberType>Method</MemberType>
8245       <AssemblyInfo>
8246         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8247         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8248         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8249       </AssemblyInfo>
8250       <ReturnValue>
8251         <ReturnType>System.Int32</ReturnType>
8252       </ReturnValue>
8253       <Parameters>
8254         <Parameter Name="uid" Type="System.UInt32" />
8255       </Parameters>
8256       <Docs>
8257         <param name="uid">To be added.</param>
8258         <summary>To be added.</summary>
8259         <returns>To be added.</returns>
8260         <remarks>To be added.</remarks>
8261       </Docs>
8262     </Member>
8263     <Member MemberName="seteuid">
8264       <MemberSignature Language="C#" Value="public static int seteuid (uint euid);" />
8265       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;seteuid&quot; winapi lasterr)int32 seteuid(unsigned int32 euid) cil managed" />
8266       <MemberType>Method</MemberType>
8267       <AssemblyInfo>
8268         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8269         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8270         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8271       </AssemblyInfo>
8272       <ReturnValue>
8273         <ReturnType>System.Int32</ReturnType>
8274       </ReturnValue>
8275       <Parameters>
8276         <Parameter Name="euid" Type="System.UInt32" />
8277       </Parameters>
8278       <Docs>
8279         <param name="euid">To be added.</param>
8280         <summary>To be added.</summary>
8281         <returns>To be added.</returns>
8282         <remarks>To be added.</remarks>
8283       </Docs>
8284     </Member>
8285     <Member MemberName="setfsent">
8286       <MemberSignature Language="C#" Value="public static int setfsent ();" />
8287       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setfsent() cil managed" />
8288       <MemberType>Method</MemberType>
8289       <AssemblyInfo>
8290         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8291         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8292         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8293       </AssemblyInfo>
8294       <ReturnValue>
8295         <ReturnType>System.Int32</ReturnType>
8296       </ReturnValue>
8297       <Parameters />
8298       <Docs>
8299         <summary>To be added.</summary>
8300         <returns>To be added.</returns>
8301         <remarks>To be added.</remarks>
8302       </Docs>
8303     </Member>
8304     <Member MemberName="setgid">
8305       <MemberSignature Language="C#" Value="public static int setgid (uint gid);" />
8306       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setgid&quot; winapi lasterr)int32 setgid(unsigned int32 gid) cil managed" />
8307       <MemberType>Method</MemberType>
8308       <AssemblyInfo>
8309         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8310         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8311         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8312       </AssemblyInfo>
8313       <ReturnValue>
8314         <ReturnType>System.Int32</ReturnType>
8315       </ReturnValue>
8316       <Parameters>
8317         <Parameter Name="gid" Type="System.UInt32" />
8318       </Parameters>
8319       <Docs>
8320         <param name="gid">To be added.</param>
8321         <summary>Sets the group ID for the current process to 'gid'.</summary>
8322         <returns>To be added.</returns>
8323         <remarks>To be added.</remarks>
8324       </Docs>
8325     </Member>
8326     <Member MemberName="setgrent">
8327       <MemberSignature Language="C#" Value="public static int setgrent ();" />
8328       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setgrent() cil managed" />
8329       <MemberType>Method</MemberType>
8330       <AssemblyInfo>
8331         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8332         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8333         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8334       </AssemblyInfo>
8335       <ReturnValue>
8336         <ReturnType>System.Int32</ReturnType>
8337       </ReturnValue>
8338       <Parameters />
8339       <Docs>
8340         <summary>To be added.</summary>
8341         <returns>To be added.</returns>
8342         <remarks>To be added.</remarks>
8343       </Docs>
8344     </Member>
8345     <Member MemberName="setgroups">
8346       <MemberSignature Language="C#" Value="public static int setgroups (uint[] list);" />
8347       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setgroups(unsigned int32[] list) cil managed" />
8348       <MemberType>Method</MemberType>
8349       <AssemblyInfo>
8350         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8351         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8352         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8353       </AssemblyInfo>
8354       <ReturnValue>
8355         <ReturnType>System.Int32</ReturnType>
8356       </ReturnValue>
8357       <Parameters>
8358         <Parameter Name="list" Type="System.UInt32[]" />
8359       </Parameters>
8360       <Docs>
8361         <param name="list">To be added.</param>
8362         <summary>To be added.</summary>
8363         <returns>To be added.</returns>
8364         <remarks>To be added.</remarks>
8365       </Docs>
8366     </Member>
8367     <Member MemberName="setgroups">
8368       <MemberSignature Language="C#" Value="public static int setgroups (ulong size, uint[] list);" />
8369       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_setgroups&quot; winapi lasterr)int32 setgroups(unsigned int64 size, unsigned int32[] list) cil managed" />
8370       <MemberType>Method</MemberType>
8371       <AssemblyInfo>
8372         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8373         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8374         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8375       </AssemblyInfo>
8376       <ReturnValue>
8377         <ReturnType>System.Int32</ReturnType>
8378       </ReturnValue>
8379       <Parameters>
8380         <Parameter Name="size" Type="System.UInt64" />
8381         <Parameter Name="list" Type="System.UInt32[]" />
8382       </Parameters>
8383       <Docs>
8384         <param name="size">To be added.</param>
8385         <param name="list">To be added.</param>
8386         <summary>To be added.</summary>
8387         <returns>To be added.</returns>
8388         <remarks>To be added.</remarks>
8389       </Docs>
8390     </Member>
8391     <Member MemberName="sethostid">
8392       <MemberSignature Language="C#" Value="public static int sethostid (long hostid);" />
8393       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_sethostid&quot; winapi lasterr)int32 sethostid(int64 hostid) cil managed" />
8394       <MemberType>Method</MemberType>
8395       <AssemblyInfo>
8396         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8397         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8398         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8399       </AssemblyInfo>
8400       <ReturnValue>
8401         <ReturnType>System.Int32</ReturnType>
8402       </ReturnValue>
8403       <Parameters>
8404         <Parameter Name="hostid" Type="System.Int64" />
8405       </Parameters>
8406       <Docs>
8407         <param name="hostid">To be added.</param>
8408         <summary>To be added.</summary>
8409         <returns>To be added.</returns>
8410         <remarks>To be added.</remarks>
8411       </Docs>
8412     </Member>
8413     <Member MemberName="sethostname">
8414       <MemberSignature Language="C#" Value="public static int sethostname (string name);" />
8415       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 sethostname(string name) cil managed" />
8416       <MemberType>Method</MemberType>
8417       <AssemblyInfo>
8418         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8419         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8420         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8421       </AssemblyInfo>
8422       <ReturnValue>
8423         <ReturnType>System.Int32</ReturnType>
8424       </ReturnValue>
8425       <Parameters>
8426         <Parameter Name="name" Type="System.String" />
8427       </Parameters>
8428       <Docs>
8429         <param name="name">To be added.</param>
8430         <summary>To be added.</summary>
8431         <returns>To be added.</returns>
8432         <remarks>To be added.</remarks>
8433       </Docs>
8434     </Member>
8435     <Member MemberName="sethostname">
8436       <MemberSignature Language="C#" Value="public static int sethostname (string name, ulong len);" />
8437       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_sethostname&quot; winapi lasterr)int32 sethostname(string name, unsigned int64 len) cil managed" />
8438       <MemberType>Method</MemberType>
8439       <AssemblyInfo>
8440         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8441         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8442         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8443       </AssemblyInfo>
8444       <ReturnValue>
8445         <ReturnType>System.Int32</ReturnType>
8446       </ReturnValue>
8447       <Parameters>
8448         <Parameter Name="name" Type="System.String" />
8449         <Parameter Name="len" Type="System.UInt64" />
8450       </Parameters>
8451       <Docs>
8452         <param name="name">To be added.</param>
8453         <param name="len">To be added.</param>
8454         <summary>To be added.</summary>
8455         <returns>To be added.</returns>
8456         <remarks>To be added.</remarks>
8457       </Docs>
8458     </Member>
8459     <Member MemberName="setkey">
8460       <MemberSignature Language="C#" Value="public static int setkey (string key);" />
8461       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setkey(string key) cil managed" />
8462       <MemberType>Method</MemberType>
8463       <AssemblyInfo>
8464         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8465         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8466         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8467       </AssemblyInfo>
8468       <Attributes>
8469         <Attribute>
8470           <AttributeName>System.Obsolete("This is insecure and should not be used", true)</AttributeName>
8471         </Attribute>
8472       </Attributes>
8473       <ReturnValue>
8474         <ReturnType>System.Int32</ReturnType>
8475       </ReturnValue>
8476       <Parameters>
8477         <Parameter Name="key" Type="System.String" />
8478       </Parameters>
8479       <Docs>
8480         <param name="key">To be added.</param>
8481         <summary>To be added.</summary>
8482         <returns>To be added.</returns>
8483         <remarks>To be added.</remarks>
8484       </Docs>
8485     </Member>
8486     <Member MemberName="setlogin">
8487       <MemberSignature Language="C#" Value="public static int setlogin (string name);" />
8488       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setlogin&quot; winapi lasterr)int32 setlogin(string name) cil managed" />
8489       <MemberType>Method</MemberType>
8490       <AssemblyInfo>
8491         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8492         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8493         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8494       </AssemblyInfo>
8495       <ReturnValue>
8496         <ReturnType>System.Int32</ReturnType>
8497       </ReturnValue>
8498       <Parameters>
8499         <Parameter Name="name" Type="System.String" />
8500       </Parameters>
8501       <Docs>
8502         <param name="name">To be added.</param>
8503         <summary>To be added.</summary>
8504         <returns>To be added.</returns>
8505         <remarks>To be added.</remarks>
8506       </Docs>
8507     </Member>
8508     <Member MemberName="setlogmask">
8509       <MemberSignature Language="C#" Value="public static int setlogmask (Mono.Unix.Native.SyslogLevel mask);" />
8510       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setlogmask(valuetype Mono.Unix.Native.SyslogLevel mask) cil managed" />
8511       <MemberType>Method</MemberType>
8512       <AssemblyInfo>
8513         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8514         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8515         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8516       </AssemblyInfo>
8517       <ReturnValue>
8518         <ReturnType>System.Int32</ReturnType>
8519       </ReturnValue>
8520       <Parameters>
8521         <Parameter Name="mask" Type="Mono.Unix.Native.SyslogLevel" />
8522       </Parameters>
8523       <Docs>
8524         <param name="mask">To be added.</param>
8525         <summary>To be added.</summary>
8526         <returns>To be added.</returns>
8527         <remarks>To be added.</remarks>
8528       </Docs>
8529     </Member>
8530     <Member MemberName="setpgid">
8531       <MemberSignature Language="C#" Value="public static int setpgid (int pid, int pgid);" />
8532       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setpgid&quot; winapi lasterr)int32 setpgid(int32 pid, int32 pgid) cil managed" />
8533       <MemberType>Method</MemberType>
8534       <AssemblyInfo>
8535         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8536         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8537         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8538       </AssemblyInfo>
8539       <ReturnValue>
8540         <ReturnType>System.Int32</ReturnType>
8541       </ReturnValue>
8542       <Parameters>
8543         <Parameter Name="pid" Type="System.Int32" />
8544         <Parameter Name="pgid" Type="System.Int32" />
8545       </Parameters>
8546       <Docs>
8547         <param name="pid">To be added.</param>
8548         <param name="pgid">To be added.</param>
8549         <summary>Sets the process group ID for the current process to 'pgid'.</summary>
8550         <returns>To be added.</returns>
8551         <remarks>To be added.</remarks>
8552       </Docs>
8553     </Member>
8554     <Member MemberName="setpgrp">
8555       <MemberSignature Language="C#" Value="public static int setpgrp ();" />
8556       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setpgrp&quot; winapi lasterr)int32 setpgrp() cil managed" />
8557       <MemberType>Method</MemberType>
8558       <AssemblyInfo>
8559         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8560         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8561         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8562       </AssemblyInfo>
8563       <ReturnValue>
8564         <ReturnType>System.Int32</ReturnType>
8565       </ReturnValue>
8566       <Parameters />
8567       <Docs>
8568         <summary>To be added.</summary>
8569         <returns>To be added.</returns>
8570         <remarks>To be added.</remarks>
8571       </Docs>
8572     </Member>
8573     <Member MemberName="setpwent">
8574       <MemberSignature Language="C#" Value="public static int setpwent ();" />
8575       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setpwent() cil managed" />
8576       <MemberType>Method</MemberType>
8577       <AssemblyInfo>
8578         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8579         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8580         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8581       </AssemblyInfo>
8582       <ReturnValue>
8583         <ReturnType>System.Int32</ReturnType>
8584       </ReturnValue>
8585       <Parameters />
8586       <Docs>
8587         <summary>To be added.</summary>
8588         <returns>To be added.</returns>
8589         <remarks>To be added.</remarks>
8590       </Docs>
8591     </Member>
8592     <Member MemberName="setregid">
8593       <MemberSignature Language="C#" Value="public static int setregid (uint rgid, uint egid);" />
8594       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setregid&quot; winapi lasterr)int32 setregid(unsigned int32 rgid, unsigned int32 egid) cil managed" />
8595       <MemberType>Method</MemberType>
8596       <AssemblyInfo>
8597         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8598         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8599         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8600       </AssemblyInfo>
8601       <ReturnValue>
8602         <ReturnType>System.Int32</ReturnType>
8603       </ReturnValue>
8604       <Parameters>
8605         <Parameter Name="rgid" Type="System.UInt32" />
8606         <Parameter Name="egid" Type="System.UInt32" />
8607       </Parameters>
8608       <Docs>
8609         <param name="rgid">To be added.</param>
8610         <param name="egid">To be added.</param>
8611         <summary>Sets the real and effective group ID for the current process to 'rgid' and 'egid' respectively.</summary>
8612         <returns>To be added.</returns>
8613         <remarks>To be added.</remarks>
8614       </Docs>
8615     </Member>
8616     <Member MemberName="setresgid">
8617       <MemberSignature Language="C#" Value="public static int setresgid (uint rgid, uint egid, uint sgid);" />
8618       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setresgid&quot; winapi lasterr)int32 setresgid(unsigned int32 rgid, unsigned int32 egid, unsigned int32 sgid) cil managed" />
8619       <MemberType>Method</MemberType>
8620       <AssemblyInfo>
8621         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8622         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8623         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8624       </AssemblyInfo>
8625       <ReturnValue>
8626         <ReturnType>System.Int32</ReturnType>
8627       </ReturnValue>
8628       <Parameters>
8629         <Parameter Name="rgid" Type="System.UInt32" />
8630         <Parameter Name="egid" Type="System.UInt32" />
8631         <Parameter Name="sgid" Type="System.UInt32" />
8632       </Parameters>
8633       <Docs>
8634         <param name="rgid">To be added.</param>
8635         <param name="egid">To be added.</param>
8636         <param name="sgid">To be added.</param>
8637         <summary>To be added.</summary>
8638         <returns>To be added.</returns>
8639         <remarks>To be added.</remarks>
8640       </Docs>
8641     </Member>
8642     <Member MemberName="setresuid">
8643       <MemberSignature Language="C#" Value="public static int setresuid (uint ruid, uint euid, uint suid);" />
8644       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setresuid&quot; winapi lasterr)int32 setresuid(unsigned int32 ruid, unsigned int32 euid, unsigned int32 suid) cil managed" />
8645       <MemberType>Method</MemberType>
8646       <AssemblyInfo>
8647         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8648         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8649         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8650       </AssemblyInfo>
8651       <ReturnValue>
8652         <ReturnType>System.Int32</ReturnType>
8653       </ReturnValue>
8654       <Parameters>
8655         <Parameter Name="ruid" Type="System.UInt32" />
8656         <Parameter Name="euid" Type="System.UInt32" />
8657         <Parameter Name="suid" Type="System.UInt32" />
8658       </Parameters>
8659       <Docs>
8660         <param name="ruid">To be added.</param>
8661         <param name="euid">To be added.</param>
8662         <param name="suid">To be added.</param>
8663         <summary>To be added.</summary>
8664         <returns>To be added.</returns>
8665         <remarks>To be added.</remarks>
8666       </Docs>
8667     </Member>
8668     <Member MemberName="setreuid">
8669       <MemberSignature Language="C#" Value="public static int setreuid (uint ruid, uint euid);" />
8670       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setreuid&quot; winapi lasterr)int32 setreuid(unsigned int32 ruid, unsigned int32 euid) cil managed" />
8671       <MemberType>Method</MemberType>
8672       <AssemblyInfo>
8673         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8674         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8675         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8676       </AssemblyInfo>
8677       <ReturnValue>
8678         <ReturnType>System.Int32</ReturnType>
8679       </ReturnValue>
8680       <Parameters>
8681         <Parameter Name="ruid" Type="System.UInt32" />
8682         <Parameter Name="euid" Type="System.UInt32" />
8683       </Parameters>
8684       <Docs>
8685         <param name="ruid">To be added.</param>
8686         <param name="euid">To be added.</param>
8687         <summary>Sets the real and effective user ID for the current process to 'ruid' and 'euid' respectively.</summary>
8688         <returns>To be added.</returns>
8689         <remarks>To be added.</remarks>
8690       </Docs>
8691     </Member>
8692     <Member MemberName="setsid">
8693       <MemberSignature Language="C#" Value="public static int setsid ();" />
8694       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setsid&quot; winapi lasterr)int32 setsid() cil managed" />
8695       <MemberType>Method</MemberType>
8696       <AssemblyInfo>
8697         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8698         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8699         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8700       </AssemblyInfo>
8701       <ReturnValue>
8702         <ReturnType>System.Int32</ReturnType>
8703       </ReturnValue>
8704       <Parameters />
8705       <Docs>
8706         <summary>Creates a session and sets the process group ID.</summary>
8707         <returns>To be added.</returns>
8708         <remarks>To be added.</remarks>
8709       </Docs>
8710     </Member>
8711     <Member MemberName="settimeofday">
8712       <MemberSignature Language="C#" Value="public static int settimeofday (ref Mono.Unix.Native.Timeval tv);" />
8713       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 settimeofday(valuetype Mono.Unix.Native.Timeval tv) cil managed" />
8714       <MemberType>Method</MemberType>
8715       <AssemblyInfo>
8716         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8717         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8718         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8719       </AssemblyInfo>
8720       <ReturnValue>
8721         <ReturnType>System.Int32</ReturnType>
8722       </ReturnValue>
8723       <Parameters>
8724         <Parameter Name="tv" Type="Mono.Unix.Native.Timeval&amp;" RefType="ref" />
8725       </Parameters>
8726       <Docs>
8727         <param name="tv">To be added.</param>
8728         <summary>To be added.</summary>
8729         <returns>To be added.</returns>
8730         <remarks>To be added.</remarks>
8731       </Docs>
8732     </Member>
8733     <Member MemberName="settimeofday">
8734       <MemberSignature Language="C#" Value="public static int settimeofday (ref Mono.Unix.Native.Timeval tv, ref Mono.Unix.Native.Timezone tz);" />
8735       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_settimeofday&quot; winapi lasterr)int32 settimeofday(valuetype Mono.Unix.Native.Timeval tv, valuetype Mono.Unix.Native.Timezone tz) cil managed" />
8736       <MemberType>Method</MemberType>
8737       <AssemblyInfo>
8738         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8739         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8740         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8741       </AssemblyInfo>
8742       <ReturnValue>
8743         <ReturnType>System.Int32</ReturnType>
8744       </ReturnValue>
8745       <Parameters>
8746         <Parameter Name="tv" Type="Mono.Unix.Native.Timeval&amp;" RefType="ref" />
8747         <Parameter Name="tz" Type="Mono.Unix.Native.Timezone&amp;" RefType="ref" />
8748       </Parameters>
8749       <Docs>
8750         <param name="tv">To be added.</param>
8751         <param name="tz">To be added.</param>
8752         <summary>To be added.</summary>
8753         <returns>To be added.</returns>
8754         <remarks>To be added.</remarks>
8755       </Docs>
8756     </Member>
8757     <Member MemberName="setuid">
8758       <MemberSignature Language="C#" Value="public static int setuid (uint uid);" />
8759       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;setuid&quot; winapi lasterr)int32 setuid(unsigned int32 uid) cil managed" />
8760       <MemberType>Method</MemberType>
8761       <AssemblyInfo>
8762         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8763         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8764         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8765       </AssemblyInfo>
8766       <ReturnValue>
8767         <ReturnType>System.Int32</ReturnType>
8768       </ReturnValue>
8769       <Parameters>
8770         <Parameter Name="uid" Type="System.UInt32" />
8771       </Parameters>
8772       <Docs>
8773         <param name="uid">To be added.</param>
8774         <summary>Sets the user ID for the current process to 'uid'.</summary>
8775         <returns>To be added.</returns>
8776         <remarks>To be added.</remarks>
8777       </Docs>
8778     </Member>
8779     <Member MemberName="setusershell">
8780       <MemberSignature Language="C#" Value="public static int setusershell ();" />
8781       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setusershell() cil managed" />
8782       <MemberType>Method</MemberType>
8783       <AssemblyInfo>
8784         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8785         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8786         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8787       </AssemblyInfo>
8788       <ReturnValue>
8789         <ReturnType>System.Int32</ReturnType>
8790       </ReturnValue>
8791       <Parameters />
8792       <Docs>
8793         <summary>To be added.</summary>
8794         <returns>To be added.</returns>
8795         <remarks>To be added.</remarks>
8796       </Docs>
8797     </Member>
8798     <Member MemberName="setxattr">
8799       <MemberSignature Language="C#" Value="public static int setxattr (string path, string name, byte[] value);" />
8800       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setxattr(string path, string name, unsigned int8[] value) cil managed" />
8801       <MemberType>Method</MemberType>
8802       <AssemblyInfo>
8803         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8804         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8805         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8806       </AssemblyInfo>
8807       <ReturnValue>
8808         <ReturnType>System.Int32</ReturnType>
8809       </ReturnValue>
8810       <Parameters>
8811         <Parameter Name="path" Type="System.String" />
8812         <Parameter Name="name" Type="System.String" />
8813         <Parameter Name="value" Type="System.Byte[]" />
8814       </Parameters>
8815       <Docs>
8816         <param name="path">To be added.</param>
8817         <param name="name">To be added.</param>
8818         <param name="value">To be added.</param>
8819         <summary>To be added.</summary>
8820         <returns>To be added.</returns>
8821         <remarks>To be added.</remarks>
8822       </Docs>
8823     </Member>
8824     <Member MemberName="setxattr">
8825       <MemberSignature Language="C#" Value="public static int setxattr (string path, string name, byte[] value, Mono.Unix.Native.XattrFlags flags);" />
8826       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setxattr(string path, string name, unsigned int8[] value, valuetype Mono.Unix.Native.XattrFlags flags) cil managed" />
8827       <MemberType>Method</MemberType>
8828       <AssemblyInfo>
8829         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8830         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8831         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8832       </AssemblyInfo>
8833       <ReturnValue>
8834         <ReturnType>System.Int32</ReturnType>
8835       </ReturnValue>
8836       <Parameters>
8837         <Parameter Name="path" Type="System.String" />
8838         <Parameter Name="name" Type="System.String" />
8839         <Parameter Name="value" Type="System.Byte[]" />
8840         <Parameter Name="flags" Type="Mono.Unix.Native.XattrFlags" />
8841       </Parameters>
8842       <Docs>
8843         <param name="path">To be added.</param>
8844         <param name="name">To be added.</param>
8845         <param name="value">To be added.</param>
8846         <param name="flags">To be added.</param>
8847         <summary>To be added.</summary>
8848         <returns>To be added.</returns>
8849         <remarks>To be added.</remarks>
8850       </Docs>
8851     </Member>
8852     <Member MemberName="setxattr">
8853       <MemberSignature Language="C#" Value="public static int setxattr (string path, string name, byte[] value, ulong size);" />
8854       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 setxattr(string path, string name, unsigned int8[] value, unsigned int64 size) cil managed" />
8855       <MemberType>Method</MemberType>
8856       <AssemblyInfo>
8857         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8858         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8859         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8860       </AssemblyInfo>
8861       <ReturnValue>
8862         <ReturnType>System.Int32</ReturnType>
8863       </ReturnValue>
8864       <Parameters>
8865         <Parameter Name="path" Type="System.String" />
8866         <Parameter Name="name" Type="System.String" />
8867         <Parameter Name="value" Type="System.Byte[]" />
8868         <Parameter Name="size" Type="System.UInt64" />
8869       </Parameters>
8870       <Docs>
8871         <param name="path">To be added.</param>
8872         <param name="name">To be added.</param>
8873         <param name="value">To be added.</param>
8874         <param name="size">To be added.</param>
8875         <summary>To be added.</summary>
8876         <returns>To be added.</returns>
8877         <remarks>To be added.</remarks>
8878       </Docs>
8879     </Member>
8880     <Member MemberName="setxattr">
8881       <MemberSignature Language="C#" Value="public static int setxattr (string path, string name, byte[] value, ulong size, Mono.Unix.Native.XattrFlags flags);" />
8882       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_setxattr&quot; winapi lasterr)int32 setxattr(string path, string name, unsigned int8[] value, unsigned int64 size, valuetype Mono.Unix.Native.XattrFlags flags) cil managed" />
8883       <MemberType>Method</MemberType>
8884       <AssemblyInfo>
8885         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8886         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8887         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8888       </AssemblyInfo>
8889       <ReturnValue>
8890         <ReturnType>System.Int32</ReturnType>
8891       </ReturnValue>
8892       <Parameters>
8893         <Parameter Name="path" Type="System.String" />
8894         <Parameter Name="name" Type="System.String" />
8895         <Parameter Name="value" Type="System.Byte[]" />
8896         <Parameter Name="size" Type="System.UInt64" />
8897         <Parameter Name="flags" Type="Mono.Unix.Native.XattrFlags" />
8898       </Parameters>
8899       <Docs>
8900         <param name="path">To be added.</param>
8901         <param name="name">To be added.</param>
8902         <param name="value">To be added.</param>
8903         <param name="size">To be added.</param>
8904         <param name="flags">To be added.</param>
8905         <summary>To be added.</summary>
8906         <returns>To be added.</returns>
8907         <remarks>To be added.</remarks>
8908       </Docs>
8909     </Member>
8910     <Member MemberName="sleep">
8911       <MemberSignature Language="C#" Value="public static uint sleep (uint seconds);" />
8912       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;sleep&quot; winapi lasterr)unsigned int32 sleep(unsigned int32 seconds) cil managed" />
8913       <MemberType>Method</MemberType>
8914       <AssemblyInfo>
8915         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8916         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8917         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8918       </AssemblyInfo>
8919       <ReturnValue>
8920         <ReturnType>System.UInt32</ReturnType>
8921       </ReturnValue>
8922       <Parameters>
8923         <Parameter Name="seconds" Type="System.UInt32" />
8924       </Parameters>
8925       <Docs>
8926         <param name="seconds">To be added.</param>
8927         <summary>To be added.</summary>
8928         <returns>To be added.</returns>
8929         <remarks>To be added.</remarks>
8930       </Docs>
8931     </Member>
8932     <Member MemberName="stat">
8933       <MemberSignature Language="C#" Value="public static int stat (string file_name, out Mono.Unix.Native.Stat buf);" />
8934       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_stat&quot; winapi lasterr)int32 stat(string file_name, valuetype Mono.Unix.Native.Stat buf) cil managed" />
8935       <MemberType>Method</MemberType>
8936       <AssemblyInfo>
8937         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
8938         <AssemblyVersion>2.0.0.0</AssemblyVersion>
8939         <AssemblyVersion>4.0.0.0</AssemblyVersion>
8940       </AssemblyInfo>
8941       <ReturnValue>
8942         <ReturnType>System.Int32</ReturnType>
8943       </ReturnValue>
8944       <Parameters>
8945         <Parameter Name="file_name" Type="System.String" />
8946         <Parameter Name="buf" Type="Mono.Unix.Native.Stat&amp;" RefType="out" />
8947       </Parameters>
8948       <Docs>
8949         <param name="file_name">To be added.</param>
8950         <param name="buf">To be added.</param>
8951         <summary>Get file status.</summary>
8952         <returns>
8953           <para>
8954             On success, <c>0</c> is returned.
8955             On error, <c>-1</c> is returned and
8956             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
8957             returns the translated error.
8958           </para>
8959           <block subset="none" type="usage">
8960             <para>
8961               The
8962               <c>stat</c>()
8963               and
8964               <c>lstat</c>()
8965               system calls will fail if:
8966             </para>
8967             <list type="table">
8968               <listheader>
8969                 <term>
8970                   Error
8971                 </term>
8972                 <description>
8973                   Details
8974                 </description>
8975               </listheader>
8976               <item>
8977                 <term>
8978                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
8979                 </term>
8980                 <description>
8981                   <para>
8982                     Search permission is denied for a component of the path prefix.
8983                   </para>
8984                 </description>
8985               </item>
8986               <item>
8987                 <term>
8988                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
8989                 </term>
8990                 <description>
8991                   <para>
8992                     The
8993                     <paramref name="sb" />
8994                     or
8995                     <paramref name="path" />
8996                     argument
8997                     points to an invalid address.
8998                   </para>
8999                 </description>
9000               </item>
9001               <item>
9002                 <term>
9003                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
9004                 </term>
9005                 <description>
9006                   <para>
9007                     An I/O error occurred while reading from or writing to the file system.
9008                   </para>
9009                 </description>
9010               </item>
9011               <item>
9012                 <term>
9013                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
9014                 </term>
9015                 <description>
9016                   <para>
9017                     Too many symbolic links were encountered in translating the
9018 pathname.
9019                   </para>
9020                 </description>
9021               </item>
9022               <item>
9023                 <term>
9024                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
9025                 </term>
9026                 <description>
9027                   <para>
9028                     A component of a pathname exceeded 255 characters,
9029                     or an entire path name exceeded 1023 characters.
9030                   </para>
9031                 </description>
9032               </item>
9033               <item>
9034                 <term>
9035                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
9036                 </term>
9037                 <description>
9038                   <para>
9039                     The named file does not exist.
9040                   </para>
9041                 </description>
9042               </item>
9043               <item>
9044                 <term>
9045                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
9046                 </term>
9047                 <description>
9048                   <para>
9049                     A component of the path prefix is not a directory.
9050                   </para>
9051                 </description>
9052               </item>
9053               <item>
9054                 <term>
9055                   <see cref="F:Mono.Unix.Native.Errno.EOVERFLOW" />
9056                 </term>
9057                 <description>
9058                   <para>
9059                     The file size in bytes cannot be
9060                     represented correctly in the structure pointed to by
9061                     <paramref name="sb" /> .
9062                   </para>
9063                 </description>
9064               </item>
9065             </list>
9066           </block>
9067         </returns>
9068         <remarks>
9069           <para>
9070             The
9071             <c>stat</c>()
9072             system call obtains information about the file pointed to by
9073             <paramref name="path" /> .
9074             Read, write or execute
9075             permission of the named file is not required, but all directories
9076             listed in the path name leading to the file must be searchable.
9077           </para>
9078           <para>
9079             The
9080             <paramref name="sb" />
9081             argument is a pointer to a
9082             Vt stat            structure
9083             as defined by
9084             <c>sys/stat.h</c>
9085             and into which information is placed concerning the file.
9086           </para>
9087           <para>
9088             The fields of
9089             Vt "struct stat"            related to the file system are as follows:
9090           </para>
9091           <list type="table">
9092             <item>
9093               <term>
9094                 <c>st_dev</c>
9095               </term>
9096               <description>
9097                 <para>
9098                   The numeric ID of the device containing the file.
9099                 </para>
9100               </description>
9101             </item>
9102             <item>
9103               <term>
9104                 <c>st_ino</c>
9105               </term>
9106               <description>
9107                 <para>
9108                   The file's inode number.
9109                 </para>
9110               </description>
9111             </item>
9112             <item>
9113               <term>
9114                 <c>st_nlink</c>
9115               </term>
9116               <description>
9117                 <para>
9118                   The number of hard links to the file.
9119                 </para>
9120               </description>
9121             </item>
9122           </list>
9123           <para>
9124           </para>
9125           <para>
9126             The
9127             <c>st_dev</c>
9128             and
9129             <c>st_ino</c>
9130             fields together identify the file uniquely within the system.
9131           </para>
9132           <para>
9133             The time-related fields of
9134             Vt "struct stat"            are as follows:
9135           </para>
9136           <list type="table">
9137             <item>
9138               <term>
9139                 <c>st_atime</c>
9140               </term>
9141               <description>
9142                 <para>
9143                   Time when file data last accessed.
9144                   Changed by the
9145                   <see cref="M:Mono.Unix.Native.Syscall.mknod" />(2) ,
9146                   <see cref="M:Mono.Unix.Native.Syscall.utimes" />(2) ,
9147                   <see cref="M:Mono.Unix.Native.Syscall.read" />(2)
9148                   and
9149                   <see cref="M:Mono.Unix.Native.Syscall.readv" />(2)
9150                   system calls.
9151                 </para>
9152               </description>
9153             </item>
9154             <item>
9155               <term>
9156                 <c>st_mtime</c>
9157               </term>
9158               <description>
9159                 <para>
9160                   Time when file data last modified.
9161                   Changed by the
9162                   <see cref="M:Mono.Unix.Native.Syscall.mkdir" />(2) ,
9163                   <see cref="M:Mono.Unix.Native.Syscall.mkfifo" />(2) ,
9164                   <see cref="M:Mono.Unix.Native.Syscall.mknod" />(2) ,
9165                   <see cref="M:Mono.Unix.Native.Syscall.utimes" />(2) ,
9166                   <see cref="M:Mono.Unix.Native.Syscall.write" />(2)
9167                   and
9168                   <see cref="M:Mono.Unix.Native.Syscall.writev" />(2)
9169                   system calls.
9170                 </para>
9171               </description>
9172             </item>
9173             <item>
9174               <term>
9175                 <c>st_ctime</c>
9176               </term>
9177               <description>
9178                 <para>
9179                   Time when file status was last changed (inode data modification).
9180                   Changed by the
9181                   <see cref="M:Mono.Unix.Native.Syscall.chflags" />(2) ,
9182                   <see cref="M:Mono.Unix.Native.Syscall.chmod" />(2) ,
9183                   <see cref="M:Mono.Unix.Native.Syscall.chown" />(2) ,
9184                   <see cref="M:Mono.Unix.Native.Syscall.creat" />(2) ,
9185                   <see cref="M:Mono.Unix.Native.Syscall.link" />(2) ,
9186                   <see cref="M:Mono.Unix.Native.Syscall.mkdir" />(2) ,
9187                   <see cref="M:Mono.Unix.Native.Syscall.mkfifo" />(2) ,
9188                   <see cref="M:Mono.Unix.Native.Syscall.mknod" />(2) ,
9189                   <see cref="M:Mono.Unix.Native.Syscall.rename" />(2) ,
9190                   <see cref="M:Mono.Unix.Native.Syscall.rmdir" />(2) ,
9191                   <see cref="M:Mono.Unix.Native.Syscall.symlink" />(2) ,
9192                   <see cref="M:Mono.Unix.Native.Syscall.truncate" />(2) ,
9193                   <see cref="M:Mono.Unix.Native.Syscall.unlink" />(2) ,
9194                   <see cref="M:Mono.Unix.Native.Syscall.utimes" />(2) ,
9195                   <see cref="M:Mono.Unix.Native.Syscall.write" />(2)
9196                   and
9197                   <see cref="M:Mono.Unix.Native.Syscall.writev" />(2)
9198                   system calls.
9199                 </para>
9200               </description>
9201             </item>
9202             <item>
9203               <term>
9204                 <c>st_birthtime</c>
9205               </term>
9206               <description>
9207                 <para>
9208                   Time when the inode was created.
9209                 </para>
9210               </description>
9211             </item>
9212           </list>
9213           <para>
9214           </para>
9215           <para>
9216             If <c>_POSIX_SOURCE</c>
9217             is not defined, the time-related fields are defined as:
9218           </para>
9219           <block subset="none" type="usage">
9220             <para>#ifndef _POSIX_SOURCE</para>
9221             <para>#define st_atime st_atimespec.tv_sec</para>
9222             <para>#define st_mtime st_mtimespec.tv_sec</para>
9223             <para>#define st_ctime st_ctimespec.tv_sec</para>
9224             <para>#endif</para>
9225           </block>
9226           <para>
9227           </para>
9228           <para>
9229             The size-related fields of the
9230             Vt "struct stat"            are as follows:
9231           </para>
9232           <list type="table">
9233             <item>
9234               <term>
9235                 <c>st_size</c>
9236               </term>
9237               <description>
9238                 <para>
9239                   The file size in bytes.
9240                 </para>
9241               </description>
9242             </item>
9243             <item>
9244               <term>
9245                 <c>st_blksize</c>
9246               </term>
9247               <description>
9248                 <para>
9249                   The optimal I/O block size for the file.
9250                 </para>
9251               </description>
9252             </item>
9253             <item>
9254               <term>
9255                 <c>st_blocks</c>
9256               </term>
9257               <description>
9258                 <para>
9259                   The actual number of blocks allocated for the file in 512-byte units.
9260                   As short symbolic links are stored in the inode, this number may
9261                   be zero.
9262                 </para>
9263               </description>
9264             </item>
9265           </list>
9266           <para>
9267           </para>
9268           <para>
9269             The access-related fields of
9270             Vt "struct stat"            are as follows:
9271           </para>
9272           <list type="table">
9273             <item>
9274               <term>
9275                 <c>st_uid</c>
9276               </term>
9277               <description>
9278                 <para>
9279                   The user ID of the file's owner.
9280                 </para>
9281               </description>
9282             </item>
9283             <item>
9284               <term>
9285                 <c>st_gid</c>
9286               </term>
9287               <description>
9288                 <para>
9289                   The group ID of the file.
9290                 </para>
9291               </description>
9292             </item>
9293             <item>
9294               <term>
9295                 <c>st_mode</c>
9296               </term>
9297               <description>
9298                 <para>
9299                   Status of the file (see below).
9300                 </para>
9301               </description>
9302             </item>
9303           </list>
9304           <para>
9305           </para>
9306           <para>
9307             The status information word
9308             <paramref name="st_mode" />
9309             has the following bits:
9310           </para>
9311           <block subset="none" type="usage">
9312             <para>#define S_IFMT   0170000  /* type of file */</para>
9313             <para>#define S_IFIFO  0010000  /* named pipe (fifo) */</para>
9314             <para>#define S_IFCHR  0020000  /* character special */</para>
9315             <para>#define S_IFDIR  0040000  /* directory */</para>
9316             <para>#define S_IFBLK  0060000  /* block special */</para>
9317             <para>#define S_IFREG  0100000  /* regular */</para>
9318             <para>#define S_IFLNK  0120000  /* symbolic link */</para>
9319             <para>#define S_IFSOCK 0140000  /* socket */</para>
9320             <para>#define S_IFWHT  0160000  /* whiteout */</para>
9321             <para>#define S_ISUID  0004000  /* set user id on execution */</para>
9322             <para>#define S_ISGID  0002000  /* set group id on execution */</para>
9323             <para>#define S_ISVTX  0001000  /* save swapped text even after use
9324 */</para>
9325             <para>#define S_IRUSR  0000400  /* read permission, owner */</para>
9326             <para>#define S_IWUSR  0000200  /* write permission, owner */</para>
9327             <para>#define S_IXUSR  0000100  /* execute/search permission, owner
9328 */</para>
9329           </block>
9330           <para>
9331           </para>
9332           <para>
9333             For a list of access modes, see
9334             <c>sys/stat.h</c> ,
9335             <see cref="M:Mono.Unix.Native.Syscall.access" />(2)
9336             and
9337             <see cref="M:Mono.Unix.Native.Syscall.chmod" />(2) .
9338             The following macros are available to test whether a
9339             <c>st_mode</c>
9340             value passed in the
9341             <paramref name="m" />
9342             argument corresponds to a file of the specified type:
9343           </para>
9344           <list type="table">
9345             <item>
9346               <term>
9347                 <c>S_ISBLK</c>()m
9348               </term>
9349               <description>
9350                 <para>
9351                   Test for a block special file.
9352                 </para>
9353               </description>
9354             </item>
9355             <item>
9356               <term>
9357                 <c>S_ISCHR</c>()m
9358               </term>
9359               <description>
9360                 <para>
9361                   Test for a character special file.
9362                 </para>
9363               </description>
9364             </item>
9365             <item>
9366               <term>
9367                 <c>S_ISDIR</c>()m
9368               </term>
9369               <description>
9370                 <para>
9371                   Test for a directory.
9372                 </para>
9373               </description>
9374             </item>
9375             <item>
9376               <term>
9377                 <c>S_ISFIFO</c>()m
9378               </term>
9379               <description>
9380                 <para>
9381                   Test for a pipe or FIFO special file.
9382                 </para>
9383               </description>
9384             </item>
9385             <item>
9386               <term>
9387                 <c>S_ISLNK</c>()m
9388               </term>
9389               <description>
9390                 <para>
9391                   Test for a symbolic link.
9392                 </para>
9393               </description>
9394             </item>
9395             <item>
9396               <term>
9397                 <c>S_ISREG</c>()m
9398               </term>
9399               <description>
9400                 <para>
9401                   Test for a regular file.
9402                 </para>
9403               </description>
9404             </item>
9405             <item>
9406               <term>
9407                 <c>S_ISSOCK</c>()m
9408               </term>
9409               <description>
9410                 <para>
9411                   Test for a socket.
9412                 </para>
9413               </description>
9414             </item>
9415             <item>
9416               <term>
9417                 <c>S_ISWHT</c>()m
9418               </term>
9419               <description>
9420                 <para>
9421                   Test for a whiteout.
9422                 </para>
9423               </description>
9424             </item>
9425           </list>
9426           <para>
9427           </para>
9428           <para>
9429             The macros evaluate to a non-zero value if the test is true
9430             or to the value 0 if the test is false.
9431           </para>
9432         </remarks>
9433         <altmember cref="M:Mono.Unix.Native.Syscall.access" />
9434         <altmember cref="M:Mono.Unix.Native.Syscall.chmod" />
9435         <altmember cref="M:Mono.Unix.Native.Syscall.chown" />
9436         <altmember cref="M:Mono.Unix.Native.Syscall.utimes" />
9437       </Docs>
9438     </Member>
9439     <Member MemberName="statvfs">
9440       <MemberSignature Language="C#" Value="public static int statvfs (string path, out Mono.Unix.Native.Statvfs buf);" />
9441       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_statvfs&quot; winapi lasterr)int32 statvfs(string path, valuetype Mono.Unix.Native.Statvfs buf) cil managed" />
9442       <MemberType>Method</MemberType>
9443       <AssemblyInfo>
9444         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9445         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9446         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9447       </AssemblyInfo>
9448       <ReturnValue>
9449         <ReturnType>System.Int32</ReturnType>
9450       </ReturnValue>
9451       <Parameters>
9452         <Parameter Name="path" Type="System.String" />
9453         <Parameter Name="buf" Type="Mono.Unix.Native.Statvfs&amp;" RefType="out" />
9454       </Parameters>
9455       <Docs>
9456         <param name="path">To be added.</param>
9457         <param name="buf">To be added.</param>
9458         <summary>To be added.</summary>
9459         <returns>To be added.</returns>
9460         <remarks>To be added.</remarks>
9461       </Docs>
9462     </Member>
9463     <Member MemberName="stime">
9464       <MemberSignature Language="C#" Value="public static int stime (ref long t);" />
9465       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_stime&quot; winapi lasterr)int32 stime(int64 t) cil managed" />
9466       <MemberType>Method</MemberType>
9467       <AssemblyInfo>
9468         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9469         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9470         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9471       </AssemblyInfo>
9472       <ReturnValue>
9473         <ReturnType>System.Int32</ReturnType>
9474       </ReturnValue>
9475       <Parameters>
9476         <Parameter Name="t" Type="System.Int64&amp;" RefType="ref" />
9477       </Parameters>
9478       <Docs>
9479         <param name="t">To be added.</param>
9480         <summary>To be added.</summary>
9481         <returns>To be added.</returns>
9482         <remarks>To be added.</remarks>
9483       </Docs>
9484     </Member>
9485     <Member MemberName="strerror_r">
9486       <MemberSignature Language="C#" Value="public static int strerror_r (Mono.Unix.Native.Errno errnum, System.Text.StringBuilder buf);" />
9487       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 strerror_r(valuetype Mono.Unix.Native.Errno errnum, class System.Text.StringBuilder buf) cil managed" />
9488       <MemberType>Method</MemberType>
9489       <AssemblyInfo>
9490         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9491         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9492         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9493       </AssemblyInfo>
9494       <ReturnValue>
9495         <ReturnType>System.Int32</ReturnType>
9496       </ReturnValue>
9497       <Parameters>
9498         <Parameter Name="errnum" Type="Mono.Unix.Native.Errno" />
9499         <Parameter Name="buf" Type="System.Text.StringBuilder" />
9500       </Parameters>
9501       <Docs>
9502         <param name="errnum">To be added.</param>
9503         <param name="buf">To be added.</param>
9504         <summary>Thread-safe version of <see cref="M:Mono.Unix.Native.Stdlib.strerror" />.</summary>
9505         <returns>To be added.</returns>
9506         <remarks>To be added.</remarks>
9507       </Docs>
9508     </Member>
9509     <Member MemberName="strerror_r">
9510       <MemberSignature Language="C#" Value="public static int strerror_r (Mono.Unix.Native.Errno errnum, System.Text.StringBuilder buf, ulong n);" />
9511       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 strerror_r(valuetype Mono.Unix.Native.Errno errnum, class System.Text.StringBuilder buf, unsigned int64 n) cil managed" />
9512       <MemberType>Method</MemberType>
9513       <AssemblyInfo>
9514         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9515         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9516         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9517       </AssemblyInfo>
9518       <ReturnValue>
9519         <ReturnType>System.Int32</ReturnType>
9520       </ReturnValue>
9521       <Parameters>
9522         <Parameter Name="errnum" Type="Mono.Unix.Native.Errno" />
9523         <Parameter Name="buf" Type="System.Text.StringBuilder" />
9524         <Parameter Name="n" Type="System.UInt64" />
9525       </Parameters>
9526       <Docs>
9527         <param name="errnum">To be added.</param>
9528         <param name="buf">To be added.</param>
9529         <param name="n">To be added.</param>
9530         <summary>Thread-safe version of <see cref="M:Mono.Unix.Native.Stdlib.strerror" />.</summary>
9531         <returns>To be added.</returns>
9532         <remarks>To be added.</remarks>
9533       </Docs>
9534     </Member>
9535     <Member MemberName="strsignal">
9536       <MemberSignature Language="C#" Value="public static string strsignal (Mono.Unix.Native.Signum sig);" />
9537       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string strsignal(valuetype Mono.Unix.Native.Signum sig) cil managed" />
9538       <MemberType>Method</MemberType>
9539       <AssemblyInfo>
9540         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9541         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9542         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9543       </AssemblyInfo>
9544       <ReturnValue>
9545         <ReturnType>System.String</ReturnType>
9546       </ReturnValue>
9547       <Parameters>
9548         <Parameter Name="sig" Type="Mono.Unix.Native.Signum" />
9549       </Parameters>
9550       <Docs>
9551         <param name="sig">To be added.</param>
9552         <summary>To be added.</summary>
9553         <returns>To be added.</returns>
9554         <remarks>To be added.</remarks>
9555       </Docs>
9556     </Member>
9557     <Member MemberName="swab">
9558       <MemberSignature Language="C#" Value="public static int swab (IntPtr from, IntPtr to, long n);" />
9559       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_swab&quot; winapi lasterr)int32 swab(native int from, native int to, int64 n) cil managed" />
9560       <MemberType>Method</MemberType>
9561       <AssemblyInfo>
9562         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9563         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9564         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9565       </AssemblyInfo>
9566       <ReturnValue>
9567         <ReturnType>System.Int32</ReturnType>
9568       </ReturnValue>
9569       <Parameters>
9570         <Parameter Name="from" Type="System.IntPtr" />
9571         <Parameter Name="to" Type="System.IntPtr" />
9572         <Parameter Name="n" Type="System.Int64" />
9573       </Parameters>
9574       <Docs>
9575         <param name="from">To be added.</param>
9576         <param name="to">To be added.</param>
9577         <param name="n">To be added.</param>
9578         <summary>To be added.</summary>
9579         <returns>To be added.</returns>
9580         <remarks>To be added.</remarks>
9581       </Docs>
9582     </Member>
9583     <Member MemberName="swab">
9584       <MemberSignature Language="C#" Value="public static void swab (void* from, void* to, long n);" />
9585       <MemberSignature Language="ILAsm" Value=".method public static hidebysig void swab(void* from, void* to, int64 n) cil managed" />
9586       <MemberType>Method</MemberType>
9587       <AssemblyInfo>
9588         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9589         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9590         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9591       </AssemblyInfo>
9592       <ReturnValue>
9593         <ReturnType>System.Void</ReturnType>
9594       </ReturnValue>
9595       <Parameters>
9596         <Parameter Name="from" Type="System.Void*" />
9597         <Parameter Name="to" Type="System.Void*" />
9598         <Parameter Name="n" Type="System.Int64" />
9599       </Parameters>
9600       <Docs>
9601         <param name="from">To be added.</param>
9602         <param name="to">To be added.</param>
9603         <param name="n">To be added.</param>
9604         <summary>To be added.</summary>
9605         <remarks>To be added.</remarks>
9606       </Docs>
9607     </Member>
9608     <Member MemberName="symlink">
9609       <MemberSignature Language="C#" Value="public static int symlink (string oldpath, string newpath);" />
9610       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;symlink&quot; winapi lasterr)int32 symlink(string oldpath, string newpath) cil managed" />
9611       <MemberType>Method</MemberType>
9612       <AssemblyInfo>
9613         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9614         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9615         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9616       </AssemblyInfo>
9617       <ReturnValue>
9618         <ReturnType>System.Int32</ReturnType>
9619       </ReturnValue>
9620       <Parameters>
9621         <Parameter Name="oldpath" Type="System.String" />
9622         <Parameter Name="newpath" Type="System.String" />
9623       </Parameters>
9624       <Docs>
9625         <param name="oldpath">To be added.</param>
9626         <param name="newpath">To be added.</param>
9627         <summary>Create a symbolic link from oldpath to newpath.</summary>
9628         <returns>
9629           <para>
9630             On success, zero is returned.
9631             On error, -1 is returned and 
9632             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
9633             returns the translated error.
9634           </para>
9635           <block subset="none" type="usage">
9636             <para>
9637               The symbolic link succeeds unless:
9638             </para>
9639             <list type="table">
9640               <listheader>
9641                 <term>
9642                   Error
9643                 </term>
9644                 <description>
9645                   Details
9646                 </description>
9647               </listheader>
9648               <item>
9649                 <term>
9650                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
9651                 </term>
9652                 <description>
9653                   <para>
9654                     A component of the
9655                     <paramref name="name2" /> 
9656                     prefix is not a directory.
9657                   </para>
9658                 </description>
9659               </item>
9660               <item>
9661                 <term>
9662                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
9663                 </term>
9664                 <description>
9665                   <para>
9666                     A component of either pathname exceeded 255 characters,
9667                     or the entire length of either path name exceeded 1023 characters.
9668                   </para>
9669                 </description>
9670               </item>
9671               <item>
9672                 <term>
9673                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
9674                 </term>
9675                 <description>
9676                   <para>
9677                     The named file does not exist.
9678                   </para>
9679                 </description>
9680               </item>
9681               <item>
9682                 <term>
9683                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
9684                 </term>
9685                 <description>
9686                   <para>
9687                     A component of the
9688                     <paramref name="name2" /> 
9689                     path prefix denies search permission.
9690                   </para>
9691                 </description>
9692               </item>
9693               <item>
9694                 <term>
9695                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
9696                 </term>
9697                 <description>
9698                   <para>
9699                     Too many symbolic links were encountered in translating the pathname.
9700                   </para>
9701                 </description>
9702               </item>
9703               <item>
9704                 <term>
9705                   <see cref="F:Mono.Unix.Native.Errno.EEXIST" />
9706                 </term>
9707                 <description>
9708                   <para>
9709                     The path name pointed at by the
9710                     <paramref name="name2" /> 
9711                     argument
9712                     already exists.
9713                   </para>
9714                 </description>
9715               </item>
9716               <item>
9717                 <term>
9718                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
9719                 </term>
9720                 <description>
9721                   <para>
9722                     An I/O error occurred while making the directory entry for
9723                     <paramref name="name2" /> ,
9724                     or allocating the inode for
9725                     <paramref name="name2" /> ,
9726                     or writing out the link contents of
9727                     <paramref name="name2" /> .
9728                   </para>
9729                 </description>
9730               </item>
9731               <item>
9732                 <term>
9733                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
9734                 </term>
9735                 <description>
9736                   <para>
9737                     The file
9738                     <paramref name="name2" /> 
9739                     would reside on a read-only file system.
9740                   </para>
9741                 </description>
9742               </item>
9743               <item>
9744                 <term>
9745                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
9746                 </term>
9747                 <description>
9748                   <para>
9749                     The directory in which the entry for the new symbolic link is being placed
9750                     cannot be extended because there is no space left on the file
9751                     system containing the directory.
9752                   </para>
9753                 </description>
9754               </item>
9755               <item>
9756                 <term>
9757                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
9758                 </term>
9759                 <description>
9760                   <para>
9761                     The new symbolic link cannot be created because
9762                     there is no space left on the file
9763                     system that will contain the symbolic link.
9764                   </para>
9765                 </description>
9766               </item>
9767               <item>
9768                 <term>
9769                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
9770                 </term>
9771                 <description>
9772                   <para>
9773                     There are no free inodes on the file system on which the
9774                     symbolic link is being created.
9775                   </para>
9776                 </description>
9777               </item>
9778               <item>
9779                 <term>
9780                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
9781                 </term>
9782                 <description>
9783                   <para>
9784                     The directory in which the entry for the new symbolic link
9785                     is being placed cannot be extended because the
9786                     user's quota of disk blocks on the file system
9787                     containing the directory has been exhausted.
9788                   </para>
9789                 </description>
9790               </item>
9791               <item>
9792                 <term>
9793                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
9794                 </term>
9795                 <description>
9796                   <para>
9797                     The new symbolic link cannot be created because the user's
9798                     quota of disk blocks on the file system that will
9799                     contain the symbolic link has been exhausted.
9800                   </para>
9801                 </description>
9802               </item>
9803               <item>
9804                 <term>
9805                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
9806                 </term>
9807                 <description>
9808                   <para>
9809                     The user's quota of inodes on the file system on
9810                     which the symbolic link is being created has been exhausted.
9811                   </para>
9812                 </description>
9813               </item>
9814               <item>
9815                 <term>
9816                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
9817                 </term>
9818                 <description>
9819                   <para>
9820                     An I/O error occurred while making the directory entry or allocating the inode.
9821                   </para>
9822                 </description>
9823               </item>
9824               <item>
9825                 <term>
9826                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
9827                 </term>
9828                 <description>
9829                   <para>
9830                     The
9831                     <paramref name="name1" /> 
9832                     or
9833                     <paramref name="name2" /> 
9834                     argument
9835                     points outside the process's allocated address space.
9836                   </para>
9837                 </description>
9838               </item>
9839             </list>
9840             <para>
9841             </para>
9842           </block>
9843         </returns>
9844         <remarks>
9845           <para>
9846             A symbolic link
9847             <paramref name="newpath" /> 
9848             is created to
9849             <paramref name="oldpath" /> .
9850             <paramref name="newpath" /> 
9851             is the name of the
9852             file created,
9853             <paramref name="oldpath" /> 
9854             is the string
9855             used in creating the symbolic link).
9856             Either name may be an arbitrary path name; the files need not
9857             be on the same file system.
9858           </para>
9859         </remarks>
9860         <altmember cref="M:Mono.Unix.Native.Syscall.lstat" />
9861         <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
9862         <altmember cref="M:Mono.Unix.Native.Syscall.symlink" />
9863       </Docs>
9864     </Member>
9865     <Member MemberName="sync">
9866       <MemberSignature Language="C#" Value="public static int sync ();" />
9867       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_sync&quot; winapi lasterr)int32 sync() cil managed" />
9868       <MemberType>Method</MemberType>
9869       <AssemblyInfo>
9870         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9871         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9872         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9873       </AssemblyInfo>
9874       <ReturnValue>
9875         <ReturnType>System.Int32</ReturnType>
9876       </ReturnValue>
9877       <Parameters />
9878       <Docs>
9879         <summary>sync forces "dirty" (modified) filesystem buffers to be written to disk.</summary>
9880         <returns>On success, zero is returned. On error, -1 is returned and errno is set.  <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" /> can be called to obtain the translated error.</returns>
9881         <remarks>The filesystem buffer cache is generally write-behind, for best performance. But since the cache is not persistent, it should be flushed periodically. A sync() call is issued by the update daemon periodically.</remarks>
9882       </Docs>
9883     </Member>
9884     <Member MemberName="sysconf">
9885       <MemberSignature Language="C#" Value="public static long sysconf (Mono.Unix.Native.SysconfName name);" />
9886       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 sysconf(valuetype Mono.Unix.Native.SysconfName name) cil managed" />
9887       <MemberType>Method</MemberType>
9888       <AssemblyInfo>
9889         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9890         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9891         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9892       </AssemblyInfo>
9893       <ReturnValue>
9894         <ReturnType>System.Int64</ReturnType>
9895       </ReturnValue>
9896       <Parameters>
9897         <Parameter Name="name" Type="Mono.Unix.Native.SysconfName" />
9898       </Parameters>
9899       <Docs>
9900         <param name="name">To be added.</param>
9901         <summary>To be added.</summary>
9902         <returns>To be added.</returns>
9903         <remarks>To be added.</remarks>
9904       </Docs>
9905     </Member>
9906     <Member MemberName="sysconf">
9907       <MemberSignature Language="C#" Value="public static long sysconf (Mono.Unix.Native.SysconfName name, Mono.Unix.Native.Errno defaultError);" />
9908       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_sysconf&quot; winapi lasterr)int64 sysconf(valuetype Mono.Unix.Native.SysconfName name, valuetype Mono.Unix.Native.Errno defaultError) cil managed" />
9909       <MemberType>Method</MemberType>
9910       <AssemblyInfo>
9911         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9912         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9913         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9914       </AssemblyInfo>
9915       <ReturnValue>
9916         <ReturnType>System.Int64</ReturnType>
9917       </ReturnValue>
9918       <Parameters>
9919         <Parameter Name="name" Type="Mono.Unix.Native.SysconfName" />
9920         <Parameter Name="defaultError" Type="Mono.Unix.Native.Errno" />
9921       </Parameters>
9922       <Docs>
9923         <param name="name">To be added.</param>
9924         <param name="defaultError">To be added.</param>
9925         <summary>To be added.</summary>
9926         <returns>To be added.</returns>
9927         <remarks>To be added.</remarks>
9928       </Docs>
9929     </Member>
9930     <Member MemberName="syslog">
9931       <MemberSignature Language="C#" Value="public static int syslog (Mono.Unix.Native.SyslogLevel level, string message);" />
9932       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 syslog(valuetype Mono.Unix.Native.SyslogLevel level, string message) cil managed" />
9933       <MemberType>Method</MemberType>
9934       <AssemblyInfo>
9935         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9936         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9937         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9938       </AssemblyInfo>
9939       <ReturnValue>
9940         <ReturnType>System.Int32</ReturnType>
9941       </ReturnValue>
9942       <Parameters>
9943         <Parameter Name="level" Type="Mono.Unix.Native.SyslogLevel" />
9944         <Parameter Name="message" Type="System.String" />
9945       </Parameters>
9946       <Docs>
9947         <param name="level">To be added.</param>
9948         <param name="message">To be added.</param>
9949         <summary>To be added.</summary>
9950         <returns>To be added.</returns>
9951         <remarks>To be added.</remarks>
9952       </Docs>
9953     </Member>
9954     <Member MemberName="syslog">
9955       <MemberSignature Language="C#" Value="public static int syslog (Mono.Unix.Native.SyslogFacility facility, Mono.Unix.Native.SyslogLevel level, string message);" />
9956       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 syslog(valuetype Mono.Unix.Native.SyslogFacility facility, valuetype Mono.Unix.Native.SyslogLevel level, string message) cil managed" />
9957       <MemberType>Method</MemberType>
9958       <AssemblyInfo>
9959         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9960         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9961         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9962       </AssemblyInfo>
9963       <ReturnValue>
9964         <ReturnType>System.Int32</ReturnType>
9965       </ReturnValue>
9966       <Parameters>
9967         <Parameter Name="facility" Type="Mono.Unix.Native.SyslogFacility" />
9968         <Parameter Name="level" Type="Mono.Unix.Native.SyslogLevel" />
9969         <Parameter Name="message" Type="System.String" />
9970       </Parameters>
9971       <Docs>
9972         <param name="facility">To be added.</param>
9973         <param name="level">To be added.</param>
9974         <param name="message">To be added.</param>
9975         <summary>To be added.</summary>
9976         <returns>To be added.</returns>
9977         <remarks>To be added.</remarks>
9978       </Docs>
9979     </Member>
9980     <Member MemberName="syslog">
9981       <MemberSignature Language="C#" Value="public static int syslog (Mono.Unix.Native.SyslogLevel level, string format, object[] parameters);" />
9982       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 syslog(valuetype Mono.Unix.Native.SyslogLevel level, string format, object[] parameters) cil managed" />
9983       <MemberType>Method</MemberType>
9984       <AssemblyInfo>
9985         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
9986         <AssemblyVersion>2.0.0.0</AssemblyVersion>
9987         <AssemblyVersion>4.0.0.0</AssemblyVersion>
9988       </AssemblyInfo>
9989       <Attributes>
9990         <Attribute>
9991           <AttributeName>System.Obsolete("Not necessarily portable due to cdecl restrictions.
9992 Use syslog(SyslogLevel, string) instead.")</AttributeName>
9993         </Attribute>
9994       </Attributes>
9995       <ReturnValue>
9996         <ReturnType>System.Int32</ReturnType>
9997       </ReturnValue>
9998       <Parameters>
9999         <Parameter Name="level" Type="Mono.Unix.Native.SyslogLevel" />
10000         <Parameter Name="format" Type="System.String" />
10001         <Parameter Name="parameters" Type="System.Object[]">
10002           <Attributes>
10003             <Attribute>
10004               <AttributeName>System.ParamArray</AttributeName>
10005             </Attribute>
10006           </Attributes>
10007         </Parameter>
10008       </Parameters>
10009       <Docs>
10010         <param name="level">To be added.</param>
10011         <param name="format">To be added.</param>
10012         <param name="parameters">To be added.</param>
10013         <summary>To be added.</summary>
10014         <returns>To be added.</returns>
10015         <remarks>To be added.</remarks>
10016       </Docs>
10017     </Member>
10018     <Member MemberName="syslog">
10019       <MemberSignature Language="C#" Value="public static int syslog (Mono.Unix.Native.SyslogFacility facility, Mono.Unix.Native.SyslogLevel level, string format, object[] parameters);" />
10020       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 syslog(valuetype Mono.Unix.Native.SyslogFacility facility, valuetype Mono.Unix.Native.SyslogLevel level, string format, object[] parameters) cil managed" />
10021       <MemberType>Method</MemberType>
10022       <AssemblyInfo>
10023         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10024         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10025         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10026       </AssemblyInfo>
10027       <Attributes>
10028         <Attribute>
10029           <AttributeName>System.Obsolete("Not necessarily portable due to cdecl restrictions.
10030 Use syslog(SyslogFacility, SyslogLevel, string) instead.")</AttributeName>
10031         </Attribute>
10032       </Attributes>
10033       <ReturnValue>
10034         <ReturnType>System.Int32</ReturnType>
10035       </ReturnValue>
10036       <Parameters>
10037         <Parameter Name="facility" Type="Mono.Unix.Native.SyslogFacility" />
10038         <Parameter Name="level" Type="Mono.Unix.Native.SyslogLevel" />
10039         <Parameter Name="format" Type="System.String" />
10040         <Parameter Name="parameters" Type="System.Object[]">
10041           <Attributes>
10042             <Attribute>
10043               <AttributeName>System.ParamArray</AttributeName>
10044             </Attribute>
10045           </Attributes>
10046         </Parameter>
10047       </Parameters>
10048       <Docs>
10049         <param name="facility">To be added.</param>
10050         <param name="level">To be added.</param>
10051         <param name="format">To be added.</param>
10052         <param name="parameters">To be added.</param>
10053         <summary>To be added.</summary>
10054         <returns>To be added.</returns>
10055         <remarks>To be added.</remarks>
10056       </Docs>
10057     </Member>
10058     <Member MemberName="tcgetpgrp">
10059       <MemberSignature Language="C#" Value="public static int tcgetpgrp (int fd);" />
10060       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;tcgetpgrp&quot; winapi lasterr)int32 tcgetpgrp(int32 fd) cil managed" />
10061       <MemberType>Method</MemberType>
10062       <AssemblyInfo>
10063         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10064         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10065         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10066       </AssemblyInfo>
10067       <ReturnValue>
10068         <ReturnType>System.Int32</ReturnType>
10069       </ReturnValue>
10070       <Parameters>
10071         <Parameter Name="fd" Type="System.Int32" />
10072       </Parameters>
10073       <Docs>
10074         <param name="fd">To be added.</param>
10075         <summary>To be added.</summary>
10076         <returns>To be added.</returns>
10077         <remarks>To be added.</remarks>
10078       </Docs>
10079     </Member>
10080     <Member MemberName="tcsetpgrp">
10081       <MemberSignature Language="C#" Value="public static int tcsetpgrp (int fd, int pgrp);" />
10082       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;tcsetpgrp&quot; winapi lasterr)int32 tcsetpgrp(int32 fd, int32 pgrp) cil managed" />
10083       <MemberType>Method</MemberType>
10084       <AssemblyInfo>
10085         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10086         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10087         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10088       </AssemblyInfo>
10089       <ReturnValue>
10090         <ReturnType>System.Int32</ReturnType>
10091       </ReturnValue>
10092       <Parameters>
10093         <Parameter Name="fd" Type="System.Int32" />
10094         <Parameter Name="pgrp" Type="System.Int32" />
10095       </Parameters>
10096       <Docs>
10097         <param name="fd">To be added.</param>
10098         <param name="pgrp">To be added.</param>
10099         <summary>To be added.</summary>
10100         <returns>To be added.</returns>
10101         <remarks>To be added.</remarks>
10102       </Docs>
10103     </Member>
10104     <Member MemberName="telldir">
10105       <MemberSignature Language="C#" Value="public static long telldir (IntPtr dir);" />
10106       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_telldir&quot; winapi lasterr)int64 telldir(native int dir) cil managed" />
10107       <MemberType>Method</MemberType>
10108       <AssemblyInfo>
10109         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10110         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10111         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10112       </AssemblyInfo>
10113       <ReturnValue>
10114         <ReturnType>System.Int64</ReturnType>
10115       </ReturnValue>
10116       <Parameters>
10117         <Parameter Name="dir" Type="System.IntPtr" />
10118       </Parameters>
10119       <Docs>
10120         <param name="dir">To be added.</param>
10121         <summary>To be added.</summary>
10122         <returns>To be added.</returns>
10123         <remarks>To be added.</remarks>
10124       </Docs>
10125     </Member>
10126     <Member MemberName="time">
10127       <MemberSignature Language="C#" Value="public static long time (out long t);" />
10128       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_time&quot; winapi lasterr)int64 time(int64 t) cil managed" />
10129       <MemberType>Method</MemberType>
10130       <AssemblyInfo>
10131         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10132         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10133         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10134       </AssemblyInfo>
10135       <ReturnValue>
10136         <ReturnType>System.Int64</ReturnType>
10137       </ReturnValue>
10138       <Parameters>
10139         <Parameter Name="t" Type="System.Int64&amp;" RefType="out" />
10140       </Parameters>
10141       <Docs>
10142         <param name="t">To be added.</param>
10143         <summary>To be added.</summary>
10144         <returns>To be added.</returns>
10145         <remarks>To be added.</remarks>
10146       </Docs>
10147     </Member>
10148     <Member MemberName="truncate">
10149       <MemberSignature Language="C#" Value="public static int truncate (string path, long length);" />
10150       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_truncate&quot; winapi lasterr)int32 truncate(string path, int64 length) cil managed" />
10151       <MemberType>Method</MemberType>
10152       <AssemblyInfo>
10153         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10154         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10155         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10156       </AssemblyInfo>
10157       <ReturnValue>
10158         <ReturnType>System.Int32</ReturnType>
10159       </ReturnValue>
10160       <Parameters>
10161         <Parameter Name="path" Type="System.String" />
10162         <Parameter Name="length" Type="System.Int64" />
10163       </Parameters>
10164       <Docs>
10165         <param name="path">To be added.</param>
10166         <param name="length">To be added.</param>
10167         <summary>Truncate or extend a file to a specified length.</summary>
10168         <returns>
10169           <para>
10170             On success, zero is returned.
10171             On error, -1 is returned and 
10172             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
10173             returns the translated error.
10174           </para>
10175           <block subset="none" type="usage">
10176             <para>
10177               The
10178               <c>truncate</c>()
10179               system call
10180               succeeds unless:
10181             </para>
10182             <list type="table">
10183               <listheader>
10184                 <term>
10185                   Error
10186                 </term>
10187                 <description>
10188                   Details
10189                 </description>
10190               </listheader>
10191               <item>
10192                 <term>
10193                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
10194                 </term>
10195                 <description>
10196                   <para>
10197                     A component of the path prefix is not a directory.
10198                   </para>
10199                 </description>
10200               </item>
10201               <item>
10202                 <term>
10203                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
10204                 </term>
10205                 <description>
10206                   <para>
10207                     A component of a pathname exceeded 255 characters,
10208                     or an entire path name exceeded 1023 characters.
10209                   </para>
10210                 </description>
10211               </item>
10212               <item>
10213                 <term>
10214                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
10215                 </term>
10216                 <description>
10217                   <para>
10218                     The named file does not exist.
10219                   </para>
10220                 </description>
10221               </item>
10222               <item>
10223                 <term>
10224                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
10225                 </term>
10226                 <description>
10227                   <para>
10228                     Search permission is denied for a component of the path prefix.
10229                   </para>
10230                 </description>
10231               </item>
10232               <item>
10233                 <term>
10234                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
10235                 </term>
10236                 <description>
10237                   <para>
10238                     The named file is not writable by the user.
10239                   </para>
10240                 </description>
10241               </item>
10242               <item>
10243                 <term>
10244                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
10245                 </term>
10246                 <description>
10247                   <para>
10248                     Too many symbolic links were encountered in translating the pathname.
10249                   </para>
10250                 </description>
10251               </item>
10252               <item>
10253                 <term>
10254                   <see cref="F:Mono.Unix.Native.Errno.EISDIR" />
10255                 </term>
10256                 <description>
10257                   <para>
10258                     The named file is a directory.
10259                   </para>
10260                 </description>
10261               </item>
10262               <item>
10263                 <term>
10264                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
10265                 </term>
10266                 <description>
10267                   <para>
10268                     The named file resides on a read-only file system.
10269                   </para>
10270                 </description>
10271               </item>
10272               <item>
10273                 <term>
10274                   <see cref="F:Mono.Unix.Native.Errno.ETXTBSY" />
10275                 </term>
10276                 <description>
10277                   <para>
10278                     The file is a pure procedure (shared text) file that is being executed.
10279                   </para>
10280                 </description>
10281               </item>
10282               <item>
10283                 <term>
10284                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
10285                 </term>
10286                 <description>
10287                   <para>
10288                     An I/O error occurred updating the inode.
10289                   </para>
10290                 </description>
10291               </item>
10292               <item>
10293                 <term>
10294                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
10295                 </term>
10296                 <description>
10297                   <para>
10298                     The
10299                     <paramref name="path" /> 
10300                     argument
10301                     points outside the process's allocated address space.
10302                   </para>
10303                 </description>
10304               </item>
10305             </list>
10306             <para>
10307             </para>
10308             <para>
10309               The
10310               <c>ftruncate</c>()
10311               system call
10312               succeeds unless:
10313             </para>
10314             <list type="table">
10315               <listheader>
10316                 <term>
10317                   Error
10318                 </term>
10319                 <description>
10320                   Details
10321                 </description>
10322               </listheader>
10323               <item>
10324                 <term>
10325                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
10326                 </term>
10327                 <description>
10328                   <para>
10329                     The
10330                     <paramref name="fd" /> 
10331                     argument
10332                     is not a valid descriptor.
10333                   </para>
10334                 </description>
10335               </item>
10336               <item>
10337                 <term>
10338                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
10339                 </term>
10340                 <description>
10341                   <para>
10342                     The
10343                     <paramref name="fd" /> 
10344                     argument
10345                     references a socket, not a file.
10346                   </para>
10347                 </description>
10348               </item>
10349               <item>
10350                 <term>
10351                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
10352                 </term>
10353                 <description>
10354                   <para>
10355                     The
10356                     <paramref name="fd" /> 
10357                     descriptor
10358                     is not open for writing.
10359                   </para>
10360                 </description>
10361               </item>
10362             </list>
10363             <para>
10364             </para>
10365           </block>
10366         </returns>
10367         <remarks>
10368           <para>
10369             The
10370             <c>truncate</c>()
10371             system call
10372             causes the file named by
10373             <paramref name="path" /> 
10374             or referenced by
10375             <paramref name="fd" /> 
10376             to be truncated or extended to
10377             <paramref name="length" /> 
10378             bytes in size.
10379             If the file
10380             was larger than this size, the extra data
10381             is lost.
10382             If the file was smaller than this size,
10383             it will be extended as if by writing bytes
10384             with the value zero.
10385             With
10386             <c>ftruncate</c>(),
10387             the file must be open for writing.
10388           </para>
10389         </remarks>
10390         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
10391       </Docs>
10392     </Member>
10393     <Member MemberName="ttyname">
10394       <MemberSignature Language="C#" Value="public static string ttyname (int fd);" />
10395       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string ttyname(int32 fd) cil managed" />
10396       <MemberType>Method</MemberType>
10397       <AssemblyInfo>
10398         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10399         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10400         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10401       </AssemblyInfo>
10402       <ReturnValue>
10403         <ReturnType>System.String</ReturnType>
10404       </ReturnValue>
10405       <Parameters>
10406         <Parameter Name="fd" Type="System.Int32" />
10407       </Parameters>
10408       <Docs>
10409         <param name="fd">To be added.</param>
10410         <summary>To be added.</summary>
10411         <returns>To be added.</returns>
10412         <remarks>To be added.</remarks>
10413       </Docs>
10414     </Member>
10415     <Member MemberName="ttyname_r">
10416       <MemberSignature Language="C#" Value="public static int ttyname_r (int fd, System.Text.StringBuilder buf);" />
10417       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 ttyname_r(int32 fd, class System.Text.StringBuilder buf) cil managed" />
10418       <MemberType>Method</MemberType>
10419       <AssemblyInfo>
10420         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10421         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10422         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10423       </AssemblyInfo>
10424       <ReturnValue>
10425         <ReturnType>System.Int32</ReturnType>
10426       </ReturnValue>
10427       <Parameters>
10428         <Parameter Name="fd" Type="System.Int32" />
10429         <Parameter Name="buf" Type="System.Text.StringBuilder" />
10430       </Parameters>
10431       <Docs>
10432         <param name="fd">To be added.</param>
10433         <param name="buf">To be added.</param>
10434         <summary>To be added.</summary>
10435         <returns>To be added.</returns>
10436         <remarks>To be added.</remarks>
10437       </Docs>
10438     </Member>
10439     <Member MemberName="ttyname_r">
10440       <MemberSignature Language="C#" Value="public static int ttyname_r (int fd, System.Text.StringBuilder buf, ulong buflen);" />
10441       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_ttyname_r&quot; winapi lasterr)int32 ttyname_r(int32 fd, class System.Text.StringBuilder buf, unsigned int64 buflen) cil managed" />
10442       <MemberType>Method</MemberType>
10443       <AssemblyInfo>
10444         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10445         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10446         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10447       </AssemblyInfo>
10448       <ReturnValue>
10449         <ReturnType>System.Int32</ReturnType>
10450       </ReturnValue>
10451       <Parameters>
10452         <Parameter Name="fd" Type="System.Int32" />
10453         <Parameter Name="buf" Type="System.Text.StringBuilder" />
10454         <Parameter Name="buflen" Type="System.UInt64" />
10455       </Parameters>
10456       <Docs>
10457         <param name="fd">To be added.</param>
10458         <param name="buf">To be added.</param>
10459         <param name="buflen">To be added.</param>
10460         <summary>To be added.</summary>
10461         <returns>To be added.</returns>
10462         <remarks>To be added.</remarks>
10463       </Docs>
10464     </Member>
10465     <Member MemberName="ttyslot">
10466       <MemberSignature Language="C#" Value="public static int ttyslot ();" />
10467       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;ttyslot&quot; winapi lasterr)int32 ttyslot() cil managed" />
10468       <MemberType>Method</MemberType>
10469       <AssemblyInfo>
10470         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10471         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10472         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10473       </AssemblyInfo>
10474       <ReturnValue>
10475         <ReturnType>System.Int32</ReturnType>
10476       </ReturnValue>
10477       <Parameters />
10478       <Docs>
10479         <summary>To be added.</summary>
10480         <returns>To be added.</returns>
10481         <remarks>To be added.</remarks>
10482       </Docs>
10483     </Member>
10484     <Member MemberName="ualarm">
10485       <MemberSignature Language="C#" Value="public static uint ualarm (uint usecs, uint interval);" />
10486       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;ualarm&quot; winapi lasterr)unsigned int32 ualarm(unsigned int32 usecs, unsigned int32 interval) cil managed" />
10487       <MemberType>Method</MemberType>
10488       <AssemblyInfo>
10489         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10490         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10491         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10492       </AssemblyInfo>
10493       <ReturnValue>
10494         <ReturnType>System.UInt32</ReturnType>
10495       </ReturnValue>
10496       <Parameters>
10497         <Parameter Name="usecs" Type="System.UInt32" />
10498         <Parameter Name="interval" Type="System.UInt32" />
10499       </Parameters>
10500       <Docs>
10501         <param name="usecs">To be added.</param>
10502         <param name="interval">To be added.</param>
10503         <summary>To be added.</summary>
10504         <returns>To be added.</returns>
10505         <remarks>To be added.</remarks>
10506       </Docs>
10507     </Member>
10508     <Member MemberName="umask">
10509       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.FilePermissions umask (Mono.Unix.Native.FilePermissions mask);" />
10510       <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Mono.Unix.Native.FilePermissions umask(valuetype Mono.Unix.Native.FilePermissions mask) cil managed" />
10511       <MemberType>Method</MemberType>
10512       <AssemblyInfo>
10513         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10514         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10515         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10516       </AssemblyInfo>
10517       <ReturnValue>
10518         <ReturnType>Mono.Unix.Native.FilePermissions</ReturnType>
10519       </ReturnValue>
10520       <Parameters>
10521         <Parameter Name="mask" Type="Mono.Unix.Native.FilePermissions" />
10522       </Parameters>
10523       <Docs>
10524         <param name="mask">To be added.</param>
10525         <summary>Sets new umask.</summary>
10526         <returns>Returns previous umask value.</returns>
10527         <remarks>To be added.</remarks>
10528       </Docs>
10529     </Member>
10530     <Member MemberName="uname">
10531       <MemberSignature Language="C#" Value="public static int uname (out Mono.Unix.Native.Utsname buf);" />
10532       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 uname(class Mono.Unix.Native.Utsname buf) cil managed" />
10533       <MemberType>Method</MemberType>
10534       <AssemblyInfo>
10535         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10536         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10537         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10538       </AssemblyInfo>
10539       <ReturnValue>
10540         <ReturnType>System.Int32</ReturnType>
10541       </ReturnValue>
10542       <Parameters>
10543         <Parameter Name="buf" Type="Mono.Unix.Native.Utsname&amp;" RefType="out" />
10544       </Parameters>
10545       <Docs>
10546         <param name="buf">To be added.</param>
10547         <summary>To be added.</summary>
10548         <returns>To be added.</returns>
10549         <remarks>To be added.</remarks>
10550       </Docs>
10551     </Member>
10552     <Member MemberName="unlink">
10553       <MemberSignature Language="C#" Value="public static int unlink (string pathname);" />
10554       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;unlink&quot; winapi lasterr)int32 unlink(string pathname) cil managed" />
10555       <MemberType>Method</MemberType>
10556       <AssemblyInfo>
10557         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10558         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10559         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10560       </AssemblyInfo>
10561       <ReturnValue>
10562         <ReturnType>System.Int32</ReturnType>
10563       </ReturnValue>
10564       <Parameters>
10565         <Parameter Name="pathname" Type="System.String" />
10566       </Parameters>
10567       <Docs>
10568         <param name="pathname">
10569           A <see cref="T:System.String" /> containing the directory entry to
10570           delete.
10571         </param>
10572         <summary>Deletes a link to a file.</summary>
10573         <returns>
10574           <para>
10575             On success, zero is returned.
10576             On error, -1 is returned and 
10577             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
10578             returns the translated error.
10579           </para>
10580           <block subset="none" type="usage">
10581             <para>
10582               The
10583               <c>unlink</c>()
10584               succeeds unless:
10585             </para>
10586             <list type="table">
10587               <listheader>
10588                 <term>
10589                   Error
10590                 </term>
10591                 <description>
10592                   Details
10593                 </description>
10594               </listheader>
10595               <item>
10596                 <term>
10597                   <see cref="F:Mono.Unix.Native.Errno.ENOTDIR" />
10598                 </term>
10599                 <description>
10600                   <para>
10601                     A component of the path prefix is not a directory.
10602                   </para>
10603                 </description>
10604               </item>
10605               <item>
10606                 <term>
10607                   <see cref="F:Mono.Unix.Native.Errno.ENAMETOOLONG" />
10608                 </term>
10609                 <description>
10610                   <para>
10611                     A component of a pathname exceeded 255 characters,
10612                     or an entire path name exceeded 1023 characters.
10613                   </para>
10614                 </description>
10615               </item>
10616               <item>
10617                 <term>
10618                   <see cref="F:Mono.Unix.Native.Errno.ENOENT" />
10619                 </term>
10620                 <description>
10621                   <para>
10622                     The named file does not exist.
10623                   </para>
10624                 </description>
10625               </item>
10626               <item>
10627                 <term>
10628                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
10629                 </term>
10630                 <description>
10631                   <para>
10632                     Search permission is denied for a component of the path prefix.
10633                   </para>
10634                 </description>
10635               </item>
10636               <item>
10637                 <term>
10638                   <see cref="F:Mono.Unix.Native.Errno.EACCES" />
10639                 </term>
10640                 <description>
10641                   <para>
10642                     Write permission is denied on the directory containing the link
10643                     to be removed.
10644                   </para>
10645                 </description>
10646               </item>
10647               <item>
10648                 <term>
10649                   <see cref="F:Mono.Unix.Native.Errno.ELOOP" />
10650                 </term>
10651                 <description>
10652                   <para>
10653                     Too many symbolic links were encountered in translating the pathname.
10654                   </para>
10655                 </description>
10656               </item>
10657               <item>
10658                 <term>
10659                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
10660                 </term>
10661                 <description>
10662                   <para>
10663                     The named file is a directory.
10664                   </para>
10665                 </description>
10666               </item>
10667               <item>
10668                 <term>
10669                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
10670                 </term>
10671                 <description>
10672                   <para>
10673                     The named file has its immutable or append-only
10674                     flag set, see the
10675                     <see cref="M:Mono.Unix.Native.Syscall.chflags" />(2)
10676                     manual page for more information.
10677                   </para>
10678                 </description>
10679               </item>
10680               <item>
10681                 <term>
10682                   <see cref="F:Mono.Unix.Native.Errno.EPERM" />
10683                 </term>
10684                 <description>
10685                   <para>
10686                     The directory containing the file is marked sticky,
10687                     and neither the containing directory nor the file to be removed
10688                     are owned by the effective user ID.
10689                   </para>
10690                 </description>
10691               </item>
10692               <item>
10693                 <term>
10694                   <see cref="F:Mono.Unix.Native.Errno.EBUSY" />
10695                 </term>
10696                 <description>
10697                   <para>
10698                     The entry to be unlinked is the mount point for a
10699                     mounted file system.
10700                   </para>
10701                 </description>
10702               </item>
10703               <item>
10704                 <term>
10705                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
10706                 </term>
10707                 <description>
10708                   <para>
10709                     An I/O error occurred while deleting the directory entry
10710                     or deallocating the inode.
10711                   </para>
10712                 </description>
10713               </item>
10714               <item>
10715                 <term>
10716                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
10717                 </term>
10718                 <description>
10719                   <para>
10720                     The named file resides on a read-only file system.
10721                   </para>
10722                 </description>
10723               </item>
10724               <item>
10725                 <term>
10726                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
10727                 </term>
10728                 <description>
10729                   <para>
10730                     The
10731                     <paramref name="path" /> 
10732                     argument
10733                     points outside the process's allocated address space.
10734                   </para>
10735                 </description>
10736               </item>
10737             </list>
10738             <para>
10739             </para>
10740           </block>
10741         </returns>
10742         <remarks>
10743           <para>
10744             If the file is not used and it was the last link, the file is also deleted.
10745           </para>
10746           <para>
10747             The
10748             <c>unlink</c>()
10749             system call
10750             removes the link named by
10751             <paramref name="pathname" /> 
10752             from its directory and decrements the link count of the
10753             file which was referenced by the link.
10754             If that decrement reduces the link count of the file
10755             to zero,
10756             and no process has the file open, then
10757             all resources associated with the file are reclaimed.
10758             If one or more process have the file open when the last link is removed,
10759             the link is removed, but the removal of the file is delayed until
10760             all references to it have been closed.
10761             The
10762             <paramref name="path" /> 
10763             argument
10764             may not be a directory.
10765           </para>
10766         </remarks>
10767         <altmember cref="M:Mono.Unix.Native.Syscall.chflags" />
10768         <altmember cref="M:Mono.Unix.Native.Syscall.close" />
10769         <altmember cref="M:Mono.Unix.Native.Syscall.link" />
10770         <altmember cref="M:Mono.Unix.Native.Syscall.rmdir" />
10771       </Docs>
10772     </Member>
10773     <Member MemberName="utime">
10774       <MemberSignature Language="C#" Value="public static int utime (string filename);" />
10775       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 utime(string filename) cil managed" />
10776       <MemberType>Method</MemberType>
10777       <AssemblyInfo>
10778         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10779         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10780         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10781       </AssemblyInfo>
10782       <ReturnValue>
10783         <ReturnType>System.Int32</ReturnType>
10784       </ReturnValue>
10785       <Parameters>
10786         <Parameter Name="filename" Type="System.String" />
10787       </Parameters>
10788       <Docs>
10789         <param name="filename">To be added.</param>
10790         <summary>To be added.</summary>
10791         <returns>To be added.</returns>
10792         <remarks>To be added.</remarks>
10793       </Docs>
10794     </Member>
10795     <Member MemberName="utime">
10796       <MemberSignature Language="C#" Value="public static int utime (string filename, ref Mono.Unix.Native.Utimbuf buf);" />
10797       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 utime(string filename, valuetype Mono.Unix.Native.Utimbuf buf) cil managed" />
10798       <MemberType>Method</MemberType>
10799       <AssemblyInfo>
10800         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10801         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10802         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10803       </AssemblyInfo>
10804       <ReturnValue>
10805         <ReturnType>System.Int32</ReturnType>
10806       </ReturnValue>
10807       <Parameters>
10808         <Parameter Name="filename" Type="System.String" />
10809         <Parameter Name="buf" Type="Mono.Unix.Native.Utimbuf&amp;" RefType="ref" />
10810       </Parameters>
10811       <Docs>
10812         <param name="filename">To be added.</param>
10813         <param name="buf">To be added.</param>
10814         <summary>To be added.</summary>
10815         <returns>To be added.</returns>
10816         <remarks>To be added.</remarks>
10817       </Docs>
10818     </Member>
10819     <Member MemberName="utimes">
10820       <MemberSignature Language="C#" Value="public static int utimes (string filename, Mono.Unix.Native.Timeval[] tvp);" />
10821       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 utimes(string filename, valuetype Mono.Unix.Native.Timeval[] tvp) cil managed" />
10822       <MemberType>Method</MemberType>
10823       <AssemblyInfo>
10824         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10825         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10826         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10827       </AssemblyInfo>
10828       <ReturnValue>
10829         <ReturnType>System.Int32</ReturnType>
10830       </ReturnValue>
10831       <Parameters>
10832         <Parameter Name="filename" Type="System.String" />
10833         <Parameter Name="tvp" Type="Mono.Unix.Native.Timeval[]" />
10834       </Parameters>
10835       <Docs>
10836         <param name="filename">To be added.</param>
10837         <param name="tvp">To be added.</param>
10838         <summary>To be added.</summary>
10839         <returns>To be added.</returns>
10840         <remarks>To be added.</remarks>
10841       </Docs>
10842     </Member>
10843     <Member MemberName="vhangup">
10844       <MemberSignature Language="C#" Value="public static int vhangup ();" />
10845       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;vhangup&quot; winapi lasterr)int32 vhangup() cil managed" />
10846       <MemberType>Method</MemberType>
10847       <AssemblyInfo>
10848         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10849         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10850         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10851       </AssemblyInfo>
10852       <ReturnValue>
10853         <ReturnType>System.Int32</ReturnType>
10854       </ReturnValue>
10855       <Parameters />
10856       <Docs>
10857         <summary>To be added.</summary>
10858         <returns>To be added.</returns>
10859         <remarks>To be added.</remarks>
10860       </Docs>
10861     </Member>
10862     <Member MemberName="wait">
10863       <MemberSignature Language="C#" Value="public static int wait (out int status);" />
10864       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;libc&quot; as &quot;wait&quot; winapi lasterr)int32 wait(int32 status) cil managed" />
10865       <MemberType>Method</MemberType>
10866       <AssemblyInfo>
10867         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10868         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10869         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10870       </AssemblyInfo>
10871       <ReturnValue>
10872         <ReturnType>System.Int32</ReturnType>
10873       </ReturnValue>
10874       <Parameters>
10875         <Parameter Name="status" Type="System.Int32&amp;" RefType="out" />
10876       </Parameters>
10877       <Docs>
10878         <param name="status">To be added.</param>
10879         <summary>To be added.</summary>
10880         <returns>To be added.</returns>
10881         <remarks>To be added.</remarks>
10882       </Docs>
10883     </Member>
10884     <Member MemberName="waitpid">
10885       <MemberSignature Language="C#" Value="public static int waitpid (int pid, out int status, Mono.Unix.Native.WaitOptions options);" />
10886       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 waitpid(int32 pid, int32 status, valuetype Mono.Unix.Native.WaitOptions options) cil managed" />
10887       <MemberType>Method</MemberType>
10888       <AssemblyInfo>
10889         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10890         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10891         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10892       </AssemblyInfo>
10893       <ReturnValue>
10894         <ReturnType>System.Int32</ReturnType>
10895       </ReturnValue>
10896       <Parameters>
10897         <Parameter Name="pid" Type="System.Int32" />
10898         <Parameter Name="status" Type="System.Int32&amp;" RefType="out" />
10899         <Parameter Name="options" Type="Mono.Unix.Native.WaitOptions" />
10900       </Parameters>
10901       <Docs>
10902         <param name="pid">To be added.</param>
10903         <param name="status">To be added.</param>
10904         <param name="options">To be added.</param>
10905         <summary>Wait for a child process to stop or terminate.</summary>
10906         <returns>To be added.</returns>
10907         <remarks>To be added.</remarks>
10908       </Docs>
10909     </Member>
10910     <Member MemberName="WEXITSTATUS">
10911       <MemberSignature Language="C#" Value="public static int WEXITSTATUS (int status);" />
10912       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_WEXITSTATUS&quot; winapi)int32 WEXITSTATUS(int32 status) cil managed" />
10913       <MemberType>Method</MemberType>
10914       <AssemblyInfo>
10915         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10916         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10917         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10918       </AssemblyInfo>
10919       <ReturnValue>
10920         <ReturnType>System.Int32</ReturnType>
10921       </ReturnValue>
10922       <Parameters>
10923         <Parameter Name="status" Type="System.Int32" />
10924       </Parameters>
10925       <Docs>
10926         <param name="status">The process status, as obtained through <see cref="M:Mono.Unix.Native.Syscall.wait" /> or <see cref="M:Mono.Unix.Native.Syscall.waitpid" />.</param>
10927         <summary>Returns the exit status of the process.</summary>
10928         <returns>The exit status of a process.</returns>
10929         <remarks>This can only be called if <see cref="M:Mono.Unix.Native.Syscall.WIFEXITED" /> has returned <see langword="true" />.</remarks>
10930       </Docs>
10931     </Member>
10932     <Member MemberName="WIFEXITED">
10933       <MemberSignature Language="C#" Value="public static bool WIFEXITED (int status);" />
10934       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool WIFEXITED(int32 status) cil managed" />
10935       <MemberType>Method</MemberType>
10936       <AssemblyInfo>
10937         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10938         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10939         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10940       </AssemblyInfo>
10941       <ReturnValue>
10942         <ReturnType>System.Boolean</ReturnType>
10943       </ReturnValue>
10944       <Parameters>
10945         <Parameter Name="status" Type="System.Int32" />
10946       </Parameters>
10947       <Docs>
10948         <param name="status">To be added.</param>
10949         <summary />
10950         <returns>To be added.</returns>
10951         <remarks>To be added.</remarks>
10952       </Docs>
10953     </Member>
10954     <Member MemberName="WIFSIGNALED">
10955       <MemberSignature Language="C#" Value="public static bool WIFSIGNALED (int status);" />
10956       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool WIFSIGNALED(int32 status) cil managed" />
10957       <MemberType>Method</MemberType>
10958       <AssemblyInfo>
10959         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10960         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10961         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10962       </AssemblyInfo>
10963       <ReturnValue>
10964         <ReturnType>System.Boolean</ReturnType>
10965       </ReturnValue>
10966       <Parameters>
10967         <Parameter Name="status" Type="System.Int32" />
10968       </Parameters>
10969       <Docs>
10970         <param name="status">To be added.</param>
10971         <summary>To be added.</summary>
10972         <returns>To be added.</returns>
10973         <remarks>To be added.</remarks>
10974       </Docs>
10975     </Member>
10976     <Member MemberName="WIFSTOPPED">
10977       <MemberSignature Language="C#" Value="public static bool WIFSTOPPED (int status);" />
10978       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool WIFSTOPPED(int32 status) cil managed" />
10979       <MemberType>Method</MemberType>
10980       <AssemblyInfo>
10981         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
10982         <AssemblyVersion>2.0.0.0</AssemblyVersion>
10983         <AssemblyVersion>4.0.0.0</AssemblyVersion>
10984       </AssemblyInfo>
10985       <ReturnValue>
10986         <ReturnType>System.Boolean</ReturnType>
10987       </ReturnValue>
10988       <Parameters>
10989         <Parameter Name="status" Type="System.Int32" />
10990       </Parameters>
10991       <Docs>
10992         <param name="status">To be added.</param>
10993         <summary>To be added.</summary>
10994         <returns>To be added.</returns>
10995         <remarks>To be added.</remarks>
10996       </Docs>
10997     </Member>
10998     <Member MemberName="write">
10999       <MemberSignature Language="C#" Value="public static long write (int fd, IntPtr buf, ulong count);" />
11000       <MemberSignature Language="ILAsm" Value=".method public static hidebysig pinvokeimpl (&quot;MonoPosixHelper&quot; as &quot;Mono_Posix_Syscall_write&quot; winapi lasterr)int64 write(int32 fd, native int buf, unsigned int64 count) cil managed" />
11001       <MemberType>Method</MemberType>
11002       <AssemblyInfo>
11003         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
11004         <AssemblyVersion>2.0.0.0</AssemblyVersion>
11005         <AssemblyVersion>4.0.0.0</AssemblyVersion>
11006       </AssemblyInfo>
11007       <ReturnValue>
11008         <ReturnType>System.Int64</ReturnType>
11009       </ReturnValue>
11010       <Parameters>
11011         <Parameter Name="fd" Type="System.Int32" />
11012         <Parameter Name="buf" Type="System.IntPtr" />
11013         <Parameter Name="count" Type="System.UInt64" />
11014       </Parameters>
11015       <Docs>
11016         <param name="fd">To be added.</param>
11017         <param name="buf">To be added.</param>
11018         <param name="count">To be added.</param>
11019         <summary>write writes up to 'count' bytes to the file referenced by the file descriptor 'fileDescriptor' from the buffer starting at 'buf'.</summary>
11020         <returns>
11021           <para>
11022             Upon successful completion the number of bytes which were written
11023             is returned.
11024             Otherwise a -1 is returned and the global variable
11025             <see cref="M:Mono.Unix.Native.Stdlib.GetLastError" />
11026             is set to indicate the error.
11027           </para>
11028           <block subset="none" type="usage">
11029             <para>
11030               The
11031               <c>write</c>(),
11032               <c>writev</c>(),
11033               and
11034               <c>pwrite</c>()
11035               system calls
11036               will fail and the file pointer will remain unchanged if:
11037             </para>
11038             <list type="table">
11039               <listheader>
11040                 <term>
11041                   Error
11042                 </term>
11043                 <description>
11044                   Details
11045                 </description>
11046               </listheader>
11047               <item>
11048                 <term>
11049                   <see cref="F:Mono.Unix.Native.Errno.EBADF" />
11050                 </term>
11051                 <description>
11052                   <para>
11053                     The
11054                     <paramref name="d" /> 
11055                     argument
11056                     is not a valid descriptor open for writing.
11057                   </para>
11058                 </description>
11059               </item>
11060               <item>
11061                 <term>
11062                   <see cref="F:Mono.Unix.Native.Errno.EPIPE" />
11063                 </term>
11064                 <description>
11065                   <para>
11066                     An attempt is made to write to a pipe that is not open
11067                     for reading by any process.
11068                   </para>
11069                 </description>
11070               </item>
11071               <item>
11072                 <term>
11073                   <see cref="F:Mono.Unix.Native.Errno.EPIPE" />
11074                 </term>
11075                 <description>
11076                   <para>
11077                     An attempt is made to write to a socket of type
11078                      <see cref="F:Mono.Unix.Native.Errno.SOCK_STREAM" /> 
11079                     that is not connected to a peer socket.
11080                   </para>
11081                 </description>
11082               </item>
11083               <item>
11084                 <term>
11085                   <see cref="F:Mono.Unix.Native.Errno.EFBIG" />
11086                 </term>
11087                 <description>
11088                   <para>
11089                     An attempt was made to write a file that exceeds the process's
11090                     file size limit or the maximum file size.
11091                   </para>
11092                 </description>
11093               </item>
11094               <item>
11095                 <term>
11096                   <see cref="F:Mono.Unix.Native.Errno.EFAULT" />
11097                 </term>
11098                 <description>
11099                   <para>
11100                     Part of
11101                     <paramref name="iov" /> 
11102                     or data to be written to the file
11103                     points outside the process's allocated address space.
11104                   </para>
11105                 </description>
11106               </item>
11107               <item>
11108                 <term>
11109                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
11110                 </term>
11111                 <description>
11112                   <para>
11113                     The pointer associated with
11114                     <paramref name="d" /> 
11115                     was negative.
11116                   </para>
11117                 </description>
11118               </item>
11119               <item>
11120                 <term>
11121                   <see cref="F:Mono.Unix.Native.Errno.ENOSPC" />
11122                 </term>
11123                 <description>
11124                   <para>
11125                     There is no free space remaining on the file system
11126                     containing the file.
11127                   </para>
11128                 </description>
11129               </item>
11130               <item>
11131                 <term>
11132                   <see cref="F:Mono.Unix.Native.Errno.EDQUOT" />
11133                 </term>
11134                 <description>
11135                   <para>
11136                     The user's quota of disk blocks on the file system
11137                     containing the file has been exhausted.
11138                   </para>
11139                 </description>
11140               </item>
11141               <item>
11142                 <term>
11143                   <see cref="F:Mono.Unix.Native.Errno.EIO" />
11144                 </term>
11145                 <description>
11146                   <para>
11147                     An I/O error occurred while reading from or writing to the file system.
11148                   </para>
11149                 </description>
11150               </item>
11151               <item>
11152                 <term>
11153                   <see cref="F:Mono.Unix.Native.Errno.EINTR" />
11154                 </term>
11155                 <description>
11156                   <para>
11157                     A signal interrupted the write before it could be completed.
11158                   </para>
11159                 </description>
11160               </item>
11161               <item>
11162                 <term>
11163                   <see cref="F:Mono.Unix.Native.Errno.EAGAIN" />
11164                 </term>
11165                 <description>
11166                   <para>
11167                     The file was marked for non-blocking I/O,
11168                     and no data could be written immediately.
11169                   </para>
11170                 </description>
11171               </item>
11172               <item>
11173                 <term>
11174                   <see cref="F:Mono.Unix.Native.Errno.EROFS" />
11175                 </term>
11176                 <description>
11177                   <para>
11178                     An attempt was made to write over a disk label area at the beginning
11179                     of a slice.
11180                     Use
11181                     <c>disklabel</c>(8)
11182                     Fl W                    to enable writing on the disk label area.
11183                   </para>
11184                 </description>
11185               </item>
11186             </list>
11187             <para>
11188             </para>
11189             <para>
11190               In addition,
11191               <c>writev</c>()
11192               may return one of the following errors:
11193             </para>
11194             <list type="table">
11195               <listheader>
11196                 <term>
11197                   Error
11198                 </term>
11199                 <description>
11200                   Details
11201                 </description>
11202               </listheader>
11203               <item>
11204                 <term>
11205                   <see cref="F:Mono.Unix.Native.Errno.EDESTADDRREQ" />
11206                 </term>
11207                 <description>
11208                   <para>
11209                     The destination is no longer available when writing to a
11210                     Ux                    domain datagram socket on which
11211                     <see cref="M:Mono.Unix.Native.Syscall.connect" />(2)
11212                     had been used to set a destination address.
11213                   </para>
11214                 </description>
11215               </item>
11216               <item>
11217                 <term>
11218                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
11219                 </term>
11220                 <description>
11221                   <para>
11222                     The
11223                     <paramref name="iovcnt" /> 
11224                     argument
11225                     was less than or equal to 0, or greater than
11226                      <see cref="F:Mono.Unix.Native.TODO.IOV_MAX" />  .
11227                   </para>
11228                 </description>
11229               </item>
11230               <item>
11231                 <term>
11232                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
11233                 </term>
11234                 <description>
11235                   <para>
11236                     One of the
11237                     <paramref name="iov_len" /> 
11238                     values in the
11239                     <paramref name="iov" /> 
11240                     array was negative.
11241                   </para>
11242                 </description>
11243               </item>
11244               <item>
11245                 <term>
11246                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
11247                 </term>
11248                 <description>
11249                   <para>
11250                     The sum of the
11251                     <paramref name="iov_len" /> 
11252                     values in the
11253                     <paramref name="iov" /> 
11254                     array overflowed a 32-bit integer.
11255                   </para>
11256                 </description>
11257               </item>
11258               <item>
11259                 <term>
11260                   <see cref="F:Mono.Unix.Native.Errno.ENOBUFS" />
11261                 </term>
11262                 <description>
11263                   <para>
11264                     The mbuf pool has been completely exhausted when writing to a socket.
11265                   </para>
11266                 </description>
11267               </item>
11268             </list>
11269             <para>
11270             </para>
11271             <para>
11272               The
11273               <c>pwrite</c>()
11274               system call may also return the following errors:
11275             </para>
11276             <list type="table">
11277               <listheader>
11278                 <term>
11279                   Error
11280                 </term>
11281                 <description>
11282                   Details
11283                 </description>
11284               </listheader>
11285               <item>
11286                 <term>
11287                   <see cref="F:Mono.Unix.Native.Errno.EINVAL" />
11288                 </term>
11289                 <description>
11290                   <para>
11291                     The
11292                     <paramref name="offset" /> 
11293                     value was negative.
11294                   </para>
11295                 </description>
11296               </item>
11297               <item>
11298                 <term>
11299                   <see cref="F:Mono.Unix.Native.Errno.ESPIPE" />
11300                 </term>
11301                 <description>
11302                   <para>
11303                     The file descriptor is associated with a pipe, socket, or FIFO.
11304                   </para>
11305                 </description>
11306               </item>
11307             </list>
11308             <para>
11309             </para>
11310           </block>
11311         </returns>
11312         <remarks>
11313           <para>
11314             The
11315             <c>write</c>()
11316             system call
11317             attempts to write
11318             <paramref name="nbytes" /> 
11319             of data to the object referenced by the descriptor
11320             <paramref name="d" /> 
11321             from the buffer pointed to by
11322             <paramref name="buf" /> .
11323             The
11324             <c>writev</c>()
11325             system call
11326             performs the same action, but gathers the output data
11327             from the
11328             <paramref name="iovcnt" /> 
11329             buffers specified by the members of the
11330             <paramref name="iov" /> 
11331             array: iov[0], iov[1], ..., iov[iovcnt|-|1].
11332             The
11333             <c>pwrite</c>()
11334             system call
11335             performs the same function, but writes to the specified position in
11336             the file without modifying the file pointer.
11337           </para>
11338           <para>
11339             For
11340             <c>writev</c>(),
11341             the
11342             <paramref name="iovec" /> 
11343             structure is defined as:
11344           </para>
11345           <para>
11346           </para>
11347           <block subset="none" type="usage">
11348             <para>struct iovec {</para>
11349             <para>
11350             </para>
11351             <para>
11352             </para>
11353             <para>};</para>
11354           </block>
11355           <para>
11356           </para>
11357           <para>
11358             Each
11359             <paramref name="iovec" /> 
11360             entry specifies the base address and length of an area
11361             in memory from which data should be written.
11362             The
11363             <c>writev</c>()
11364             system call
11365             will always write a complete area before proceeding
11366             to the next.
11367           </para>
11368           <para>
11369             On objects capable of seeking, the
11370             <c>write</c>()
11371             starts at a position
11372             given by the pointer associated with
11373             <paramref name="d" /> ,
11374             see
11375             <see cref="M:Mono.Unix.Native.Syscall.lseek" />(2) .
11376             Upon return from
11377             <c>write</c>(),
11378             the pointer is incremented by the number of bytes which were written.
11379           </para>
11380           <para>
11381             Objects that are not capable of seeking always write from the current
11382             position.
11383             The value of the pointer associated with such an object
11384             is undefined.
11385           </para>
11386           <para>
11387             If the real user is not the super-user, then
11388             <c>write</c>()
11389             clears the set-user-id bit on a file.
11390             This prevents penetration of system security
11391             by a user who
11392             <c>captures</c>
11393             a writable set-user-id file
11394             owned by the super-user.
11395           </para>
11396           <para>
11397             When using non-blocking I/O on objects such as sockets that are subject
11398             to flow control,
11399             <c>write</c>()
11400             and
11401             <c>writev</c>()
11402             may write fewer bytes than requested;
11403             the return value must be noted,
11404             and the remainder of the operation should be retried when possible.
11405           </para>
11406         </remarks>
11407         <altmember cref="M:Mono.Unix.Native.Syscall.fcntl" />
11408         <altmember cref="M:Mono.Unix.Native.Syscall.lseek" />
11409         <altmember cref="M:Mono.Unix.Native.Syscall.open" />
11410         <altmember cref="M:Mono.Unix.Native.Syscall.pipe" />
11411         <altmember cref="M:Mono.Unix.Native.Syscall.select" />
11412       </Docs>
11413     </Member>
11414     <Member MemberName="write">
11415       <MemberSignature Language="C#" Value="public static long write (int fd, void* buf, ulong count);" />
11416       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 write(int32 fd, void* buf, unsigned int64 count) cil managed" />
11417       <MemberType>Method</MemberType>
11418       <AssemblyInfo>
11419         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
11420         <AssemblyVersion>2.0.0.0</AssemblyVersion>
11421         <AssemblyVersion>4.0.0.0</AssemblyVersion>
11422       </AssemblyInfo>
11423       <ReturnValue>
11424         <ReturnType>System.Int64</ReturnType>
11425       </ReturnValue>
11426       <Parameters>
11427         <Parameter Name="fd" Type="System.Int32" />
11428         <Parameter Name="buf" Type="System.Void*" />
11429         <Parameter Name="count" Type="System.UInt64" />
11430       </Parameters>
11431       <Docs>
11432         <param name="fd">To be added.</param>
11433         <param name="buf">To be added.</param>
11434         <param name="count">To be added.</param>
11435         <summary>write writes up to 'count' bytes to the file referenced by the file descriptor 'fileDescriptor' from the buffer starting at 'buf'.</summary>
11436         <returns>To be added.</returns>
11437         <remarks>To be added.</remarks>
11438       </Docs>
11439     </Member>
11440     <Member MemberName="WSTOPSIG">
11441       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Signum WSTOPSIG (int status);" />
11442       <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Mono.Unix.Native.Signum WSTOPSIG(int32 status) cil managed" />
11443       <MemberType>Method</MemberType>
11444       <AssemblyInfo>
11445         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
11446         <AssemblyVersion>2.0.0.0</AssemblyVersion>
11447         <AssemblyVersion>4.0.0.0</AssemblyVersion>
11448       </AssemblyInfo>
11449       <ReturnValue>
11450         <ReturnType>Mono.Unix.Native.Signum</ReturnType>
11451       </ReturnValue>
11452       <Parameters>
11453         <Parameter Name="status" Type="System.Int32" />
11454       </Parameters>
11455       <Docs>
11456         <param name="status">To be added.</param>
11457         <summary>To be added.</summary>
11458         <returns>To be added.</returns>
11459         <remarks>To be added.</remarks>
11460       </Docs>
11461     </Member>
11462     <Member MemberName="WTERMSIG">
11463       <MemberSignature Language="C#" Value="public static Mono.Unix.Native.Signum WTERMSIG (int status);" />
11464       <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype Mono.Unix.Native.Signum WTERMSIG(int32 status) cil managed" />
11465       <MemberType>Method</MemberType>
11466       <AssemblyInfo>
11467         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
11468         <AssemblyVersion>2.0.0.0</AssemblyVersion>
11469         <AssemblyVersion>4.0.0.0</AssemblyVersion>
11470       </AssemblyInfo>
11471       <ReturnValue>
11472         <ReturnType>Mono.Unix.Native.Signum</ReturnType>
11473       </ReturnValue>
11474       <Parameters>
11475         <Parameter Name="status" Type="System.Int32" />
11476       </Parameters>
11477       <Docs>
11478         <param name="status">To be added.</param>
11479         <summary>To be added.</summary>
11480         <returns>To be added.</returns>
11481         <remarks>To be added.</remarks>
11482       </Docs>
11483     </Member>
11484   </Members>
11485 </Type>