aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lldb/tools/driver/Platform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/lldb/tools/driver/Platform.cpp')
-rw-r--r--contrib/llvm-project/lldb/tools/driver/Platform.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/contrib/llvm-project/lldb/tools/driver/Platform.cpp b/contrib/llvm-project/lldb/tools/driver/Platform.cpp
new file mode 100644
index 000000000000..0891cfa1fa8d
--- /dev/null
+++ b/contrib/llvm-project/lldb/tools/driver/Platform.cpp
@@ -0,0 +1,59 @@
+//===-- Platform.cpp --------------------------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// this file is only relevant for Visual C++
+#if defined(_WIN32)
+
+#include <cassert>
+#include <cstdlib>
+#include <process.h>
+
+#include "Platform.h"
+#include "llvm/Support/ErrorHandling.h"
+
+int ioctl(int d, int request, ...) {
+ switch (request) {
+ // request the console windows size
+ case (TIOCGWINSZ): {
+ va_list vl;
+ va_start(vl, request);
+ // locate the window size structure on stack
+ winsize *ws = va_arg(vl, winsize *);
+ // get screen buffer information
+ CONSOLE_SCREEN_BUFFER_INFO info;
+ if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info) ==
+ TRUE)
+ // fill in the columns
+ ws->ws_col = info.dwMaximumWindowSize.X;
+ va_end(vl);
+ return 0;
+ } break;
+ default:
+ llvm_unreachable("Not implemented!");
+ }
+}
+
+int kill(pid_t pid, int sig) {
+ // is the app trying to kill itself
+ if (pid == getpid())
+ exit(sig);
+ //
+ llvm_unreachable("Not implemented!");
+}
+
+int tcsetattr(int fd, int optional_actions, const struct termios *termios_p) {
+ llvm_unreachable("Not implemented!");
+}
+
+int tcgetattr(int fildes, struct termios *termios_p) {
+ // assert( !"Not implemented!" );
+ // error return value (0=success)
+ return -1;
+}
+
+#endif