911b8c245ad08a562ef5812d86b6331c78d1f4b2
[mono.git] / mcs / class / System / System.IO / MonoIO.cs
1 //
2 // System.IO.MonoIO.cs: static interface to native filesystem.
3 //
4 // Author:
5 //   Dan Lewis (dihlewis@yahoo.co.uk)
6 //   Dick Porter (dick@ximian.com)
7 //
8 // (C) 2002
9 //
10
11 using System;
12 using System.Runtime.CompilerServices;
13
14 // This is a heavily cut down version of the corlib class.  It's here
15 // because we're keeping extensions invisible, but
16 // System.Diagnostics.Process needs access to some of the
17 // functionality (and CVS can't do symlinks).
18
19 namespace System.IO
20 {
21         internal sealed class MonoIO {
22
23                 // handle methods
24
25                 [MethodImplAttribute (MethodImplOptions.InternalCall)]
26                 public extern static bool Close (IntPtr handle);
27                 
28                 // console handles
29
30                 public extern static IntPtr ConsoleOutput {
31                         [MethodImplAttribute (MethodImplOptions.InternalCall)]
32                         get;
33                 }
34
35                 public extern static IntPtr ConsoleInput {
36                         [MethodImplAttribute (MethodImplOptions.InternalCall)]
37                         get;
38                 }
39
40                 public extern static IntPtr ConsoleError {
41                         [MethodImplAttribute (MethodImplOptions.InternalCall)]
42                         get;
43                 }
44
45                 // pipe handles
46
47                 [MethodImplAttribute (MethodImplOptions.InternalCall)]
48                 public extern static bool CreatePipe (out IntPtr read_handle, out IntPtr write_handle);
49         }
50 }
51