亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysdep1.c

?? minicom2.0源代碼
?? C
字號:
/* * sysdep1.c	system dependant routines. * *		m_dtrtoggle	- dropt dtr and raise it again *		m_break		- send BREAK signal *		m_getdcd	- get modem dcd status *		m_setdcd	- set modem dcd status *		m_savestate	- save modem state *		m_restorestate	- restore saved modem state *		m_nohang	- tell driver not to hang up at DTR drop *		m_hupcl		- set hangup on close on/off *		m_setparms	- set speed, parity, bits and stopbits *		m_readchk	- see if there is input waiting. *		m_wait		- wait for child to finish. Sysdep. too. * *		If it's possible, Posix termios are preferred. * *		This file is part of the minicom communications package, *		Copyright 1991-1995 Miquel van Smoorenburg. * *		This program is free software; you can redistribute it and/or *		modify it under the terms of the GNU General Public License *		as published by the Free Software Foundation; either version *		2 of the License, or (at your option) any later version. * *   jl  23.06.97  adjustable DTR downtime */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include "rcsid.h"RCSID("$Id: sysdep1.c,v 1.6 2000/06/24 16:01:29 walker Exp $")#include "sysdep.h"/* Set hardware flow control. */void m_sethwf(fd, on)int fd, on;{#ifdef _DGUX_SOURCE  struct termiox x;#endif#ifdef POSIX_TERMIOS  struct termios tty;  tcgetattr(fd, &tty);  if (on)	tty.c_cflag |= CRTSCTS;  else	tty.c_cflag &= ~CRTSCTS;  tcsetattr(fd, TCSANOW, &tty);#endif#ifdef _DGUX_SOURCE  if (ioctl(fd, TCGETX, &x) < 0) {	fprintf(stderr, _("can't get termiox attr.\n"));	return;  }  x.x_hflag = on ? RTSXOFF|CTSXON : 0;  if (ioctl(fd, TCSETX, &x) < 0) {	fprintf(stderr, _("can't set termiox attr.\n"));	return;  }#endif}/* Set RTS line. Sometimes dropped. Linux specific? */void m_setrts(fd)int fd;{#if defined(TIOCM_RTS) && defined(TIOCMODG)  int mcs=0;  ioctl(fd, TIOCMODG, &mcs);  mcs |= TIOCM_RTS;  ioctl(fd, TIOCMODS, &mcs);#endif#ifdef _COHERENT  ioctl(fd, TIOCSRTS, 0);#endif}/* * Drop DTR line and raise it again. */void m_dtrtoggle(fd,sec) int fd;int sec;{#ifdef TIOCSDTR  /* Use the ioctls meant for this type of thing. */  ioctl(fd, TIOCCDTR, 0);  if (sec>0) {    sleep(sec);    ioctl(fd, TIOCSDTR, 0);  }#else /* TIOCSDTR */#  if defined (POSIX_TERMIOS) && !defined(_HPUX_SOURCE)  /* Posix - set baudrate to 0 and back */  struct termios tty, old;  tcgetattr(fd, &tty);  tcgetattr(fd, &old);  cfsetospeed(&tty, B0);  cfsetispeed(&tty, B0);  tcsetattr(fd, TCSANOW, &tty);  if (sec>0) {    sleep(sec);    tcsetattr(fd, TCSANOW, &old);  }#  else /* POSIX */#    ifdef _V7  /* Just drop speed to 0 and back to normal again */  struct sgttyb sg, ng;    ioctl(fd, TIOCGETP, &sg);  ioctl(fd, TIOCGETP, &ng);    ng.sg_ispeed = ng.sg_ospeed = 0;  ioctl(fd, TIOCSETP, &ng);  if (sec>0) {    sleep(sec);    ioctl(fd, TIOCSETP, &sg);  }#    endif /* _V7 */#    ifdef _HPUX_SOURCE  unsigned long mflag = 0L;  ioctl(fd, MCSETAF, &mflag);  ioctl(fd, MCGETA, &mflag);  mflag = MRTS | MDTR;  if (sec>0) {    sleep(sec);    ioctl(fd, MCSETAF, &mflag);  }#    endif /* _HPUX_SOURCE */#  endif /* POSIX */#endif /* TIOCSDTR */}/* * Send a break */void m_break(fd)int fd;{ #ifdef POSIX_TERMIOS  tcsendbreak(fd, 0);#else#  ifdef _V7#    ifndef TIOCSBRK  struct sgttyb sg, ng;  ioctl(fd, TIOCGETP, &sg);  ioctl(fd, TIOCGETP, &ng);  ng.sg_ispeed = ng.sg_ospeed = B110;  ng.sg_flags = BITS8 | RAW;  ioctl(fd, TIOCSETP, &ng);  write(fd, "\0\0\0\0\0\0\0\0\0\0", 10);  ioctl(fd, TIOCSETP, &sg);#    else  ioctl(fd, TIOCSBRK, 0);  sleep(1);  ioctl(fd, TIOCCBRK, 0);#    endif#  endif#endif}/* * Get the dcd status */int m_getdcd(fd)int fd;{#ifdef TIOCMODG  int mcs=0;     ioctl(fd, TIOCMODG, &mcs);  return(mcs & TIOCM_CAR ? 1 : 0);#else  (void)fd;  return(0); /* Impossible!! (eg. Coherent) */#endif}/* Variables to save states in */#ifdef POSIX_TERMIOSstatic struct termios savetty;static int m_word;#else#  if defined (_BSD43) || defined (_V7)static struct sgttyb sg;static struct tchars tch;static int lsw;static int m_word;#  endif#endif/* * Save the state of a port */void m_savestate(fd)int fd;{#ifdef POSIX_TERMIOS  tcgetattr(fd, &savetty);#else#  if defined(_BSD43) || defined(_V7)  ioctl(fd, TIOCGETP, &sg);  ioctl(fd, TIOCGETC, &tch);#  endif#  ifdef _BSD43  ioctl(fd, TIOCLGET, &lsw);#  endif#endif#ifdef TIOCMODG  ioctl(fd, TIOCMODG, &m_word);#endif}/* * Restore the state of a port */void m_restorestate(fd)int fd;{#ifdef POSIX_TERMIOS  tcsetattr(fd, TCSANOW, &savetty);#else#  if defined(_BSD43) || defined(_V7)  ioctl(fd, TIOCSETP, &sg);  ioctl(fd, TIOCSETC, &tch);#  endif#  ifdef _BSD43    ioctl(fd, TIOCLSET, &lsw);#  endif#endif#ifdef TIOCMODS  ioctl(fd, TIOCMODS, &m_word);#endif}/* * Set the line status so that it will not kill our process * if the line hangs up. *//*ARGSUSED*/ void m_nohang(fd)int fd;{#ifdef POSIX_TERMIOS  struct termios sgg;    tcgetattr(fd, &sgg);  sgg.c_cflag |= CLOCAL;  tcsetattr(fd, TCSANOW, &sgg);#else#  if defined (_BSD43) && defined(LNOHANG)  int lsw;    ioctl(fd, TIOCLGET, &lsw);  lsw |= LNOHANG;  ioctl(fd, TIOCLSET, &lsw);#  endif#  ifdef _COHERENT  /* Doesn't know about this either, me thinks. */#  endif#endif}/* * Set hangup on close on/off. */void m_hupcl(fd, on)int fd;int on;{  /* Eh, I don't know how to do this under BSD (yet..) */#ifdef POSIX_TERMIOS  struct termios sgg;    tcgetattr(fd, &sgg);  if (on)  	sgg.c_cflag |= HUPCL;  else	sgg.c_cflag &= ~HUPCL;  tcsetattr(fd, TCSANOW, &sgg);#endif}/* * Flush the buffers */void m_flush(fd)int fd;{/* Should I Posixify this, or not? */#ifdef TCFLSH  ioctl(fd, TCFLSH, 2);#endif#ifdef TIOCFLUSH#ifdef _COHERENT  ioctl(fd, TIOCFLUSH, 0);#else  ioctl(fd, TIOCFLUSH, (void *)0);#endif#endif}/* * See if there is input waiting. * returns: 0=nothing, >0=something, -1=can't. */int m_readchk(fd)int fd;{#ifdef FIONREAD  long i = -1;  (void) ioctl(fd, FIONREAD, &i);  return((int)i);#else#  if defined(F_GETFL) && defined(O_NDELAY)  int i, old;  char c;  old = fcntl(fd, F_GETFL, 0);  (void) fcntl(fd, F_SETFL, old | O_NDELAY);  i = read(fd, &c, 1);  (void) fcntl(fd, F_SETFL, old);  return(i);#  else  return(-1);#  endif#endif}/* * Get maximum speed. * Returns maximum speed / 100. (192-1152) */int m_getmaxspd(){#ifdef B230400  return(2304);#elif defined(B115200)  return(1152);#elif defined(B57600)  return(576);#elif defined(B38400)  return(384);#elif defined(EXTB)  return(384);#elif defined(B19200)  return(192);#elif defined(EXTA)  return(192);#else  return(96);#endif}/* * Set baudrate, parity and number of bits. */void m_setparms(fd, baudr, par, bits, stopb, hwf, swf)int fd;char *baudr;char *par;char *bits;char *stopb;int hwf;int swf;{  int spd = -1;  int newbaud;  int bit = bits[0];#ifdef POSIX_TERMIOS  struct termios tty;  tcgetattr(fd, &tty);#else /* POSIX_TERMIOS */  struct sgttyb tty;  ioctl(fd, TIOCGETP, &tty);#endif /* POSIX_TERMIOS */  /* We generate mark and space parity ourself. */  if (bit == '7' && (par[0] == 'M' || par[0] == 'S'))	bit = '8';  /* Check if 'baudr' is really a number */  if ((newbaud = (atol(baudr) / 100)) == 0 && baudr[0] != '0') newbaud = -1;  switch(newbaud) {  	case 0:#ifdef B0			spd = B0;	break;#else			spd = 0;	break;#endif  	case 3:		spd = B300;	break;  	case 6:		spd = B600;	break;  	case 12:	spd = B1200;	break;  	case 24:	spd = B2400;	break;  	case 48:	spd = B4800;	break;  	case 96:	spd = B9600;	break;#ifdef B19200  	case 192:	spd = B19200;	break;#else /* B19200 */#  ifdef EXTA	case 192:	spd = EXTA;	break;#   else /* EXTA */	case 192:	spd = B9600;	break;#   endif /* EXTA */#endif	 /* B19200 */#ifdef B38400  	case 384:	spd = B38400;	break;#else /* B38400 */#  ifdef EXTB	case 384:	spd = EXTB;	break;#   else /* EXTB */	case 384:	spd = B9600;	break;#   endif /* EXTB */#endif	 /* B38400 */#ifdef B57600	case 576:	spd = B57600;	break;#endif#ifdef B115200	case 1152:	spd = B115200;	break;#endif#ifdef B230400	case 2304:	spd = B230400;	break;#endif  }  #if defined (_BSD43) && !defined(POSIX_TERMIOS)  if (spd != -1) tty.sg_ispeed = tty.sg_ospeed = spd;  /* Number of bits is ignored */  tty.sg_flags = RAW | TANDEM;  if (par[0] == 'E')	tty.sg_flags |= EVENP;  else if (par[0] == 'O')	tty.sg_flags |= ODDP;  else  	tty.sg_flags |= PASS8 | ANYP;  ioctl(fd, TIOCSETP, &tty);#  ifdef TIOCSDTR  /* FIXME: huh? - MvS */  ioctl(fd, TIOCSDTR, 0);#  endif#endif /* _BSD43 && !POSIX_TERMIOS */#if defined (_V7) && !defined(POSIX_TERMIOS)  if (spd != -1) tty.sg_ispeed = tty.sg_ospeed = spd;  tty.sg_flags = RAW;  if (par[0] == 'E')	tty.sg_flags |= EVENP;  else if (par[0] == 'O')	tty.sg_flags |= ODDP;  ioctl(fd, TIOCSETP, &tty);#endif /* _V7 && !POSIX */#ifdef POSIX_TERMIOS  if (spd != -1) {	cfsetospeed(&tty, (speed_t)spd);	cfsetispeed(&tty, (speed_t)spd);  }  switch (bit) {  	case '5':  		tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS5;  		break;  	case '6':  		tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS6;  		break;  	case '7':  		tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS7;  		break;  	case '8':	default:  		tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS8;  		break;  }		  /* Set into raw, no echo mode */  tty.c_iflag =  IGNBRK;  tty.c_lflag = 0;  tty.c_oflag = 0;  tty.c_cflag |= CLOCAL | CREAD;#ifdef _DCDFLOW  tty.c_cflag &= ~CRTSCTS;#endif  tty.c_cc[VMIN] = 1;  tty.c_cc[VTIME] = 5;  if (swf)	tty.c_iflag |= IXON | IXOFF;  else	tty.c_iflag &= ~(IXON|IXOFF|IXANY);  tty.c_cflag &= ~(PARENB | PARODD);  if (par[0] == 'E')	tty.c_cflag |= PARENB;  else if (par[0] == 'O')	tty.c_cflag |= (PARENB | PARODD);  if (stopb[0] == '2')    tty.c_cflag |= CSTOPB;  else    tty.c_cflag &= ~CSTOPB;  tcsetattr(fd, TCSANOW, &tty);  m_setrts(fd);#endif /* POSIX_TERMIOS */#ifndef _DCDFLOW  m_sethwf(fd, hwf);#endif}/* * Wait for child and return pid + status */int m_wait(stt)int *stt;{#if defined (_BSD43) && !defined(POSIX_TERMIOS)  int pid;  union wait st1;    pid = wait((void *)&st1);  *stt = (unsigned)st1.w_retcode + 256 * (unsigned)st1.w_termsig;  return(pid);#else  int pid;  int st1;    pid = wait(&st1);  *stt = (unsigned)WEXITSTATUS(st1) + 256 * (unsigned)WTERMSIG(st1);  return(pid);#endif}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区三区| 91精品久久久久久久久99蜜臂| 图片区小说区区亚洲影院| 国产三区在线成人av| 欧美日韩中文精品| 99久久久国产精品免费蜜臀| 久久99九九99精品| 亚洲线精品一区二区三区八戒| 久久精品亚洲精品国产欧美kt∨| 欧美精品高清视频| 91福利在线导航| 高清免费成人av| 蜜臀a∨国产成人精品| 一区二区三区精品视频| 欧美国产乱子伦| 精品福利视频一区二区三区| 欧美日韩一二三| 色综合色狠狠综合色| 国产乱人伦精品一区二区在线观看 | 国产精品综合一区二区三区| 一级日本不卡的影视| 国产精品久久99| 久久久久久久久一| 26uuu精品一区二区在线观看| 欧美精品tushy高清| 欧美三级日韩三级国产三级| 91麻豆视频网站| 色综合久久久久综合体| av午夜一区麻豆| av在线这里只有精品| 国产成人鲁色资源国产91色综| 久久超碰97人人做人人爱| 青青草国产成人99久久| 青青草成人在线观看| 免费人成黄页网站在线一区二区| 五月天亚洲婷婷| 视频精品一区二区| 日本成人在线一区| 日韩成人一级大片| 日本免费新一区视频| 免费在线观看视频一区| 捆绑紧缚一区二区三区视频 | 色婷婷综合五月| 色综合亚洲欧洲| 91在线一区二区三区| 99视频一区二区三区| 91视频.com| 91福利在线导航| 欧美精品日韩综合在线| 91精品国产日韩91久久久久久| 91精品国产综合久久精品| 日韩欧美一区电影| 久久久精品人体av艺术| 国产精品高潮呻吟久久| 亚洲人成小说网站色在线| 尤物av一区二区| 午夜精品久久久久影视| 精品在线视频一区| 成人免费视频视频| 日本高清视频一区二区| 欧美男男青年gay1069videost| 欧美大片在线观看一区| 国产精品美女久久久久av爽李琼| 亚洲色图欧洲色图婷婷| 亚洲第一成人在线| 国产综合久久久久影院| av亚洲精华国产精华| 欧美伦理视频网站| 337p粉嫩大胆噜噜噜噜噜91av| 中文字幕乱码一区二区免费| 亚洲电影你懂得| 国产在线播放一区二区三区| av在线不卡免费看| 欧美精选在线播放| 久久久高清一区二区三区| 亚洲美女屁股眼交| 久久精品国产亚洲aⅴ| 成人a级免费电影| 91精品国产综合久久精品性色| 久久久91精品国产一区二区三区| 亚洲免费在线播放| 久久精品国产亚洲aⅴ| 色婷婷久久综合| 久久综合色鬼综合色| 亚洲美女偷拍久久| 国产专区欧美精品| 在线亚洲一区二区| 亚洲国产精品成人综合色在线婷婷| 一区二区高清在线| 国产精品系列在线观看| 欧美视频一区二区在线观看| 欧美国产日韩a欧美在线观看| 丝袜美腿亚洲一区二区图片| 不卡av在线免费观看| 欧美一区二区三区免费大片 | 精品国产sm最大网站免费看| **性色生活片久久毛片| 裸体一区二区三区| 日本道精品一区二区三区| 国产亚洲一区二区三区在线观看| 婷婷开心久久网| 91免费在线播放| 日本一区二区成人在线| 麻豆国产91在线播放| 欧美系列在线观看| 亚洲欧美一区二区三区久本道91 | 91影院在线免费观看| 欧美精品一区二区在线观看| 国产一区视频在线看| 欧美日韩精品欧美日韩精品| 国产精品久久久久久户外露出 | 日本在线观看不卡视频| 99国内精品久久| 国产欧美综合色| 激情五月播播久久久精品| 欧美人体做爰大胆视频| 亚洲午夜三级在线| 99re这里只有精品6| 国产精品色哟哟| 东方aⅴ免费观看久久av| 26uuu精品一区二区三区四区在线| 婷婷成人激情在线网| 欧美亚州韩日在线看免费版国语版| 亚洲欧洲日韩综合一区二区| 夫妻av一区二区| 久久久精品tv| 国产成人三级在线观看| 久久综合久久久久88| 久久国产精品免费| 日韩精品一区二区在线| 青椒成人免费视频| 欧美刺激午夜性久久久久久久| 日韩二区在线观看| 欧美一区二区三区免费观看视频| 午夜精品久久久久久久| 欧美日韩国产另类一区| 日韩经典中文字幕一区| 日韩一区二区精品葵司在线| 蜜臀a∨国产成人精品| 欧美精品一区二区不卡| 国产一区二区日韩精品| 欧美国产一区在线| 9人人澡人人爽人人精品| 亚洲精品免费在线| 欧美午夜理伦三级在线观看| 午夜av一区二区三区| 欧美另类一区二区三区| 久久99久久精品| 国产亚洲精品aa| 91小视频免费看| 午夜精品一区二区三区免费视频 | 日韩欧美一级二级三级| 韩国v欧美v亚洲v日本v| 欧美激情综合五月色丁香小说| 不卡一区中文字幕| 亚洲一区二区免费视频| 日韩欧美一级精品久久| 欧美日韩中文字幕一区二区| 亚洲成人午夜电影| 欧美成人女星排名| 成人黄色网址在线观看| 夜夜爽夜夜爽精品视频| 欧美一级欧美一级在线播放| 国产乱码精品一区二区三区五月婷| 欧美国产精品一区二区三区| 色av一区二区| 久久精品噜噜噜成人88aⅴ| 国产精品美女久久久久aⅴ | 91麻豆免费看片| 日韩福利电影在线| 中文一区在线播放| 欧美图区在线视频| 精品一区二区久久久| 亚洲天天做日日做天天谢日日欢| 3d动漫精品啪啪1区2区免费| 国产成人av资源| 亚洲.国产.中文慕字在线| 久久人人爽人人爽| 欧美日韩和欧美的一区二区| 国产一区二区导航在线播放| 亚洲狠狠丁香婷婷综合久久久| 日韩视频在线一区二区| 99视频有精品| 韩国精品主播一区二区在线观看| 亚洲人成网站在线| 久久一日本道色综合| 欧美综合久久久| 国产iv一区二区三区| 日本中文一区二区三区| 亚洲同性同志一二三专区| 欧美成人激情免费网| 欧美在线看片a免费观看| 国产精品一区二区久久不卡 | 欧美一区二区三级| 不卡一区二区在线| 国产一区二区三区四| 日本vs亚洲vs韩国一区三区| 国产精品短视频| 久久久精品国产免费观看同学| 欧美精品九九99久久|