1257752Semaste//===-- Platform.h ----------------------------------------------*- C++ -*-===// 2257752Semaste// 3257752Semaste// The LLVM Compiler Infrastructure 4257752Semaste// 5257752Semaste// This file is distributed under the University of Illinois Open Source 6257752Semaste// License. See LICENSE.TXT for details. 7257752Semaste// 8257752Semaste//===----------------------------------------------------------------------===// 9257752Semaste 10257752Semaste#ifndef lldb_Platform_h_ 11257752Semaste#define lldb_Platform_h_ 12257752Semaste 13257752Semaste#if defined( _MSC_VER ) 14257752Semaste 15257752Semaste // this will stop signal.h being included 16257752Semaste #define _INC_SIGNAL 17257752Semaste 18257752Semaste #include <io.h> 19257752Semaste #include <eh.h> 20257752Semaste #include <inttypes.h> 21257752Semaste #include "lldb/Host/windows/Windows.h" 22269024Semaste #include "lldb/Host/HostGetOpt.h" 23257752Semaste 24257752Semaste struct timeval 25257752Semaste { 26257752Semaste long tv_sec; 27257752Semaste long tv_usec; 28257752Semaste }; 29257752Semaste 30257752Semaste struct winsize 31257752Semaste { 32257752Semaste long ws_col; 33257752Semaste }; 34257752Semaste 35257752Semaste typedef unsigned char cc_t; 36257752Semaste typedef unsigned int speed_t; 37257752Semaste typedef unsigned int tcflag_t; 38257752Semaste 39257752Semaste // fcntl.h 40257752Semaste #define O_NOCTTY 0400 41257752Semaste 42257752Semaste // ioctls.h 43257752Semaste #define TIOCGWINSZ 0x5413 44257752Semaste 45257752Semaste // signal.h 46257752Semaste #define SIGPIPE 13 47257752Semaste #define SIGCONT 18 48257752Semaste #define SIGTSTP 20 49257752Semaste #define SIGWINCH 28 50257752Semaste 51257752Semaste // tcsetattr arguments 52257752Semaste #define TCSANOW 0 53257752Semaste 54257752Semaste #define NCCS 32 55257752Semaste struct termios 56257752Semaste { 57257752Semaste tcflag_t c_iflag; // input mode flags 58257752Semaste tcflag_t c_oflag; // output mode flags 59257752Semaste tcflag_t c_cflag; // control mode flags 60257752Semaste tcflag_t c_lflag; // local mode flags 61257752Semaste cc_t c_line; // line discipline 62257752Semaste cc_t c_cc[NCCS]; // control characters 63257752Semaste speed_t c_ispeed; // input speed 64257752Semaste speed_t c_ospeed; // output speed 65257752Semaste }; 66257752Semaste 67257752Semaste typedef long pid_t; 68257752Semaste 69257752Semaste #define STDIN_FILENO 0 70257752Semaste 71257752Semaste #define PATH_MAX MAX_PATH 72257752Semaste #define snprintf _snprintf 73257752Semaste 74257752Semaste extern int ioctl( int d, int request, ... ); 75257752Semaste extern int kill ( pid_t pid, int sig ); 76257752Semaste extern int tcsetattr( int fd, int optional_actions, const struct termios *termios_p ); 77257752Semaste extern int tcgetattr( int fildes, struct termios *termios_p ); 78257752Semaste 79257752Semaste // signal handler function pointer type 80257752Semaste typedef void (*sighandler_t)(int); 81257752Semaste 82257752Semaste // signal.h 83257752Semaste #define SIGINT 2 84257752Semaste // default handler 85257752Semaste #define SIG_DFL ( (sighandler_t) -1 ) 86257752Semaste // ignored 87257752Semaste #define SIG_IGN ( (sighandler_t) -2 ) 88257752Semaste extern sighandler_t signal( int sig, sighandler_t ); 89257752Semaste 90257752Semaste#else 91257752Semaste 92257752Semaste #include <inttypes.h> 93257752Semaste 94257752Semaste #include <getopt.h> 95257752Semaste #include <libgen.h> 96257752Semaste #include <sys/ioctl.h> 97257752Semaste #include <termios.h> 98257752Semaste #include <unistd.h> 99257752Semaste 100257752Semaste #include <histedit.h> 101257752Semaste #include <pthread.h> 102257752Semaste #include <sys/time.h> 103257752Semaste 104257752Semaste#endif 105257752Semaste 106257752Semaste#endif // lldb_Platform_h_ 107