diff options
Diffstat (limited to 'contrib/llvm-project/lldb/tools/driver/Platform.h')
-rw-r--r-- | contrib/llvm-project/lldb/tools/driver/Platform.h | 87 |
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 |