Improve detecting if a handle is a console on Windows.
[mono.git] / mono / metadata / console-win32.c
1 /*
2  * console-io.c: ConsoleDriver internal calls for Win32
3  *
4  * Author:
5  *      Gonzalo Paniagua Javier (gonzalo@ximian.com)
6  *
7  * Copyright (C) 2005-2009 Novell, Inc. (http://www.novell.com)
8  */
9
10 #include <config.h>
11 #include <glib.h>
12 #include <stdio.h>
13 #include <string.h>
14 #include <fcntl.h>
15 #include <errno.h>
16 #include <signal.h>
17 #include <sys/types.h>
18
19 #ifdef HAVE_SYS_TIME_H
20 #include <sys/time.h>
21 #endif
22
23 #include <mono/metadata/appdomain.h>
24 #include <mono/metadata/object-internals.h>
25 #include <mono/metadata/class-internals.h>
26 #include <mono/metadata/domain-internals.h>
27 #include <mono/metadata/gc-internal.h>
28 #include <mono/metadata/metadata.h>
29 #include <mono/metadata/threadpool.h>
30
31 #include <mono/metadata/console-io.h>
32 #include <mono/metadata/exception.h>
33
34 void
35 mono_console_init (void)
36 {
37 }
38
39 void
40 mono_console_handle_async_ops (void)
41 {
42 }
43
44 MonoBoolean
45 ves_icall_System_ConsoleDriver_Isatty (HANDLE handle)
46 {
47         MONO_ARCH_SAVE_REGS;
48
49         DWORD mode;
50         return GetConsoleMode (handle, &mode) != 0;
51 }
52
53 MonoBoolean
54 ves_icall_System_ConsoleDriver_SetEcho (MonoBoolean want_echo)
55 {
56         return FALSE;
57 }
58
59 MonoBoolean
60 ves_icall_System_ConsoleDriver_SetBreak (MonoBoolean want_break)
61 {
62         return FALSE;
63 }
64
65 gint32
66 ves_icall_System_ConsoleDriver_InternalKeyAvailable (gint32 timeout)
67 {
68         return FALSE;
69 }
70
71 MonoBoolean
72 ves_icall_System_ConsoleDriver_TtySetup (MonoString *keypad, MonoString *teardown, MonoArray **control_chars, int **size)
73 {
74         return FALSE;
75 }