diff options
Diffstat (limited to 'include/lldb/Host/windows')
-rw-r--r-- | include/lldb/Host/windows/AutoHandle.h | 37 | ||||
-rw-r--r-- | include/lldb/Host/windows/ConnectionGenericFileWindows.h | 64 | ||||
-rw-r--r-- | include/lldb/Host/windows/HostInfoWindows.h | 47 | ||||
-rw-r--r-- | include/lldb/Host/windows/HostProcessWindows.h | 46 | ||||
-rw-r--r-- | include/lldb/Host/windows/HostThreadWindows.h | 41 | ||||
-rw-r--r-- | include/lldb/Host/windows/LockFileWindows.h | 42 | ||||
-rw-r--r-- | include/lldb/Host/windows/PipeWindows.h | 92 | ||||
-rw-r--r-- | include/lldb/Host/windows/PosixApi.h | 105 | ||||
-rw-r--r-- | include/lldb/Host/windows/ProcessLauncherWindows.h | 30 | ||||
-rw-r--r-- | include/lldb/Host/windows/editlinewin.h | 116 | ||||
-rw-r--r-- | include/lldb/Host/windows/windows.h | 32 |
11 files changed, 0 insertions, 652 deletions
diff --git a/include/lldb/Host/windows/AutoHandle.h b/include/lldb/Host/windows/AutoHandle.h deleted file mode 100644 index 8c8c89767ba9..000000000000 --- a/include/lldb/Host/windows/AutoHandle.h +++ /dev/null @@ -1,37 +0,0 @@ -//===-- AutoHandle.h --------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef LLDB_lldb_Host_windows_AutoHandle_h_ -#define LLDB_lldb_Host_windows_AutoHandle_h_ - -#include "lldb/Host/windows/windows.h" - -namespace lldb_private { - -class AutoHandle { -public: - AutoHandle(HANDLE handle, HANDLE invalid_value = INVALID_HANDLE_VALUE) - : m_handle(handle), m_invalid_value(invalid_value) {} - - ~AutoHandle() { - if (m_handle != m_invalid_value) - ::CloseHandle(m_handle); - } - - bool IsValid() const { return m_handle != m_invalid_value; } - - HANDLE get() const { return m_handle; } - -private: - HANDLE m_handle; - HANDLE m_invalid_value; -}; -} - -#endif diff --git a/include/lldb/Host/windows/ConnectionGenericFileWindows.h b/include/lldb/Host/windows/ConnectionGenericFileWindows.h deleted file mode 100644 index 5907ff16d9c3..000000000000 --- a/include/lldb/Host/windows/ConnectionGenericFileWindows.h +++ /dev/null @@ -1,64 +0,0 @@ -//===-- ConnectionGenericFileWindows.h --------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_Host_windows_ConnectionGenericFileWindows_h_ -#define liblldb_Host_windows_ConnectionGenericFileWindows_h_ - -#include "lldb/Host/windows/windows.h" -#include "lldb/Utility/Connection.h" -#include "lldb/lldb-types.h" - -namespace lldb_private { - -class Status; - -class ConnectionGenericFile : public lldb_private::Connection { -public: - ConnectionGenericFile(); - - ConnectionGenericFile(lldb::file_t file, bool owns_file); - - ~ConnectionGenericFile() override; - - bool IsConnected() const override; - - lldb::ConnectionStatus Connect(llvm::StringRef s, Status *error_ptr) override; - - lldb::ConnectionStatus Disconnect(Status *error_ptr) override; - - size_t Read(void *dst, size_t dst_len, const Timeout<std::micro> &timeout, - lldb::ConnectionStatus &status, Status *error_ptr) override; - - size_t Write(const void *src, size_t src_len, lldb::ConnectionStatus &status, - Status *error_ptr) override; - - std::string GetURI() override; - - bool InterruptRead() override; - -protected: - OVERLAPPED m_overlapped; - HANDLE m_file; - HANDLE m_event_handles[2]; - bool m_owns_file; - LARGE_INTEGER m_file_position; - - enum { kBytesAvailableEvent, kInterruptEvent }; - -private: - void InitializeEventHandles(); - void IncrementFilePointer(DWORD amount); - - std::string m_uri; - - DISALLOW_COPY_AND_ASSIGN(ConnectionGenericFile); -}; -} - -#endif diff --git a/include/lldb/Host/windows/HostInfoWindows.h b/include/lldb/Host/windows/HostInfoWindows.h deleted file mode 100644 index 24949e6001f7..000000000000 --- a/include/lldb/Host/windows/HostInfoWindows.h +++ /dev/null @@ -1,47 +0,0 @@ -//===-- HostInfoWindows.h ---------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef lldb_Host_windows_HostInfoWindows_h_ -#define lldb_Host_windows_HostInfoWindows_h_ - -#include "lldb/Host/HostInfoBase.h" -#include "lldb/Utility/FileSpec.h" -#include "llvm/Support/VersionTuple.h" - -namespace lldb_private { - -class HostInfoWindows : public HostInfoBase { - friend class HostInfoBase; - -private: - // Static class, unconstructable. - HostInfoWindows(); - ~HostInfoWindows(); - -public: - static void Initialize(); - static void Terminate(); - - static size_t GetPageSize(); - - static llvm::VersionTuple GetOSVersion(); - static bool GetOSBuildString(std::string &s); - static bool GetOSKernelDescription(std::string &s); - static bool GetHostname(std::string &s); - static FileSpec GetProgramFileSpec(); - static FileSpec GetDefaultShell(); - - static bool GetEnvironmentVar(const std::string &var_name, std::string &var); - -private: - static FileSpec m_program_filespec; -}; -} - -#endif diff --git a/include/lldb/Host/windows/HostProcessWindows.h b/include/lldb/Host/windows/HostProcessWindows.h deleted file mode 100644 index 4ef35337d70f..000000000000 --- a/include/lldb/Host/windows/HostProcessWindows.h +++ /dev/null @@ -1,46 +0,0 @@ -//===-- HostProcessWindows.h ------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef lldb_Host_HostProcessWindows_h_ -#define lldb_Host_HostProcessWindows_h_ - -#include "lldb/Host/HostNativeProcessBase.h" -#include "lldb/lldb-types.h" - -namespace lldb_private { - -class FileSpec; - -class HostProcessWindows : public HostNativeProcessBase { -public: - HostProcessWindows(); - explicit HostProcessWindows(lldb::process_t process); - ~HostProcessWindows(); - - void SetOwnsHandle(bool owns); - - Status Terminate() override; - Status GetMainModule(FileSpec &file_spec) const override; - - lldb::pid_t GetProcessId() const override; - bool IsRunning() const override; - - HostThread StartMonitoring(const Host::MonitorChildProcessCallback &callback, - bool monitor_signals) override; - -private: - static lldb::thread_result_t MonitorThread(void *thread_arg); - - void Close(); - - bool m_owns_handle; -}; -} - -#endif diff --git a/include/lldb/Host/windows/HostThreadWindows.h b/include/lldb/Host/windows/HostThreadWindows.h deleted file mode 100644 index 8d5972e88fbc..000000000000 --- a/include/lldb/Host/windows/HostThreadWindows.h +++ /dev/null @@ -1,41 +0,0 @@ -//===-- HostThreadWindows.h -------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef lldb_Host_windows_HostThreadWindows_h_ -#define lldb_Host_windows_HostThreadWindows_h_ - -#include "lldb/Host/HostNativeThreadBase.h" - -#include "llvm/ADT/SmallString.h" - -namespace lldb_private { - -class HostThreadWindows : public HostNativeThreadBase { - DISALLOW_COPY_AND_ASSIGN(HostThreadWindows); - -public: - HostThreadWindows(); - HostThreadWindows(lldb::thread_t thread); - virtual ~HostThreadWindows(); - - void SetOwnsHandle(bool owns); - - virtual Status Join(lldb::thread_result_t *result); - virtual Status Cancel(); - virtual void Reset(); - virtual bool EqualsThread(lldb::thread_t thread) const; - - lldb::tid_t GetThreadId() const; - -private: - bool m_owns_handle; -}; -} - -#endif diff --git a/include/lldb/Host/windows/LockFileWindows.h b/include/lldb/Host/windows/LockFileWindows.h deleted file mode 100644 index 10456a1b8b25..000000000000 --- a/include/lldb/Host/windows/LockFileWindows.h +++ /dev/null @@ -1,42 +0,0 @@ -//===-- LockFileWindows.h ---------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_Host_posix_LockFileWindows_h_ -#define liblldb_Host_posix_LockFileWindows_h_ - -#include "lldb/Host/LockFileBase.h" -#include "lldb/Host/windows/windows.h" - -namespace lldb_private { - -class LockFileWindows : public LockFileBase { -public: - explicit LockFileWindows(int fd); - ~LockFileWindows(); - -protected: - Status DoWriteLock(const uint64_t start, const uint64_t len) override; - - Status DoTryWriteLock(const uint64_t start, const uint64_t len) override; - - Status DoReadLock(const uint64_t start, const uint64_t len) override; - - Status DoTryReadLock(const uint64_t start, const uint64_t len) override; - - Status DoUnlock() override; - - bool IsValidFile() const override; - -private: - HANDLE m_file; -}; - -} // namespace lldb_private - -#endif // liblldb_Host_posix_LockFileWindows_h_ diff --git a/include/lldb/Host/windows/PipeWindows.h b/include/lldb/Host/windows/PipeWindows.h deleted file mode 100644 index 1ae780ccc0b6..000000000000 --- a/include/lldb/Host/windows/PipeWindows.h +++ /dev/null @@ -1,92 +0,0 @@ -//===-- PipePosix.h ---------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_Host_windows_PipeWindows_h_ -#define liblldb_Host_windows_PipeWindows_h_ - -#include "lldb/Host/PipeBase.h" -#include "lldb/Host/windows/windows.h" - -namespace lldb_private { - -//---------------------------------------------------------------------- -/// @class Pipe PipeWindows.h "lldb/Host/windows/PipeWindows.h" -/// A windows-based implementation of Pipe, a class that abtracts -/// unix style pipes. -/// -/// A class that abstracts the LLDB core from host pipe functionality. -//---------------------------------------------------------------------- -class PipeWindows : public PipeBase { -public: - static const int kInvalidDescriptor = -1; - -public: - PipeWindows(); - PipeWindows(lldb::pipe_t read, lldb::pipe_t write); - ~PipeWindows() override; - - // Create an unnamed pipe. - Status CreateNew(bool child_process_inherit) override; - - // Create a named pipe. - Status CreateNewNamed(bool child_process_inherit); - Status CreateNew(llvm::StringRef name, bool child_process_inherit) override; - Status CreateWithUniqueName(llvm::StringRef prefix, - bool child_process_inherit, - llvm::SmallVectorImpl<char> &name) override; - Status OpenAsReader(llvm::StringRef name, - bool child_process_inherit) override; - Status - OpenAsWriterWithTimeout(llvm::StringRef name, bool child_process_inherit, - const std::chrono::microseconds &timeout) override; - - bool CanRead() const override; - bool CanWrite() const override; - - lldb::pipe_t GetReadPipe() const { return lldb::pipe_t(m_read); } - lldb::pipe_t GetWritePipe() const { return lldb::pipe_t(m_write); } - - int GetReadFileDescriptor() const override; - int GetWriteFileDescriptor() const override; - int ReleaseReadFileDescriptor() override; - int ReleaseWriteFileDescriptor() override; - void CloseReadFileDescriptor() override; - void CloseWriteFileDescriptor() override; - - void Close() override; - - Status Delete(llvm::StringRef name) override; - - Status Write(const void *buf, size_t size, size_t &bytes_written) override; - Status ReadWithTimeout(void *buf, size_t size, - const std::chrono::microseconds &timeout, - size_t &bytes_read) override; - - // PipeWindows specific methods. These allow access to the underlying OS - // handle. - HANDLE GetReadNativeHandle(); - HANDLE GetWriteNativeHandle(); - -private: - Status OpenNamedPipe(llvm::StringRef name, bool child_process_inherit, - bool is_read); - - HANDLE m_read; - HANDLE m_write; - - int m_read_fd; - int m_write_fd; - - OVERLAPPED m_read_overlapped; - OVERLAPPED m_write_overlapped; -}; - -} // namespace lldb_private - -#endif // liblldb_Host_posix_PipePosix_h_ diff --git a/include/lldb/Host/windows/PosixApi.h b/include/lldb/Host/windows/PosixApi.h deleted file mode 100644 index 801107dadceb..000000000000 --- a/include/lldb/Host/windows/PosixApi.h +++ /dev/null @@ -1,105 +0,0 @@ -//===-- windows/PosixApi.h --------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef liblldb_Host_windows_PosixApi_h -#define liblldb_Host_windows_PosixApi_h - -#include "llvm/Support/Compiler.h" -#if !defined(_WIN32) -#error "windows/PosixApi.h being #included on non Windows system!" -#endif - -// va_start, va_end, etc macros. -#include <stdarg.h> - -// time_t, timespec, etc. -#include <time.h> - -#ifndef PATH_MAX -#define PATH_MAX 32768 -#endif - -#define O_NOCTTY 0 -#define O_NONBLOCK 0 -#define SIGTRAP 5 -#define SIGKILL 9 -#define SIGSTOP 20 - -#if defined(_MSC_VER) -#define S_IRUSR S_IREAD /* read, user */ -#define S_IWUSR S_IWRITE /* write, user */ -#define S_IXUSR 0 /* execute, user */ -#endif -#define S_IRGRP 0 /* read, group */ -#define S_IWGRP 0 /* write, group */ -#define S_IXGRP 0 /* execute, group */ -#define S_IROTH 0 /* read, others */ -#define S_IWOTH 0 /* write, others */ -#define S_IXOTH 0 /* execute, others */ -#define S_IRWXU 0 -#define S_IRWXG 0 -#define S_IRWXO 0 - -#ifdef _MSC_VER - -// PRIxxx format macros for printf() -#include <inttypes.h> - -// open(), close(), creat(), etc. -#include <io.h> - -typedef unsigned short mode_t; - -// pyconfig.h typedefs this. We require python headers to be included before -// any LLDB headers, but there's no way to prevent python's pid_t definition -// from leaking, so this is the best option. -#ifndef NO_PID_T -typedef uint32_t pid_t; -#endif - -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 - -#define S_IFDIR _S_IFDIR - -#ifndef S_ISDIR -#define S_ISDIR(mode) (((mode)&S_IFMT) == S_IFDIR) -#endif - -#endif // _MSC_VER - -// Various useful posix functions that are not present in Windows. We provide -// custom implementations. -int vasprintf(char **ret, const char *fmt, va_list ap); -char *strcasestr(const char *s, const char *find); -char *realpath(const char *name, char *resolved); - -int usleep(uint32_t useconds); -char *basename(char *path); -char *dirname(char *path); - -int strcasecmp(const char *s1, const char *s2); -int strncasecmp(const char *s1, const char *s2, size_t n); - -// empty functions -inline int posix_openpt(int flag) { LLVM_BUILTIN_UNREACHABLE; } - -inline int strerror_r(int errnum, char *buf, size_t buflen) { - LLVM_BUILTIN_UNREACHABLE; -} - -inline int unlockpt(int fd) { LLVM_BUILTIN_UNREACHABLE; } -inline int grantpt(int fd) { LLVM_BUILTIN_UNREACHABLE; } -inline char *ptsname(int fd) { LLVM_BUILTIN_UNREACHABLE; } - -inline pid_t fork(void) { LLVM_BUILTIN_UNREACHABLE; } -inline pid_t setsid(void) { LLVM_BUILTIN_UNREACHABLE; } - -#endif diff --git a/include/lldb/Host/windows/ProcessLauncherWindows.h b/include/lldb/Host/windows/ProcessLauncherWindows.h deleted file mode 100644 index 1df377d5eb88..000000000000 --- a/include/lldb/Host/windows/ProcessLauncherWindows.h +++ /dev/null @@ -1,30 +0,0 @@ -//===-- ProcessLauncherWindows.h --------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef lldb_Host_windows_ProcessLauncherWindows_h_ -#define lldb_Host_windows_ProcessLauncherWindows_h_ - -#include "lldb/Host/ProcessLauncher.h" -#include "lldb/Host/windows/windows.h" - -namespace lldb_private { - -class ProcessLaunchInfo; - -class ProcessLauncherWindows : public ProcessLauncher { -public: - virtual HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info, - Status &error); - -protected: - HANDLE GetStdioHandle(const ProcessLaunchInfo &launch_info, int fd); -}; -} - -#endif diff --git a/include/lldb/Host/windows/editlinewin.h b/include/lldb/Host/windows/editlinewin.h deleted file mode 100644 index 2bd637848ff0..000000000000 --- a/include/lldb/Host/windows/editlinewin.h +++ /dev/null @@ -1,116 +0,0 @@ -//===-- ELWrapper.h ---------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#pragma once - -#include <stdio.h> - -// EditLine editor function return codes. -// For user-defined function interface -#define CC_NORM 0 -#define CC_NEWLINE 1 -#define CC_EOF 2 -#define CC_ARGHACK 3 -#define CC_REFRESH 4 -#define CC_CURSOR 5 -#define CC_ERROR 6 -#define CC_FATAL 7 -#define CC_REDISPLAY 8 -#define CC_REFRESH_BEEP 9 - -// el_set/el_get parameters -#define EL_PROMPT 0 // , el_pfunc_t -#define EL_TERMINAL 1 // , const char * -#define EL_EDITOR 2 // , const char * -#define EL_SIGNAL 3 // , int); -#define EL_BIND 4 // , const char *, ..., NULL -#define EL_TELLTC 5 // , const char *, ..., NULL -#define EL_SETTC 6 // , const char *, ..., NULL -#define EL_ECHOTC 7 // , const char *, ..., NULL -#define EL_SETTY 8 // , const char *, ..., NULL -#define EL_ADDFN 9 // , const char *, const char *, el_func_t -#define EL_HIST 10 // , hist_fun_t, const char * -#define EL_EDITMODE 11 // , int -#define EL_RPROMPT 12 // , el_pfunc_t -#define EL_GETCFN 13 // , el_rfunc_t -#define EL_CLIENTDATA 14 // , void * -#define EL_UNBUFFERED 15 // , int -#define EL_PREP_TERM 16 // , int -#define EL_GETTC 17 // , const char *, ..., NULL -#define EL_GETFP 18 // , int, FILE ** -#define EL_SETFP 19 // , int, FILE * -#define EL_REFRESH 20 // , void -#define EL_PROMPT_ESC 21 // , prompt_func, Char); set/get - -#define EL_BUILTIN_GETCFN (NULL) - -// history defines -#define H_FUNC 0 // , UTSL -#define H_SETSIZE 1 // , const int -#define H_GETSIZE 2 // , void -#define H_FIRST 3 // , void -#define H_LAST 4 // , void -#define H_PREV 5 // , void -#define H_NEXT 6 // , void -#define H_CURR 8 // , const int -#define H_SET 7 // , int -#define H_ADD 9 // , const char * -#define H_ENTER 10 // , const char * -#define H_APPEND 11 // , const char * -#define H_END 12 // , void -#define H_NEXT_STR 13 // , const char * -#define H_PREV_STR 14 // , const char * -#define H_NEXT_EVENT 15 // , const int -#define H_PREV_EVENT 16 // , const int -#define H_LOAD 17 // , const char * -#define H_SAVE 18 // , const char * -#define H_CLEAR 19 // , void -#define H_SETUNIQUE 20 // , int -#define H_GETUNIQUE 21 // , void -#define H_DEL 22 // , int - -struct EditLine {}; - -struct LineInfo { - const char *buffer; - const char *cursor; - const char *lastchar; -}; - -struct History {}; - -struct HistEvent { - int num; - const char *str; -}; - -extern "C" { -// edit line API -EditLine *el_init(const char *, FILE *, FILE *, FILE *); -const char *el_gets(EditLine *, int *); -int el_set(EditLine *, int, ...); - -void el_end(EditLine *); -void el_reset(EditLine *); -int el_getc(EditLine *, char *); -void el_push(EditLine *, const char *); -void el_beep(EditLine *); -int el_parse(EditLine *, int, const char **); -int el_get(EditLine *, int, ...); -int el_source(EditLine *, const char *); -void el_resize(EditLine *); -const LineInfo *el_line(EditLine *); -int el_insertstr(EditLine *, const char *); -void el_deletestr(EditLine *, int); - -// history API -History *history_init(void); -void history_end(History *); -int history(History *, HistEvent *, int, ...); -}; diff --git a/include/lldb/Host/windows/windows.h b/include/lldb/Host/windows/windows.h deleted file mode 100644 index 98a675eed4fe..000000000000 --- a/include/lldb/Host/windows/windows.h +++ /dev/null @@ -1,32 +0,0 @@ -//===-- lldb-windows.h ------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef LLDB_lldb_windows_h_ -#define LLDB_lldb_windows_h_ - -#define NTDDI_VERSION NTDDI_VISTA -#undef _WIN32_WINNT // undef a previous definition to avoid warning -#define _WIN32_WINNT _WIN32_WINNT_VISTA -#define WIN32_LEAN_AND_MEAN -#define NOGDI -#undef NOMINMAX // undef a previous definition to avoid warning -#define NOMINMAX -#include <windows.h> -#undef GetUserName -#undef LoadImage -#undef CreateProcess -#undef Yield -#undef far -#undef near -#undef FAR -#undef NEAR -#define FAR -#define NEAR - -#endif // LLDB_lldb_windows_h_ |