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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pubfunc.c

?? 這個程序是我們公司自己開發的modem卡的驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
{
	int i;
	for(i=0;i<size;i++)
	{
		if((unsigned char)ch1[i]!=(unsigned char)ch2[i])
			return -1;
	}
	return 0;
}

/*************************************************************************
func: ConvertStrToBuf
type: public
desc: 將一個將代表數字的字符串(如"1234")轉成實際數字存入buf中(如buf[0]=1,
      buf[1]=2...)
ret : returns the length of the BCD numeric string.
**************************************************************************/
int ConvertStrToBuf(char *str,char *buf,int size)
{
	int i;
	for(i=0;i<size;i++)
	{
		buf[i]=str[i]-'0';
	}
	return i;
}
void WriteDataToFile(char *filename,char *data,long size,char *mode)
{
	FILE *fp;
	long retval;
	fp=fopen(filename,mode);
	if ( fp!=NULL)
	{
		retval = fwrite(data,sizeof(char),size,fp);
		fclose(fp);
		if(retval != size)
			printf("Write data to %s failed!\n",filename);
	}
	return;
}

/**********************************************************************
* Dec : 多通道設置窗口
* Ret : Modem卡數量
**********************************************************************/
int MultChlSetup(t_MdmArg *out_pmdmarg, int *out_comm_times, char *cs_type)
{
	int i,j,ret;
	t_MdmArg mdmarg[8];
	int mdm_count = 0;
	FILE *fp;
	//定義組件
	newtComponent form;
	newtComponent chk_mdmchl[8][4],entry_phone[8][4];
	newtComponent label_mdmchl[4],label_phone[4], label_comm_times, label_radiobutton;
	newtComponent entry_comm_times;
	newtComponent radiobutton[2];
	newtComponent button_ok,button_cancel;
	newtComponent co;
	char res_chk_mdmchl[8][4],*value_phone[8][4], *value_comm_times;
	char default_mdmchl[8][4],default_phone[8][4][8],default_comm_times[8],default_cs_type;
	int column = 1,row,pai = 3, width_per_column = 17;
	char *str_chk_mdmchl[8][4] = 
	{
		"M0C0","M0C1","M0C2","M0C3",
		"M1C0","M1C1","M1C2","M1C3",
		"M2C0","M2C1","M2C2","M2C3",
		"M3C0","M3C1","M3C2","M3C3",
		"M4C0","M4C1","M4C2","M4C3",
		"M5C0","M5C1","M5C2","M5C3",
		"M6C0","M6C1","M6C2","M6C3",
		"M7C0","M7C1","M7C2","M7C3"
	};
	char *str_radiobutton[2] =
	{
		"Client",
		"Server",
	};
		
	//初始化
	memset(default_mdmchl,' ',sizeof(default_mdmchl));
	memset(default_phone,0,sizeof(default_phone));
	strcpy(default_comm_times,"1");
	default_cs_type = 0;
	for (i=0; i<8; i++)
	{
		mdmarg[i].mdm_no = -1;
		memset(mdmarg[i].chl_no,-1,sizeof(mdmarg[i].chl_no));
		mdmarg[i].chl_num = 0;
		memset(mdmarg[i].phone,0,sizeof(mdmarg[i].phone));
	}
	if (out_comm_times)	*out_comm_times = 1;
	//讀配置文件設置參數
	fp = fopen("setupdlg.cfg","rb");			
	if (fp != NULL)
	{
		ret = fread((char*)mdmarg,sizeof(t_MdmArg),8,fp);
		for (i=0; i<ret; i++)
		{
			for (j=0; j<4; j++)
			{
				strcpy(default_phone[i][j],mdmarg[i].phone[j]);
				if (mdmarg[i].mdm_no>=0 && mdmarg[i].chl_no[j]>=0)
				{
					default_mdmchl[i][j] = '*';
				}
			}
		}
		ret = fread(out_comm_times,sizeof(char),sizeof(int),fp);
		//memcpy(out_comm_times,&mdmarg[ret],sizeof(int));
		if (ret<=0 || *out_comm_times<0)
		{
			*out_comm_times = 1;
		}
		sprintf(default_comm_times,"%d",*out_comm_times);
		ret = fread(&default_cs_type,sizeof(char),sizeof(char),fp);
		fclose(fp);
	}
	newtInit();
	newtCls();
	newtDrawRootText(1,0,"MNJFQ by XieHongwei");
	newtDrawRootText(40,0,"ZhongJie Group.CopyRight(R)(2001-2002)");
	newtPushHelpLine("Press tab or cursor key to switch...");
	//建立窗口
	newtCenteredWindow(70, 20, "ZJ-MNJFQ Setup Window");
	//newtOpenWindow(4, 3, 70, 18, "ZJ-MNJFQ Setup Window");
	//-------------------------------------------
	//建立Form
	form = newtForm(NULL, NULL, 0);
	//label
	for (i=0; i<4; i++)
	{
		label_mdmchl[i] = newtLabel(width_per_column*i+1, 1, "MdmChlNO");
		newtFormAddComponent(form, label_mdmchl[i]);
		label_phone[i] = newtLabel(width_per_column*i+1+9, 1, "Phone");
		newtFormAddComponent(form, label_phone[i]);
	}
	//button
	button_ok=newtButton(15,16," Go ");
	newtFormAddComponent(form, button_ok);
	button_cancel=newtButton(45,16,"Exit");
	newtFormAddComponent(form, button_cancel);
	//Modem and phone
	for(i=0; i<8; i++)
	{
		row = pai;
		for (j=0; j<4; j++)
		{
			chk_mdmchl[i][j] = newtCheckbox(column, row, str_chk_mdmchl[i][j],
				default_mdmchl[i][j]," *", NULL);
			newtFormAddComponent(form, chk_mdmchl[i][j]);
			entry_phone[i][j] = newtEntry(column+9,row++,default_phone[i][j],
				7,NULL,NEWT_FLAG_SCROLL | NEWT_FLAG_RETURNEXIT);
			newtFormAddComponent(form, entry_phone[i][j]);
		}
		column += width_per_column;
		if (column > width_per_column*4)
		{
			column = 1;
			pai += 5;
		}
	}
	//communicate times
	label_comm_times = newtLabel(1, pai, "Communicate times:");
	newtFormAddComponent(form, label_comm_times);
	entry_comm_times = newtEntry(20,pai,default_comm_times,12,NULL,NEWT_FLAG_SCROLL | NEWT_FLAG_RETURNEXIT);
	newtFormAddComponent(form, entry_comm_times);
	//radio_button
	label_radiobutton = newtLabel(37, pai, "C/S type:");
	newtFormAddComponent(form, label_radiobutton);
	radiobutton[0] = newtRadiobutton(48, pai, str_radiobutton[0], 1-default_cs_type, NULL);
	radiobutton[1] = newtRadiobutton(58, pai, str_radiobutton[1], default_cs_type, radiobutton[0]);
	for(i=0; i<2; i++)
		newtFormAddComponent(form, radiobutton[i]);
	
	pai += 3;
	//button
	/*
	button_ok=newtButton(15,pai," Go ");
	newtFormAddComponent(form, button_ok);
	button_cancel=newtButton(45,pai,"Exit");
	newtFormAddComponent(form, button_cancel);
	*/

	//--------------------------------------------
	//進入循環
	newtBell();
	co = newtRunForm(form);
	newtBell();
	//初始化結果緩沖
	for (i=0; i<8; i++)
	{
		mdmarg[i].mdm_no = -1;
		memset(mdmarg[i].chl_no,-1,sizeof(mdmarg[i].chl_no));
		mdmarg[i].chl_num = 0;
		memset(mdmarg[i].phone,0,sizeof(mdmarg[i].phone));
	}
	//獲取結果
	if (co != button_cancel)
	{
		for(i=0; i<8; i++)
		{
			for (j=0; j<4; j++)
			{
				res_chk_mdmchl[i][j] = newtCheckboxGetValue(chk_mdmchl[i][j]);
				value_phone[i][j] = strdup(newtEntryGetValue(entry_phone[i][j]));
			}
		}		
		value_comm_times = strdup(newtEntryGetValue(entry_comm_times));
		*out_comm_times = atoi(value_comm_times);
		free(value_comm_times);
		co = newtRadioGetCurrent(radiobutton[0]);
		for(i=0; i<2; i++)
		{
			if(co == radiobutton[i])
				default_cs_type = i;
		}
		
		mdm_count = 0;
		for(i=0; i<8; i++)
		{
			mdmarg[i].chl_num = 0;
			for (j=0; j<4; j++)
			{
				strcpy(mdmarg[i].phone[j],value_phone[i][j]);
				if(res_chk_mdmchl[i][j] == '*')
				{
					mdmarg[i].chl_no[j]=j;
					free(value_phone[i][j]);
					(mdmarg[i].chl_num)++;
				}
			}
			if (mdmarg[i].chl_num > 0)	//該modem卡有channel被選用
			{
				mdmarg[i].mdm_no = i;
				mdm_count++;
			}
		}
		//保存配置
		fp = fopen("setupdlg.cfg","wb");
		if (fp != NULL)
		{
			ret = fwrite((char*)mdmarg,sizeof(t_MdmArg),8,fp);
			ret = fwrite(out_comm_times,sizeof(int),1,fp);
			ret = fwrite(&default_cs_type,sizeof(char),sizeof(char),fp);
			fclose(fp);
		}
		if (mdm_count >= 8)
			mdm_count = 8;
		if (out_pmdmarg) memcpy(out_pmdmarg,mdmarg,8*sizeof(t_MdmArg));	
		if (cs_type) *cs_type = default_cs_type;	
	}
	else
	{
		mdm_count = -1;
	}
	//關閉Form
	newtFormDestroy(form);
	//復原
	newtFinished();
	system("clear");
	return mdm_count;
}

int CompBuf(t_TdkMdmChl *p_tdk,char *in_ch1, char *in_ch2 ,int bytes)
{
	int i;
	char log_str[256];
	int NoError = TRUE;
	for (i=0; i<bytes; i++)
	{
		if (in_ch1[i] != in_ch2[i])
		{
			Log(p_tdk,"Found difference data at %d byte:",i);
			Log(p_tdk,"Wrong data : 0x%.2x",(unsigned char)in_ch1[i]);
			Log(p_tdk,"Right data : 0x%.2x",(unsigned char)in_ch2[i]);
			NoError = FALSE;
		}
	}
	return NoError;
}

/*************************************************************************
func: JudgeTimeOut
type: private
desc: 獲得失敗通信的統計結果
ret : 已經超時返回IS_TIMEOUT,否則返回0
**************************************************************************/
int JudgeTimeOut(time_t start,time_t timeout)
{
	time_t now;
	time(&now);
	if (difftime(now,start)>timeout)
	{
		return IS_TIMEOUT;
	}
	else
	{
		return TRUE;
	}
}

/*****************************************
* 將數據寫入文件
*****************************************/
int WriteToFile(char *filename, char *str,int bytes)
{
	FILE *fp;
	int retval = 0;
	fp = fopen(filename,"wb");
	if (fp)
	{
		retval = fwrite(str,sizeof(char),bytes,fp);
		fclose(fp);
	}
	else
	{
		return -1;
	}
	return retval;
}

/*************************************************************************
func: PrintBuf
type: public
**************************************************************************/
void PrintBuf(char *prompt, char * in_buf,int size,int mdm_no,int chl_no)
{
	int i;
	int bytes = 0;
	FILE *fp;
	char filename[32];
	t_TdkMdmChl tdk;
	char put_buf[10*KILO];
	tdk.mdm_no = (U8)mdm_no;
	tdk.chl_no = (U8)chl_no;
	sprintf(filename,"RecvErrData_%d.%d",mdm_no,chl_no);
	memset(put_buf,0,sizeof(put_buf));
	if (prompt != NULL)
	{
		bytes += sprintf(put_buf+bytes,"%s:\r\n",prompt);
	}
	if (in_buf == NULL)
	{
		if (strlen(put_buf)>0) printf("%s\r\n",put_buf);
		return;
	}
	for(i=0;i<size;i++)
	{
		bytes += sprintf(put_buf+bytes,"%.2x ",(unsigned char)in_buf[i]);
		if ((i+1)%25==0)
		{
			bytes += sprintf(put_buf+bytes,"\r\n");
		}
	}
	Log(&tdk,"%s",put_buf);
	fp = fopen(filename,"ab+");
	if (fp!=NULL)
	{
		fwrite(put_buf,sizeof(char),strlen(put_buf),fp);
		fclose(fp);
	}
	else
	{
		printf("Can't open %s.\r\n", filename);
	}
}

/*******************************************
* 毫秒級延時
*******************************************/
void msleep(U32 sleep_msec)
{
	struct timeb tp_start;
	struct timeb tp_now;
	U32 time_pass;
	ftime(&tp_start);
	while(1)
	{
		ftime(&tp_now);
		time_pass = (tp_now.time - tp_start.time)*1000 + (tp_now.millitm - tp_start.millitm);	
		if(time_pass>=sleep_msec)
			break;
	}
	return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品一区二区三区| 欧美色老头old∨ideo| 色婷婷综合视频在线观看| 欧美日韩高清一区| 国产精品丝袜久久久久久app| 亚洲高清久久久| 成人av在线看| 久久影音资源网| 日本欧美加勒比视频| 色婷婷av一区二区三区大白胸 | 久久这里只有精品6| 亚洲欧美偷拍另类a∨色屁股| 美女久久久精品| 欧美日韩国产美| 夜夜夜精品看看| av激情亚洲男人天堂| 国产丝袜欧美中文另类| 免费高清在线一区| 欧美丰满一区二区免费视频 | 男男视频亚洲欧美| 欧美在线免费视屏| 亚洲激情第一区| 99久久婷婷国产综合精品电影| 国产亚洲成年网址在线观看| 久久99热99| 日韩精品一区二| 美女一区二区在线观看| 制服丝袜亚洲网站| 日韩福利视频网| 欧美一区二区黄| 日韩精品免费视频人成| 3d成人h动漫网站入口| 亚洲第一狼人社区| 欧美日韩国产免费| 免费不卡在线观看| 精品福利二区三区| 国产精品一区二区你懂的| 久久先锋影音av鲁色资源网| 激情图区综合网| www成人在线观看| 高清国产一区二区| 中文一区一区三区高中清不卡| 国内精品伊人久久久久av一坑| 久久精品一区二区| proumb性欧美在线观看| 中文字幕日韩av资源站| 色综合久久久久久久久久久| 一区二区在线观看免费视频播放 | 丁香婷婷综合色啪| 国产精品美女久久久久久久网站| heyzo一本久久综合| 亚洲精品视频一区| 欧美日韩大陆一区二区| 久久爱www久久做| 国产亚洲精品久| 91蜜桃传媒精品久久久一区二区| 亚洲国产一区二区三区| 日韩欧美综合一区| 成人av网站免费| 香蕉成人啪国产精品视频综合网 | 国产一区二区不卡在线 | 亚洲一级二级三级| 玖玖九九国产精品| 色成年激情久久综合| 色综合咪咪久久| 国产乱理伦片在线观看夜一区| 久久精品二区亚洲w码| 亚洲线精品一区二区三区八戒| 国产欧美日韩视频一区二区| 岛国av在线一区| 一区二区三区波多野结衣在线观看| 欧美另类z0zxhd电影| 国产.精品.日韩.另类.中文.在线.播放| 国产精品国产三级国产aⅴ入口| 欧美日韩在线一区二区| 国产ts人妖一区二区| 亚洲高清视频在线| 国产精品全国免费观看高清| 欧美剧在线免费观看网站 | 日本免费在线视频不卡一不卡二| 久久亚洲综合av| 欧美日韩综合不卡| eeuss鲁一区二区三区| 五月婷婷综合激情| 亚洲人精品午夜| 精品美女在线观看| 国产精品久久久久影视| 日韩写真欧美这视频| 精品亚洲免费视频| 一区2区3区在线看| 国产精品青草久久| 亚洲精品在线观看视频| 欧美日韩国产综合久久| 不卡视频免费播放| 狠狠色丁香九九婷婷综合五月| 亚洲人成网站精品片在线观看| 国产ts人妖一区二区| 一本大道久久a久久综合| 欧美私人免费视频| 日韩三级视频中文字幕| 欧美mv日韩mv| 国产精品免费观看视频| 亚洲成人午夜影院| 激情小说欧美图片| jlzzjlzz国产精品久久| 欧美日韩aaaaa| 精品国产伦一区二区三区观看体验| 国产网站一区二区三区| 有坂深雪av一区二区精品| 日本中文字幕一区二区视频| 国产一区二区三区日韩| 色综合天天综合网天天看片| 日韩一区二区三区精品视频| 国产欧美日韩在线| 亚洲二区视频在线| 国内精品国产成人国产三级粉色| www.欧美日韩| 日韩午夜在线播放| 中文字幕一区二区三| 午夜国产精品一区| 成人污污视频在线观看| 在线成人av影院| 国产亚洲精品bt天堂精选| 亚洲成人激情自拍| 国产成+人+日韩+欧美+亚洲| 欧美影片第一页| 国产婷婷色一区二区三区| 丝袜a∨在线一区二区三区不卡| 国产在线视频一区二区三区| 在线精品观看国产| 国产欧美精品一区二区色综合 | 韩日av一区二区| 欧美在线free| 国产三级一区二区| 日韩精品成人一区二区三区| 91免费视频网| 久久久久88色偷偷免费| 亚洲成精国产精品女| 色综合网色综合| 欧美国产日韩精品免费观看| 久久不见久久见中文字幕免费| 91福利资源站| 国产精品美女久久久久久久网站| 免费美女久久99| 欧美美女一区二区在线观看| 亚洲欧美视频在线观看视频| 国产真实乱对白精彩久久| 777午夜精品免费视频| 尤物视频一区二区| 99在线精品视频| 久久久久久久综合狠狠综合| 蜜芽一区二区三区| 欧美日韩和欧美的一区二区| 一区二区三区在线观看国产 | 精品亚洲成a人在线观看| 欧美探花视频资源| 亚洲综合一二区| 色av成人天堂桃色av| 中文字幕中文字幕在线一区| 国产91丝袜在线播放0| 精品国产乱码久久久久久图片| 日韩国产精品大片| 欧美人狂配大交3d怪物一区| 日日摸夜夜添夜夜添国产精品| 欧美日韩不卡在线| 亚洲成av人片在线观看| 欧美日韩亚洲国产综合| 夜夜揉揉日日人人青青一国产精品| 91丨国产丨九色丨pron| 亚洲三级在线免费观看| 91麻豆精品秘密| 亚洲一区二区三区影院| 精品视频一区二区三区免费| 午夜不卡av在线| 91精品国产综合久久福利| 日本成人中文字幕在线视频| 91精品国产综合久久小美女| 日本欧美肥老太交大片| 精品日本一线二线三线不卡| 激情国产一区二区| 26uuu国产在线精品一区二区| 国产在线看一区| 国产精品美女一区二区| 色吊一区二区三区| 五月天视频一区| 精品国产一区二区三区不卡| 国产精品66部| 1000部国产精品成人观看| 在线观看一区二区精品视频| 天天操天天色综合| 日韩欧美国产午夜精品| 国产成人免费xxxxxxxx| 亚洲视频图片小说| 欧美日本乱大交xxxxx| 久久99久久99精品免视看婷婷| 欧美精品一区二区三区视频| 不卡av在线免费观看| 亚洲国产精品久久人人爱| 欧美一区二区视频免费观看| 国产最新精品精品你懂的|