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

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

?? tests.c

?? 操作系統SunOS 4.1.3版本的源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
 ******************************************************************************/ats_start_test(testname, devname)char	*testname, *devname;{  int	test_id;  int	group_id;  int	id;  for (test_id=0; test_id != exist_tests; ++test_id)					/* gone through all existing devices */    if (strcmp(devname, tests[test_id]->devname) == 0 &&	strcmp(testname, tests[test_id]->testname) == 0) break;  if (test_id == exist_tests)		/* unknown test */  {    send_test_msg(SUNDIAG_ATS_ERROR, 0, testname, devname, "unknown test");    return;  }  if (tests[test_id]->type == 2)  {	send_test_msg(SUNDIAG_ATS_ERROR, 0, testname, devname, 			"disabled intervention test");	return;	/* return if disabled intervention/manufacturing tests */  }  if (!tty_mode)			/* remove test slections mark */    (void)panel_set(select_item, PANEL_FEEDBACK, PANEL_NONE, 0);  selection_flag = FALSE;    if (tests[test_id]->enable == ENABLE) return;	/* already enabled */  tests[test_id]->enable = ENABLE;  if (tests[test_id]->test_no > 1)		/* multiple tests */  {    for (id=test_id; tests[id]->which_test != 1; --id);	/* find the first test for this device */    if (!tty_mode)      (void)panel_set(tests[id]->select, PANEL_TOGGLE_VALUE, 0, TRUE, 0);    else      display_enable(id, TRUE);    for (; tests[id]->which_test != tests[id]->test_no; ++id)      tests[id]->dev_enable = ENABLE;    tests[id]->dev_enable = ENABLE;  }  else  {    if (!tty_mode)      (void)panel_set(tests[test_id]->select, PANEL_TOGGLE_VALUE, 0, TRUE, 0);    else      display_enable(test_id, TRUE);  }  if (running == GO || running == SUSPEND)	/* tests are running */    start_log(test_id);			/* log to information file */  print_status();			/* display it */  group_id = tests[test_id]->group;	/* update the group toggle too */  if (!groups[group_id].enable)  {    groups[group_id].enable = ENABLE;    if (!tty_mode)      (void)panel_set(groups[group_id].select, PANEL_TOGGLE_VALUE, 0, TRUE, 0);  }}/****************************************************************************** * ats_stop_test was called when ATS tried to disselect a test by passing in  * * the desired test name and device name.				      * * Input: testname, test name; devname, device name.			      * * Output: none.							      * ******************************************************************************/ats_stop_test(testname, devname)char	*testname, *devname;{  int	test_id;  int	group_id;  int	id, tmp;  for (test_id=0; test_id != exist_tests; ++test_id)					/* gone through all existing devices */    if (strcmp(devname, tests[test_id]->devname) == 0 &&	strcmp(testname, tests[test_id]->testname) == 0) break;  if (test_id == exist_tests)		/* unknown test */  {    send_test_msg(SUNDIAG_ATS_ERROR, 0, testname, devname, "unknown test");    return;  }  if (!tty_mode)			/* remove test slections mark */    (void)panel_set(select_item, PANEL_FEEDBACK, PANEL_NONE, 0);  selection_flag = FALSE;  if (tests[test_id]->enable == DISABLE) return;	/* already disabled */  tests[test_id]->enable = DISABLE;  if (tests[test_id]->test_no > 1)		/* multiple tests */  {    for (id=test_id; tests[id]->which_test != 1; --id);	/* find the first test for this device */    for (tmp=id; tests[tmp]->which_test != tests[tmp]->test_no; ++tmp)	if (tests[tmp]->enable) break;	/* at least one is still enabled */    if (!tests[tmp]->enable)		/* none was enabled now */    {      if (!tty_mode)        (void)panel_set(tests[id]->select, PANEL_TOGGLE_VALUE, 0, FALSE, 0);      else	display_enable(id, FALSE);      for (; tests[id]->which_test != tests[id]->test_no; ++id)        tests[id]->dev_enable = DISABLE;      tests[id]->dev_enable = DISABLE;    }  }  else  {    if (!tty_mode)      (void)panel_set(tests[test_id]->select, PANEL_TOGGLE_VALUE, 0, FALSE, 0);    else      display_enable(test_id, FALSE);  }  if (tests[test_id]->pid == 0)	/* test is not currently running */    print_status();		/* just remove it */  else    (void)kill(tests[test_id]->pid, SIGINT);  if (running == GO || running == SUSPEND)	/* tests are running */    stop_log(test_id);		/* log to information file */  group_id = tests[test_id]->group;  test_id = groups[group_id].first;  for (; test_id != exist_tests; ++test_id)  {    if (tests[test_id]->group != group_id) break;	/* none was enabled */    if (tests[test_id]->dev_enable && (tests[test_id]->enable ||		tests[test_id]->test_no > 1) && tests[test_id]->type != 2)	return;		/* at least one is still enabled */  }  if (groups[group_id].enable)  {    groups[group_id].enable = DISABLE;    if (!tty_mode)      (void)panel_set(groups[group_id].select, PANEL_TOGGLE_VALUE, 0, FALSE, 0);  }}/****************************************************************************** * Initialize the group select toggle on the control subwindow.		      * * Input: group_id, the internal group number of the group to be initialized. * * Output: none.							      * ******************************************************************************/static	init_group_tog(group_id)int		group_id;		/* group number, index to groups[] */{  Panel_item	handle;  handle = panel_create_item(sundiag_control, PANEL_TOGGLE,		PANEL_CHOICE_STRINGS,	groups[group_id].c_label, 0,		PANEL_TOGGLE_VALUE,	0, groups[group_id].enable,		PANEL_NOTIFY_PROC,	group_sel_proc,		PANEL_CLIENT_DATA,	group_id,		PANEL_ITEM_X,		ATTR_COL(GROUP_COL),		PANEL_ITEM_Y,		ATTR_ROW(start_row++),		PANEL_SHOW_MENU,	FALSE,		0);  groups[group_id].select = handle;	/* keep the panel item handle */}/****************************************************************************** * Initialize the test select toggle on the control subwindow.		      * * Input: test_id, the internal test number of the group to be initialized.   * * Output: none.							      * ******************************************************************************/static	init_test_tog(test_id)int		test_id;		/* test number, index to tests[] */{  Panel_item	handle;  int		toggle_value=0;  if (tests[test_id]->test_no > 1)	/* multiple tests */  {    if (tests[test_id]->type != 2) /* it is not a disabled intervention tests */      toggle_value = tests[test_id]->dev_enable;    else      toggle_value = FALSE;  }  else    toggle_value = (tests[test_id]->enable && tests[test_id]->type != 2);  handle = panel_create_item(sundiag_control, PANEL_TOGGLE,		PANEL_CHOICE_STRINGS,	build_sel_label(test_id), 0,		PANEL_TOGGLE_VALUE,	0, toggle_value,		PANEL_NOTIFY_PROC,	test_sel_proc,		PANEL_CLIENT_DATA,	test_id,		PANEL_ITEM_X,		ATTR_COL(SEL_COL),		PANEL_ITEM_Y,		ATTR_ROW(start_row++),		PANEL_SHOW_MENU,	FALSE,		0);  tests[test_id]->select = handle;	/* keep the panel item handle */}/****************************************************************************** * opt_sel_proc, option button notify procedure.			      * ******************************************************************************//*ARGSUSED*/static opt_sel_proc(item, value, event)Panel_item item;int	value;Event	*event;{  int	test_id;  Panel	panel_handle;  test_id = (int)panel_get(item, PANEL_CLIENT_DATA);  /* get the internal test number of the test */  if (tests[test_id]->popup)		/* option popup is really needed */  {	if (option_frame != NULL)  /* destroy the old one, if there is one */	  frame_destroy_proc(option_frame);	option_frame = window_create(sundiag_frame, FRAME,	    FRAME_SHOW_LABEL,	TRUE,	    WIN_X,	(int)((STATUS_WIDTH+PERFMON_WIDTH)*frame_width)+15,	    WIN_Y,	20,            FRAME_DONE_PROC, frame_destroy_proc, 0);	panel_handle = init_opt_panel(test_id);	/* initialize rest of the control subwindow */	/* return popup panel's handle */	window_fit(panel_handle);        window_fit(option_frame);        (void)window_set(option_frame, WIN_SHOW, TRUE, 0);  }}/****************************************************************************** * Initialize the test option button on the control subwindow.		      * * Input: test_id, the internal test number of the option button to be	      * *	initialized.							      * * Output: none.							      * ******************************************************************************/static	init_opt_button(test_id)int	test_id;			/* index to tests[] */{  Panel_item	handle;  int		cur_row;  cur_row = (int)panel_get(tests[test_id]->select, PANEL_ITEM_Y) + 2;	/* get the row to display the option button on */  if (tests[test_id]->popup)	/* check whether the option popup is needed */  {	handle = panel_create_item(sundiag_control, PANEL_BUTTON,		PANEL_LABEL_IMAGE,		  panel_button_image(sundiag_control, "Option",							6, (Pixfont *)NULL),		PANEL_NOTIFY_PROC,      opt_sel_proc,		PANEL_ITEM_X,		ATTR_COL(OPT_COL),		PANEL_ITEM_Y,		cur_row,		PANEL_CLIENT_DATA,	test_id,		0);	tests[test_id]->option = handle;  }}/****************************************************************************** * test_items() creates and initializes all of the select toggles on control  * * panel.								      * ******************************************************************************/test_items(){  int	group, i;			/* current group id(index to groups[] */  int	cur_test_i;			/* current test index(to tests[]) */  for (i=0; i != ngroups; ++i)    groups[i].enable = DISABLE;  for (cur_test_i=0; cur_test_i != exist_tests; ++cur_test_i)					/* gone through all existing devices */  {    group = tests[cur_test_i]->group;	/* get the current group */    if (tests[cur_test_i]->dev_enable &&	(tests[cur_test_i]->enable || tests[cur_test_i]->test_no > 1) &&	tests[cur_test_i]->type != 2)	  groups[group].enable = ENABLE;  }  if (!tty_mode)  {    for (cur_test_i=0; cur_test_i != exist_tests;)    /* gone through all existing devices */    {      group = tests[cur_test_i]->group;	/* get the current group */      groups[group].first = cur_test_i;	/* keep the first test in the group */      init_group_tog(group);		/* display the group's toggle item */      while (tests[cur_test_i]->group == group)      {        if (tests[cur_test_i]->which_test == 1)        {	  init_test_tog(cur_test_i);		/* display the test's select toggle item */		/* also initialize the selection panel item handle */	  init_opt_button(cur_test_i);		/* display the test's option item(e.g. vmem wait time) if any */		/* also initialize the option panel item handle if needed */        }        if (++cur_test_i == exist_tests) break;		/* no more */      }    }    (void)scrollbar_paint(control_bar);		/* update the bubble */  }}/****************************************************************************** * before_test(), checks to see whether the specified test can be run at this * * time. If not, return 1, otherwise, build the command line arguments(tail)  * * according to the user-specified options.				      * * Input: test_id, internal test number.				      * * Output: 1, if failed; 0, if succeed.					      * *	   Also, command line arguments will be built in tests[]->tail.	      * ******************************************************************************/static	int	before_test(test_id){  static	int	done_clean[48]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,					0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,					0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};			/* up to 16 tape drives for st, mt and xt */  static	char	opt_code[122];  char		unit, *loopback, clock, rawtest_part, rawtest_size[10];  int		type, T, i;  static	int	vmem_waitvar;  char		dev_name[8], tmp_buf[82];  int		sdlc;   	     /* Sbus HSI test:  sdlc or hdlc protocol */  int		internal_loopback;   /* interal loopback for Sbus HSI: 3-7 */				     /* 3 = None				      * 4 = Simple				      * 5 = Clockless				      * 6 = Silent				      * 7 = Silent & Clockless				      */  /* stop testing if exceeded error limit/finished one pass for all tests */  if ((max_errors != 0 && sys_error >= max_errors) ||				(single_pass && sys_pass >= 1))  {    stop_proc();			/* stop all tests */    return(1);				/* do not start anymore tests */  }  if (!run_error && tests[test_id]->error >= 1) return(1);  /* this test has failed at least once and run-on-error is not enabled */  if (single_pass && tests[test_id]->pass >= 1) return(1);  /* this test has been run more than once */  tests[test_id]->tail = opt_code;  (void)strcpy(opt_code, "s ");		/* pass "s" to tests as default */  switch (tests[test_id]->id)		/* check which test it is */  {    case MAGTAPE1:    case MAGTAPE2:    case SCSITAPE:	if (tests[test_id]->id == MAGTAPE1) type = 1;	else if (tests[test_id]->id == MAGTAPE2) type = 2;	else type = 0;	type = type*16;			/* up to 16 drives per tape type */	if (!((int)tests[test_id]->data & 0x400) &&			((unsigned)tests[test_id]->data>>16) != 0)	if (tests[test_id]->pass != 0 && 	    tests[test_id]->pass%((unsigned)tests[test_id]->data>>16) == 0)	{				/* it's time to clean the head */	  if (!done_clean[tests[test_id]->unit+type])	  /* user hasn't responded yet */	  {	    if (!tty_mode)	    {	      sprintf(tmp_buf,		"Clean the head of %s, then click \"Done\" to continue.",		tests[test_id]->devname);	      (void)popup_info(tmp_buf, &done_clean[tests[test_id]->unit+type]);	      return(1);			/* can't run it yet */	    }	    else	    {	      sprintf(tmp_buf, "Clean the head of %s, then reselect the test.",				tests[test_id]->devname);	      tty_message(tmp_buf);	      /* disable the test here */	      tty_test_sel_proc(tests[test_id]->devname);	      done_clean[tests[test_id]->unit+type] = TRUE;	      return(1);			/* can't run it yet */	    }	  }	  else	    done_clean[tests[test_id]->unit+type] = FALSE;	/* reset */	}	if (tests[test_id]->conf->uval.tapeinfo.t_type == MT_ISEXABYTE)	{	  (int)tests[test_id]->data |= 0x200;	/* always skip retension */	  (int)tests[test_id]->data &= 0xffffff7f;  /* always disable recon */	}#ifdef NEW	if (tests[test_id]->conf->uval.tapeinfo.t_type == MT_ISEXB8500)	{	  (int)tests[test_id]->data |= 0x200;	/* always skip retension */	  (int)tests[test_id]->data &= 0xffffff7f;  /* always disable recon */	}#endif NEW	(void)sprintf(opt_code, "s D=/dev/r%s op=%d", tests[test_id]->devname,					(int)tests[test_id]->data);	if ((((int)tests[test_id]->data & 0x18) >> 3) == 1)	/* specified */	  (void)sprintf(opt_code, "%s b=%u",			opt_code, (unsigned)(tests[test_id]->special));	break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区不卡视频| 欧美丝袜自拍制服另类| 国产精品色眯眯| 国产成人综合在线播放| 国产欧美日韩视频在线观看| 成人蜜臀av电影| 亚洲日本在线看| 欧美日韩激情一区| 精品一区二区三区的国产在线播放 | 91精品国产综合久久香蕉的特点| 日韩激情中文字幕| 精品国产乱码久久久久久浪潮 | 日韩精品欧美精品| 日韩免费看网站| 成人福利视频网站| 亚洲伊人伊色伊影伊综合网| 欧美日本不卡视频| 国产在线视频一区二区| 亚洲麻豆国产自偷在线| 日韩美一区二区三区| 成人av资源网站| 天天操天天综合网| 国产欧美一区二区精品性| 在线免费观看日韩欧美| 蜜臀久久久99精品久久久久久| 国产精品区一区二区三区| 色综合激情五月| 美国av一区二区| 亚洲柠檬福利资源导航| 日韩精品专区在线影院观看| 91在线视频18| 极品少妇xxxx精品少妇| 亚洲丝袜另类动漫二区| 精品国产乱码久久久久久蜜臀| 91小宝寻花一区二区三区| 免费成人在线视频观看| 亚洲视频在线一区| 久久久亚洲精华液精华液精华液| 欧美午夜精品一区二区三区 | 国产成人在线视频播放| 亚洲一区二区三区爽爽爽爽爽 | 日本韩国欧美三级| 国产专区欧美精品| 午夜精品久久久久久久久久| 中文字幕不卡在线观看| 欧美一区中文字幕| 91色在线porny| 国产成人精品免费一区二区| 蜜桃传媒麻豆第一区在线观看| 亚洲免费观看高清完整版在线| 26uuuu精品一区二区| 欧美久久免费观看| a4yy欧美一区二区三区| 国产在线一区观看| 日韩成人午夜电影| 亚洲成人综合网站| 亚洲欧美另类久久久精品2019| 亚洲国产成人私人影院tom| 精品国产乱码久久久久久久久| 欧美日韩国产另类不卡| 色爱区综合激月婷婷| 成人免费视频视频| 成人小视频在线| 国产精品一区专区| 国产一区在线精品| 国内偷窥港台综合视频在线播放| 日韩精彩视频在线观看| 爽爽淫人综合网网站| 亚洲国产一区在线观看| 一区二区三区中文在线观看| 日本一区二区视频在线观看| 久久久久综合网| 精品国产精品网麻豆系列 | 国产成人午夜精品5599| 男男gaygay亚洲| 日韩成人午夜精品| 美女视频一区二区| 狠狠色狠狠色综合| 韩国中文字幕2020精品| 激情国产一区二区| 国产成人小视频| 99国产精品99久久久久久| 91一区二区三区在线观看| 91天堂素人约啪| 色一情一乱一乱一91av| 色综合中文字幕国产| 91丨porny丨中文| 日本久久电影网| 777午夜精品免费视频| 欧美精品久久99久久在免费线| 在线不卡一区二区| 日韩视频在线你懂得| 久久婷婷国产综合精品青草| 日韩欧美aaaaaa| 国产亚洲婷婷免费| |精品福利一区二区三区| 一区二区三区精品在线| 日韩精品久久理论片| 日本三级亚洲精品| 国产一区二区电影| 色综合中文字幕| 日韩一二在线观看| 中文字幕成人av| 亚洲午夜精品17c| 国产老妇另类xxxxx| 99精品久久99久久久久| 69堂亚洲精品首页| 亚洲国产精品二十页| 一区二区欧美精品| 国产一区二区三区四区五区入口 | 久久99国产精品久久99 | 一二三四社区欧美黄| 午夜精品久久久久久久 | 亚洲精品成人a在线观看| 日本va欧美va精品发布| 成人avav影音| 欧美精品一级二级三级| 国产精品视频一二三区| 日韩高清在线电影| 波多野结衣一区二区三区| 欧美日韩成人综合| 国产精品美女久久久久久久久| 午夜精品久久久久影视| 成人免费毛片aaaaa**| 欧美日韩一区小说| 中文字幕一区三区| 久久精品国产一区二区三| 99re成人在线| 26uuu国产一区二区三区| 亚洲黄色片在线观看| 国产91精品在线观看| 91麻豆精品国产91久久久久久久久| 亚洲国产高清在线| 理论电影国产精品| 欧美色男人天堂| 亚洲欧洲美洲综合色网| 国产麻豆视频一区二区| 69堂精品视频| 亚洲一区二区四区蜜桃| 国产成人免费视频网站| 欧美tickling网站挠脚心| 一区二区三区在线看| 丁香婷婷综合五月| 亚洲精品一区二区三区蜜桃下载 | 亚洲国产精品欧美一二99| 国产成人8x视频一区二区| 欧美精品777| 亚洲综合男人的天堂| 成人精品电影在线观看| 久久精品视频在线免费观看| 麻豆成人久久精品二区三区红| 欧美日韩精品电影| 亚洲在线观看免费| 色综合久久中文字幕| 国产精品久久久久久久久晋中| 国产一区二区网址| 日韩三级.com| 久久精品国产精品亚洲精品| 欧美一区二区三区思思人| 亚洲成人av一区二区三区| 欧美日韩在线观看一区二区| 亚洲一本大道在线| 欧美视频日韩视频在线观看| 婷婷开心激情综合| 在线成人午夜影院| 亚洲成人三级小说| 欧美日本国产一区| 青青青爽久久午夜综合久久午夜| 欧美日韩美少妇| 日本不卡不码高清免费观看| 欧美一级一级性生活免费录像| 免费在线观看不卡| 精品国产精品网麻豆系列| 国内精品久久久久影院薰衣草 | 美女一区二区三区| 精品久久久久久久久久久久久久久| 九九九久久久精品| 久久色中文字幕| av中文字幕不卡| 亚洲福利一二三区| 日韩欧美在线123| 国产成人免费高清| 亚洲女与黑人做爰| 欧美日韩成人综合在线一区二区| 免费成人在线观看视频| 久久久蜜臀国产一区二区| 99精品国产99久久久久久白柏| 亚洲一区二区三区激情| 日韩一卡二卡三卡国产欧美| 国产成人av一区二区三区在线观看| 18涩涩午夜精品.www| 欧美色视频一区| 精品一区在线看| 1000部国产精品成人观看| 欧美乱妇20p| 成人性色生活片| 日韩高清不卡在线| 国产精品国产a级| 91.成人天堂一区| 成人高清免费观看|