Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/lldb/tools/driver/Platform.cpp
34879 views
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
19
int 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
41
int 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
49
int tcsetattr(int fd, int optional_actions, const struct termios *termios_p) {
50
llvm_unreachable("Not implemented!");
51
}
52
53
int 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
61