ncurses_mingw.h (262629) | ncurses_mingw.h (262685) |
---|---|
1/**************************************************************************** | 1/**************************************************************************** |
2 * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. * | 2 * Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. * |
3 * * 4 * Permission is hereby granted, free of charge, to any person obtaining a * 5 * copy of this software and associated documentation files (the * 6 * "Software"), to deal in the Software without restriction, including * 7 * without limitation the rights to use, copy, modify, merge, publish, * 8 * distribute, distribute with modifications, sublicense, and/or sell * 9 * copies of the Software, and to permit persons to whom the Software is * 10 * furnished to do so, subject to the following conditions: * --- 15 unchanged lines hidden (view full) --- 26 * authorization. * 27 ****************************************************************************/ 28 29/**************************************************************************** 30 * Author: Juergen Pfeifer, 2008-on * 31 * * 32 ****************************************************************************/ 33 | 3 * * 4 * Permission is hereby granted, free of charge, to any person obtaining a * 5 * copy of this software and associated documentation files (the * 6 * "Software"), to deal in the Software without restriction, including * 7 * without limitation the rights to use, copy, modify, merge, publish, * 8 * distribute, distribute with modifications, sublicense, and/or sell * 9 * copies of the Software, and to permit persons to whom the Software is * 10 * furnished to do so, subject to the following conditions: * --- 15 unchanged lines hidden (view full) --- 26 * authorization. * 27 ****************************************************************************/ 28 29/**************************************************************************** 30 * Author: Juergen Pfeifer, 2008-on * 31 * * 32 ****************************************************************************/ 33 |
34/* $Id: ncurses_mingw.h,v 1.1 2008/12/14 19:22:16 juergen Exp $ */ | 34/* $Id: ncurses_mingw.h,v 1.2 2011/06/25 20:51:00 tom Exp $ */ |
35 36/* | 35 36/* |
37 * This is a placholder up to now and describes what needs to be implemented | 37 * This is a placeholder up to now and describes what needs to be implemented |
38 * to support I/O to external terminals with ncurses on the Windows OS. 39 */ 40 41#if __MINGW32__ 42#ifndef _NC_MINGWH 43#define _NC_MINGWH 44 45#define USE_CONSOLE_DRIVER 1 --- 16 unchanged lines hidden (view full) --- 62 tcflag_t c_cflag; /* control mode */ 63 tcflag_t c_lflag; /* local mode */ 64 cc_t c_line; /* line discipline */ 65 cc_t c_cc[NCCS]; /* control characters */ 66 speed_t c_ispeed; /* input speed */ 67 speed_t c_ospeed; /* c_ospeed */ 68}; 69 | 38 * to support I/O to external terminals with ncurses on the Windows OS. 39 */ 40 41#if __MINGW32__ 42#ifndef _NC_MINGWH 43#define _NC_MINGWH 44 45#define USE_CONSOLE_DRIVER 1 --- 16 unchanged lines hidden (view full) --- 62 tcflag_t c_cflag; /* control mode */ 63 tcflag_t c_lflag; /* local mode */ 64 cc_t c_line; /* line discipline */ 65 cc_t c_cc[NCCS]; /* control characters */ 66 speed_t c_ispeed; /* input speed */ 67 speed_t c_ospeed; /* c_ospeed */ 68}; 69 |
70/* c_cc chars */ 71#define VINTR 0 72#define VQUIT 1 73#define VERASE 2 74#define VKILL 3 75#define VEOF 4 76#define VTIME 5 77#define VMIN 6 78 79/* c_iflag bits */ 80#define ISTRIP 0000040 81#define INLCR 0000100 82#define IGNCR 0000200 83#define ICRNL 0000400 84#define BRKINT 0000002 85#define PARMRK 0000010 86#define IXON 0002000 87#define IGNBRK 0000001 88#define IGNPAR 0000004 89#define INPCK 0000020 90#define IXOFF 0010000 91 92/* c_oflag bits */ 93#define OPOST 0000001 94 95/* c_cflag bit meaning */ 96#define CBAUD 0010017 97#define CSIZE 0000060 98#define CS8 0000060 99#define B0 0000000 100#define B50 0000001 101#define B75 0000002 102#define B110 0000003 103#define B134 0000004 104#define B150 0000005 105#define B200 0000006 106#define B300 0000007 107#define B600 0000010 108#define B1200 0000011 109#define B1800 0000012 110#define B2400 0000013 111#define B4800 0000014 112#define B9600 0000015 113#define CLOCAL 0004000 114#define CREAD 0000200 115#define CSTOPB 0000100 116#define HUPCL 0002000 117#define PARENB 0000400 118#define PARODD 0001000 119 120/* c_lflag bits */ 121#define ECHO 0000010 122#define ECHONL 0000100 123#define ISIG 0000001 124#define IEXTEN 0100000 125#define ICANON 0000002 126#define NOFLSH 0000200 127#define ECHOE 0000020 128#define ECHOK 0000040 129 130/* tcflush() */ 131#define TCIFLUSH 0 132 133/* tcsetattr uses these */ 134#define TCSADRAIN 1 135 136/* ioctls */ 137#define TCGETA 0x5405 138#define TCFLSH 0x540B 139#define TIOCGWINSZ 0x5413 140 | |
141extern int _nc_mingw_ioctl(int fd, long int request, struct termios* arg); 142extern void _nc_set_term_driver(void* term); 143 | 70extern int _nc_mingw_ioctl(int fd, long int request, struct termios* arg); 71extern void _nc_set_term_driver(void* term); 72 |
144#ifndef cfgetospeed 145#define cfgetospeed(t) ((t)->c_cflag & CBAUD) 146#endif 147 148#ifndef tcsetattr 149#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg) 150#endif 151 152#ifndef tcgetattr 153#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg) 154#endif 155 156#ifndef tcflush 157#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg) 158#endif 159 160#undef ttyname 161#define ttyname(fd) NULL 162 163#endif 164#endif | 73#endif /* _NC_MINGWH */ 74#endif /* __MINGW32__ */ |