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

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

?? mon_pa.c

?? isa總線設(shè)備
?? C
字號(hào):
/*****************************************************************************//* MON_PA.C								     *//*									     *//* Copyright (c) Moxa Technologies Co., LTD. 1999. All Rights Reserved.	     *//*									     *//* Revision history:							     *//*	10/95	JOSE							     *//*	12/96	Hsu	Modify for Linux 2.0.0 (C168/C104 ADM)	             *//*     8/5/99   Casper                                                       *//*    03/20/03  George	Modified to support PC104 Communication Module       *//*****************************************************************************/#include	<fcntl.h>#include	<linux/types.h>#include	<time.h>//#include        <sys/ioctl.h>#include	"../mxwinlib/win.h"#include	"../mxlib/declare.h"#include	"../global.h"#include	"mon.h"#define         MOXA_GETMSTATUS         (MOXA + 65)/*****************************************************************************//* GLOBAL FUNCTIONS							     *//*****************************************************************************/int	mon_pa_setup();/*****************************************************************************//* GLOBAL VARIABLES							     *//*****************************************************************************//*****************************************************************************//* STATIC FUNCTIONS							     *//*****************************************************************************/static	int	init_menu(void);static	int	prepare_menu();static 	int	getstatus();/*****************************************************************************//* STATIC VARIABLES							     *//*****************************************************************************/#define Total_Item	8#define Max_Col 	1#define Col_Space	14static  struct WItem	OnOffMenuItem[] = {	{F_Active, "OFF"},	{F_Active, "ON"}};static	int		itemflag[Total_Item] = {	F_Readonly,	F_Readonly,	F_Readonly,	F_Readonly,	F_Readonly,	F_Readonly,	F_Readonly,	F_Readonly};static	char		*itemdes[Total_Item] = {	" Device Name  ",	" Baud Rate    ",	" Parity       ",	" Data Bits    ",	" Stop Bits    ",	" CTS          ",	" DSR          ",	" DCD          "};static	struct	GEdit2	menu2 = {	Edit2Type0, -1, 4, Total_Item,	"Port Status", 0, 0,	{ "PgDn:Next  PgUp:Prev ",	  " Esc:Exit "},	0};struct WItem	BaudRateMenuItem[] = {	{F_Active, "50"},	{F_Active, "75"},	{F_Active, "110"},	{F_Active, "134"},	{F_Active, "150"},	{F_Active, "200"},	{F_Active, "300"},	{F_Active, "600"},	{F_Active, "1200"},	{F_Active, "1800"},	{F_Active, "2400"},	{F_Active, "4800"},	{F_Active, "9600"},	{F_Active, "19200"},	{F_Active, "38400"},	{F_Active, "57600"},	{F_Active, "115200"},	{F_Active, "230400"},	{F_Active, "460800"},	{F_Active, "921600"}};struct WSelect	BaudRateMenu = {	-1, 3, 0, 17, 0, 0, 0, 17, BaudRateMenuItem};struct WItem	ParityMenuItem[] = {	{F_Active, " None "},	{F_Active, "  Odd "},	{F_Active, " Even "},	{F_Active, " Even "},	{F_Active, " Mark "},	{F_Active, " Space"}};struct WSelect	ParityMenu = {	-1, 10, 0, 3, 0, 0, 0, 3, ParityMenuItem};struct WItem	DataBitMenuItem[] = {	{F_Active, " 5 "},	{F_Active, " 6 "},	{F_Active, " 7 "},	{F_Active, " 8 "}};struct WSelect	DataBitMenu = {	-1, 10, 0, 4, 0, 0, 0, 4, DataBitMenuItem};struct WItem	StopBitMenuItem[] = {	{F_Active, " 1 "},	{F_Active, " 2 "}};struct WSelect	StopBitMenu = {	-1, 10, 0, 2, 0, 0, 0, 2, StopBitMenuItem};struct WItem	YesNoMenuItem[] = {	{F_Active, "No "},	{F_Active, "Yes"}};struct WSelect	YesNoMenu = {	-1, 10, 0, 2, 0, 0, 0, 2, YesNoMenuItem};struct WItem	EnterMenuItem[] = {	{F_Active, "CR-LF"},	{F_Active, " CR  "},	{F_Active, " LF  "},	{F_Active, "LF-CR"}};struct WSelect	EnterMenu = {	-1, 10, 0, 4, 0, 0, 0, 4, EnterMenuItem};long BaudMapTab[] = {     B50, B75, B110, B134, B150, B200, B300, B600, B1200,     B1800,B2400,B4800,B9600,B19200,B38400,B57600,B115200,     B230400,B460800,B921600};static	int	old_space_ndx;struct	pstat_info_str {	uchar	baud;	uchar	parity;	uchar	databit;	uchar	stopbit;	uchar	CTS;	uchar	DSR;	uchar	DCD;	int	iqueue;	int	oqueue;};static	struct	pstat_info_str	pinfo;#define CTS_SIG 0x01#define DSR_SIG 0x02#define DCD_SIG 0x04static	time_t	t1, t3;/*****************************************************************************//*	FUNCTIONS							     *//*****************************************************************************/int	mon_pa_setup(char *devname, int interval,                          int flag, int now_board, int port){	int	exit_flag=0, err_flag=0, ret=0, old_space_ndx;	old_space_ndx = init_menu();	mw_edit2init(&menu2);	t1 = time(&t3);	if ( prepare_menu(devname, now_board, port) < 0 )	    err_flag = 1;	else	    edit2_flush_data(&menu2);	while ( exit_flag == 0 && err_flag == 0 ) {	    switch (mw_getkey_nb()) {	    case K_ESC_A:	    case K_ESC:		exit_flag = 1;		break;	    case K_PGDOWN:		mw_getkey_nb();		if ( flag == MON_BOTTOM )		    break;		ret = 1;		exit_flag = 1;		break;	    case K_PGUP:		mw_getkey_nb();		if ( flag == MON_TOP )		    break;		ret = -1;		exit_flag = 1;		break;	    default:		if ( time(&t3) - t1 < interval )		    break;		t1 = time(&t3);		if ( prepare_menu(devname, now_board, port) < 0 )		    err_flag = 1;;		edit2_flush_data(&menu2);		break;	    }	}	release_space(old_space_ndx);	mw_edit2end();	return(ret);}static int init_menu(void){	int	i, j, k, old_space_ndx;	old_space_ndx = get_space_ndx();	j = sizeof(struct GItem2) * Total_Item;	menu2.item = (struct GItem2 *)get_space(j);	for ( i=0; i<Total_Item; i++ ) {	    menu2.item[i].flag = itemflag[i];	    menu2.item[i].des = itemdes[i];	    menu2.item[i].act_item = 0;	    menu2.item[i].total = Max_Col;	    /* jose: to fit for each column space */	    for ( j = 0; j < Max_Col; j++ ) {		menu2.item[i].len[j] = Col_Space;		menu2.item[i].str[j] = get_space(Col_Space + 1);		for ( k=0; k<Col_Space; k++ )		    menu2.item[i].str[j][k] = ' ';		menu2.item[i].str[j][k] = 0;	    }	}	menu2.act_item = 1;	return(old_space_ndx);}static int prepare_menu(char *devname, int now_board, int port){	int	j, i;	char	str[20];	for ( j=0; j<Max_Col; j++ ) {	    if ( getstatus(devname, now_board, port) < 0 )		return(-1);	    for ( i=0; i<10; i++ ) {		str[i] = devname[i];	 	if ( str[i] <= ' ' )		    break;	    }	    str[i] = 0;	    sprintf(menu2.item[0].str[j], " %9s   ", str);	    sprintf(menu2.item[1].str[j], " %9s   ",		    BaudRateMenuItem[pinfo.baud].str);	    sprintf(menu2.item[2].str[j], "  %9s  ",		    ParityMenuItem[pinfo.parity].str);	    sprintf(menu2.item[3].str[j], "  %9s  ",		    DataBitMenuItem[pinfo.databit].str);	    sprintf(menu2.item[4].str[j], "  %9s  ",		    StopBitMenuItem[pinfo.stopbit].str);	    sprintf(menu2.item[5].str[j], "  %9s  ",		    OnOffMenuItem[pinfo.CTS].str);	    sprintf(menu2.item[6].str[j], "  %9s  ",		    OnOffMenuItem[pinfo.DSR].str);	    sprintf(menu2.item[7].str[j], "  %9s  ",		    OnOffMenuItem[pinfo.DCD].str);	}	return(0);}static	getstatus(char *devname, int now_board, int port){	int		fd, i, j, idx;	char		tmp[80];	struct termios	tty;        struct mxpcdrv_mstatus    mstatus[MXPCDRV_MAXPORT];	fd = open("/dev/mxpcdrv", O_RDWR);	if ( fd < 0 )	    return(-1);            	ioctl(fd, MOXA_GETMSTATUS, mstatus);        idx = now_board * MXPCDRV_PORTS_PER_BOARD + port;        for(i=0;i<20;i++){            if((mstatus[idx].cflag & (CBAUD | CBAUDEX) ) == BaudMapTab[i]){                pinfo.baud = i;                break;            }        }	if ( mstatus[idx].cflag & PARENB ) {		if (mstatus[idx].cflag & PARODD){#ifdef CMSPAR			if(mstatus[idx].cflag & CMSPAR)				pinfo.parity = 3;			else#endif				pinfo.parity = 1;		}else{#ifdef CMSPAR			if(mstatus[idx].cflag & CMSPAR)				pinfo.parity = 4;			else#endif				pinfo.parity = 2;		}	} else	    pinfo.parity = 0;	switch(mstatus[idx].cflag & CSIZE){	    case CS5:	        pinfo.databit = 0;		break;	    case CS6:	        pinfo.databit = 1;		break;	    case CS7:	        pinfo.databit = 2;		break;	    case CS8:	        pinfo.databit = 3;		break;	}	if ( mstatus[idx].cflag & CSTOPB )	    pinfo.stopbit = 1;	else	    pinfo.stopbit = 0;	pinfo.CTS = mstatus[idx].cts;	pinfo.DSR = mstatus[idx].dsr;	pinfo.DCD = mstatus[idx].dcd;        	close(fd);	return(0);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二三区| 午夜精品一区二区三区电影天堂 | 亚洲v精品v日韩v欧美v专区| 欧美最新大片在线看| 视频在线观看91| 久久久久久久性| 色哟哟精品一区| 人禽交欧美网站| 久久毛片高清国产| 色94色欧美sute亚洲线路二| 日本不卡1234视频| 欧美xxxx老人做受| 91视频免费观看| 蜜臀av性久久久久蜜臀aⅴ| 国产视频视频一区| 欧美日韩国产高清一区二区三区| 精品在线播放免费| 亚洲精品中文字幕乱码三区| 欧美一区二区三区白人| 成人av在线资源网| 麻豆freexxxx性91精品| 国产精品天干天干在观线| 欧美日韩一区二区三区在线看| 国产乱子轮精品视频| 亚洲一区二区三区国产| 欧美大度的电影原声| 色菇凉天天综合网| 国产一区二区不卡| 五月婷婷久久丁香| 中文字幕在线一区| 欧美剧情电影在线观看完整版免费励志电影 | 国产激情一区二区三区四区| 一区二区三区成人| 久久免费偷拍视频| 欧美狂野另类xxxxoooo| 91麻豆高清视频| 韩国中文字幕2020精品| 午夜视频在线观看一区| 国产精品灌醉下药二区| 久久亚区不卡日本| 日韩一区二区三区视频| 欧美日韩黄色影视| 色悠悠久久综合| 久久电影网站中文字幕| 午夜影视日本亚洲欧洲精品| ...av二区三区久久精品| 国产日韩欧美精品综合| 欧美精品一区二区不卡| 欧美在线观看视频在线| 91在线精品一区二区| 蜜桃视频在线观看一区二区| 一区二区三区四区在线| 中文字幕一区二区三区在线不卡| 久久久久久亚洲综合| 精品成a人在线观看| 欧美视频完全免费看| 91视频免费看| 色狠狠综合天天综合综合| 成人国产精品免费| caoporen国产精品视频| 国产精品中文有码| 国产精选一区二区三区| 久久精品av麻豆的观看方式| 美女尤物国产一区| 国内欧美视频一区二区| 精品一区在线看| 国内久久精品视频| 国产福利91精品一区| 国产精品99久久久久久宅男| 精品中文字幕一区二区小辣椒 | 精品sm捆绑视频| 国产女人18毛片水真多成人如厕 | 91精品国产91久久久久久一区二区 | 天天亚洲美女在线视频| 久久国产精品色婷婷| 国产一区二区三区黄视频| 国产iv一区二区三区| 欧美中文字幕亚洲一区二区va在线| 欧美日韩国产高清一区二区三区| 精品国产免费人成电影在线观看四季| 日本一区二区三区四区| 玉足女爽爽91| 久99久精品视频免费观看| 波多野结衣精品在线| 欧美日韩久久久| 久久蜜桃一区二区| 99re在线精品| 91精品国产91久久综合桃花| 国产免费观看久久| 亚洲gay无套男同| 国产a久久麻豆| 欧美日韩精品综合在线| 国产欧美va欧美不卡在线| 亚洲成a人片综合在线| 国产最新精品精品你懂的| 在线看日韩精品电影| 精品国产一区a| 亚洲高清不卡在线| 国产精品一区二区你懂的| 国产精品丝袜黑色高跟| 免费看欧美美女黄的网站| 成人app软件下载大全免费| 在线播放欧美女士性生活| 日本一区免费视频| 免费看欧美女人艹b| 色妞www精品视频| 久久综合狠狠综合久久综合88| 一区二区理论电影在线观看| 国产精品一区二区在线观看网站| 欧美三级三级三级爽爽爽| 亚洲欧洲一区二区在线播放| 精品一区二区影视| 欧美久久一二区| 一区二区在线看| 东方aⅴ免费观看久久av| 日韩欧美一区二区免费| 亚洲123区在线观看| 不卡一区二区在线| 国产欧美一区二区三区沐欲| 奇米影视7777精品一区二区| 欧美这里有精品| 日韩美女精品在线| 粗大黑人巨茎大战欧美成人| 久久综合五月天婷婷伊人| 蜜桃av一区二区| 欧美卡1卡2卡| 午夜精品福利一区二区蜜股av| 99re热视频这里只精品| 国产精品丝袜久久久久久app| 激情综合色综合久久综合| 欧美一区二区三区系列电影| 亚洲国产精品一区二区www| 一本久久a久久精品亚洲| 亚洲欧美在线另类| 99久久国产综合色|国产精品| 中文字幕高清不卡| 高清在线成人网| 国产精品日韩成人| 成人免费毛片片v| 欧美国产视频在线| 成人免费的视频| 亚洲欧美在线高清| 一本色道a无线码一区v| 亚洲裸体xxx| 色老汉av一区二区三区| thepron国产精品| 国产精品国产a级| 欧美丰满高潮xxxx喷水动漫| 免费高清视频精品| 亚洲乱码国产乱码精品精可以看| 2022国产精品视频| 亚洲国产中文字幕在线视频综合| av电影在线观看完整版一区二区| 3d成人h动漫网站入口| 精品久久久久久久久久久久久久久 | 色先锋aa成人| 亚洲高清免费在线| 国产婷婷精品av在线| 欧美妇女性影城| 91免费国产在线| 国产精品影视天天线| 免费人成精品欧美精品| 亚州成人在线电影| 亚洲激情在线播放| 一区二区免费在线播放| 亚洲欧洲无码一区二区三区| 欧美精品一区二区三| 欧美一区午夜精品| 日韩亚洲欧美成人一区| av一区二区三区四区| 久久99热这里只有精品| 亚洲女与黑人做爰| 国产日产欧美一区| 日韩一区二区三区av| 欧美午夜不卡在线观看免费| 国产一区二区在线电影| 亚洲成a人在线观看| 久久亚洲精华国产精华液| 欧美一级搡bbbb搡bbbb| 欧美日韩午夜在线视频| 一区2区3区在线看| 色屁屁一区二区| 色婷婷激情一区二区三区| www.在线成人| 日韩精品一区二区在线| 久久不见久久见免费视频7| 欧美性猛交xxxxxx富婆| 美腿丝袜亚洲色图| 欧美zozo另类异族| 国产xxx精品视频大全| 亚洲成人动漫精品| 日韩一区二区在线观看视频播放| 777午夜精品免费视频| 亚洲精品综合在线| 久久噜噜亚洲综合| 91污在线观看| 日韩精品一级中文字幕精品视频免费观看 | 在线免费视频一区二区| www.欧美日韩| 一本久久a久久精品亚洲|