comparison linux/getch2.c @ 958:162a78d3cc08

FreeBSD support by Vladimir Kushnir vkushnir@Alfacom.net
author arpi_esp
date Sun, 03 Jun 2001 00:31:41 +0000
parents 3b5f5d1c5041
children b36fb1ae4b53
comparison
equal deleted inserted replaced
957:1a8811b0da3b 958:162a78d3cc08
199 return code; 199 return code;
200 } 200 }
201 201
202 void getch2_enable(){ 202 void getch2_enable(){
203 struct termios tio_new; 203 struct termios tio_new;
204 #ifdef __FreeBSD__
205 ioctl(0,TIOCGETA,&tio_orig); /* tcgetattr(0,&tio_orig); */
206 #else
204 ioctl(0,TCGETS,&tio_orig); /* tcgetattr(0,&tio_orig); */ 207 ioctl(0,TCGETS,&tio_orig); /* tcgetattr(0,&tio_orig); */
208 #endif
205 tio_new=tio_orig; 209 tio_new=tio_orig;
206 tio_new.c_lflag &= ~(ICANON|ECHO); /* Clear ICANON and ECHO. */ 210 tio_new.c_lflag &= ~(ICANON|ECHO); /* Clear ICANON and ECHO. */
207 tio_new.c_cc[VMIN] = 1; 211 tio_new.c_cc[VMIN] = 1;
208 tio_new.c_cc[VTIME] = 0; 212 tio_new.c_cc[VTIME] = 0;
213 #ifdef __FreeBSD__
214 ioctl(0,TIOCSETA,&tio_new); /* tcsetattr(0,TCSANOW,&tio_new); */
215 #else
209 ioctl(0,TCSETS,&tio_new); /* tcsetattr(0,TCSANOW,&tio_new); */ 216 ioctl(0,TCSETS,&tio_new); /* tcsetattr(0,TCSANOW,&tio_new); */
217 #endif
210 } 218 }
211 219
212 void getch2_disable(){ 220 void getch2_disable(){
221 #ifdef __FreeBSD__
222 ioctl(0,TIOCSETA,&tio_orig); /* tcsetattr(0,TCSANOW,&tio_orig); */
223 #else
213 ioctl(0,TCSETS,&tio_orig); /* tcsetattr(0,TCSANOW,&tio_orig); */ 224 ioctl(0,TCSETS,&tio_orig); /* tcsetattr(0,TCSANOW,&tio_orig); */
214 } 225 #endif
215 226 }
227