forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===-- Platform.cpp --------------------------------------------*- C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| // this file is only relevant for Visual C++
 | |
| #if defined(_WIN32)
 | |
| 
 | |
| #include <assert.h>
 | |
| #include <process.h>
 | |
| #include <stdlib.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
 |