1//===-- Platform.cpp --------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// this file is only relevant for Visual C++
10#if defined(_WIN32)
11
12#include <cassert>
13#include <cstdlib>
14#include <process.h>
15
16#include "Platform.h"
17#include "llvm/Support/ErrorHandling.h"
18
19int ioctl(int d, int request, ...) {
20 switch (request) {
21 // request the console windows size
22 case (TIOCGWINSZ): {
23 va_list vl;
24 va_start(vl, request);
25 // locate the window size structure on stack
26 winsize *ws = va_arg(vl, winsize *);
27 // get screen buffer information
28 CONSOLE_SCREEN_BUFFER_INFO info;
29 if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info) ==
30 TRUE)
31 // fill in the columns
32 ws->ws_col = info.dwMaximumWindowSize.X;
33 va_end(vl);
34 return 0;
35 } break;
36 default:
37 llvm_unreachable("Not implemented!");
38 }
39}
40
41int kill(pid_t pid, int sig) {
42 // is the app trying to kill itself
43 if (pid == getpid())
44 exit(sig);
45 //
46 llvm_unreachable("Not implemented!");
47}
48
49int tcsetattr(int fd, int optional_actions, const struct termios *termios_p) {
50 llvm_unreachable("Not implemented!");
51}
52
53int tcgetattr(int fildes, struct termios *termios_p) {
54 // assert( !"Not implemented!" );
55 // error return value (0=success)
56 return -1;
57}
58
59#endif
60

source code of lldb/tools/driver/Platform.cpp