aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lldb/tools/driver/Platform.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/lldb/tools/driver/Platform.h')
-rw-r--r--contrib/llvm-project/lldb/tools/driver/Platform.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/contrib/llvm-project/lldb/tools/driver/Platform.h b/contrib/llvm-project/lldb/tools/driver/Platform.h
new file mode 100644
index 000000000000..ff017c4422b1
--- /dev/null
+++ b/contrib/llvm-project/lldb/tools/driver/Platform.h
@@ -0,0 +1,87 @@
+//===-- Platform.h ----------------------------------------------*- 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
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_TOOLS_DRIVER_PLATFORM_H
+#define LLDB_TOOLS_DRIVER_PLATFORM_H
+
+#if defined(_WIN32)
+
+#include <io.h>
+#if defined(_MSC_VER)
+#include <csignal>
+#endif
+
+#include "lldb/Host/windows/windows.h"
+#include <cinttypes>
+#include <sys/types.h>
+
+struct winsize {
+ long ws_col;
+};
+
+typedef unsigned char cc_t;
+typedef unsigned int speed_t;
+typedef unsigned int tcflag_t;
+
+// fcntl.h
+#define O_NOCTTY 0400
+
+// ioctls.h
+#define TIOCGWINSZ 0x5413
+
+// signal.h
+#define SIGPIPE 13
+#define SIGCONT 18
+#define SIGTSTP 20
+#define SIGWINCH 28
+
+// tcsetattr arguments
+#define TCSANOW 0
+
+#define NCCS 32
+struct termios {
+ tcflag_t c_iflag; // input mode flags
+ tcflag_t c_oflag; // output mode flags
+ tcflag_t c_cflag; // control mode flags
+ tcflag_t c_lflag; // local mode flags
+ cc_t c_line; // line discipline
+ cc_t c_cc[NCCS]; // control characters
+ speed_t c_ispeed; // input speed
+ speed_t c_ospeed; // output speed
+};
+
+#ifdef _MSC_VER
+struct timeval {
+ long tv_sec;
+ long tv_usec;
+};
+typedef long pid_t;
+#define PATH_MAX MAX_PATH
+#endif
+
+#define STDIN_FILENO 0
+
+extern int ioctl(int d, int request, ...);
+extern int kill(pid_t pid, int sig);
+extern int tcsetattr(int fd, int optional_actions,
+ const struct termios *termios_p);
+extern int tcgetattr(int fildes, struct termios *termios_p);
+
+#else
+#include <cinttypes>
+
+#include <libgen.h>
+#include <sys/ioctl.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include <pthread.h>
+#include <sys/time.h>
+#endif
+
+#endif // LLDB_TOOLS_DRIVER_PLATFORM_H