X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fconsole-io.c;h=0e491d6dfaf8edb6580091240be976f2609ca7f3;hb=bc17e358562651e78e3d564634ad5bd1ce11d68b;hp=4d870613688bc5d55c0fb63030be0839a8d380ba;hpb=234225d112c4b018b8d1796f4c06a15812137500;p=mono.git diff --git a/mono/metadata/console-io.c b/mono/metadata/console-io.c index 4d870613688..0e491d6dfaf 100644 --- a/mono/metadata/console-io.c +++ b/mono/metadata/console-io.c @@ -76,6 +76,12 @@ ves_icall_System_ConsoleDriver_TtySetup (MonoString *teardown) return FALSE; } +MonoBoolean +ves_icall_System_ConsoleDriver_GetTtySize (HANDLE handle, gint32 *width, gint32 *height) +{ + return FALSE; +} + #else static struct termios initial_attr; @@ -210,5 +216,26 @@ ves_icall_System_ConsoleDriver_TtySetup (MonoString *teardown) return TRUE; } + +MonoBoolean +ves_icall_System_ConsoleDriver_GetTtySize (HANDLE handle, gint32 *width, gint32 *height) +{ +#ifdef TIOCGWINSZ + struct winsize ws; + int res; + + res = ioctl (GPOINTER_TO_INT (handle), TIOCGWINSZ, &ws); + + if (!res) { + *width = ws.ws_col; + *height = ws.ws_row; + return TRUE; + } + else + return FALSE; +#else + return FALSE; #endif +} +#endif /* !PLATFORM_WIN32 */