⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 finder.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
📖 第 1 页 / 共 3 页
字号:
	case VAX_750:		fprintf(fp,"%s\n",youhalt);		fprintf(fp,"\n%s\n",mic);		switch(found[i].linktype)		{		case DEV_UB:			fprintf(fp,"\n\t>>> b du%c%x\n\n",				found[i].link + 'a', found[i].plug);			break;		case DEV_MB:			fprintf(fp,"\n\t>>> b db%c%x\n\n",				found[i].link + 'a', found[i].plug);			break;		case DEV_CI:			fprintf(fp,"\n\t>>> b/800 dda0\n\n");			fprintf(fp,"\tboot58> d/g 2 %x\n",found[i].rctlr_num);			fprintf(fp,"\tboot58> d/g 3 %x\n",found[i].plug);			fprintf(fp,"\tboot58> @cira.cmd\n");			break;		}		fprintf(fp,"%s type:\n%s\n",howhalt,step1);		break;	case VAX_780:		fprintf(fp,"%s\n",youhalt);		fprintf(fp,"\n%s\n",mic);		/* only 1 SBI bus for vax780 */		if (found[i].linktype == DEV_CI)			fprintf(fp,"\n\t>>> d r2 %x\n", found[i].rctlr_num); 		else			fprintf(fp,"\n\t>>> d r1 %x\n",found[i].trlevel);		fprintf(fp,"\t>>> d r3 %x\n",found[i].plug); /* unit */		switch (found[i].linktype)		{		case DEV_CI:			fprintf(fp,"\t>>> @cira.cmd\n\n");			break;		case DEV_UB:			fprintf(fp,"\t>>> @ubara.cmd\n\n");			break;		case DEV_MB:			fprintf(fp,"\t>>> @mbahp.cmd\n\n");			break;		}		fprintf(fp,"%s type:\n%s\n%s\n",howhalt,step1,step2);		break;			case VAX_8200:		fprintf(fp,"%s\n",youhalt);		switch (found[i].linktype)		{		case DEV_UB:		case DEV_BI:			if (strcmp(found[i].interface,"KFBTA")==0)				fprintf(fp,"\n\t>>> b du%x%x\n\n",found[i].trlevel,found[i].plug % 5);				/* AIO interface */			else			{				fprintf(fp,"\n%s\n",mic);				fprintf(fp,"\n\t>>> b du%x%x\n\n",found[i].trlevel,found[i].plug);			}			break;		case DEV_CI:		case DEV_BICI:			fprintf(fp,"\n%s\n",mic);			fprintf(fp,"\n\t>>> b/r5:800 csa1\n\n");			fprintf(fp,"\tboot58> d/g 1 %x\n",found[i].trlevel);			fprintf(fp,"\tboot58> d/g 2 %x\n",found[i].link);			fprintf(fp,"\tboot58> d/g 3 %x\n",found[i].plug);			fprintf(fp,"\tboot58> @cira.cmd\n");			break;		}		fprintf(fp,"%s type:\n%s\n",howhalt,step1);		break;	case VAX_8600:		fprintf(fp,"%s\n",youhalt);		fprintf(fp,"\n\t>>> d r1 %x%x\n",found[i].adpt_num,found[i].trlevel);		if (found[i].linktype == DEV_CI)			fprintf(fp,"\n\t>>> d r2 %x\n", found[i].rctlr_num); 		fprintf(fp,"\t>>> d r3 %x\n",found[i].plug);		switch (found[i].linktype)		{		case DEV_UB:			fprintf(fp,"\t>>> @ubara.com\n\n");			break;		case DEV_MB:			fprintf(fp,"\t>>> @mbahp.com\n\n");			break;		case DEV_CI:			fprintf(fp,"\t>>> @cira.com\n\n");			break;		}		fprintf(fp,"%s type:\n%s\n%s\n",howhalt,step1,step2);		break;	case VAX_8800: 		fprintf(fp,"%s\n",youhalt);		fprintf(fp,"\n\t>>> d r1 %x%x\n",found[i].adpt_num,found[i].trlevel);		if (found[i].linktype == DEV_CI || 		    found[i].linktype == DEV_BICI )			fprintf(fp,"\n\t>>> d r2 %x\n", found[i].rctlr_num); 		fprintf(fp,"\t>>> d r3 %x\n",found[i].plug);		switch (found[i].linktype)		{		case DEV_UB:			fprintf(fp,"\t>>> @ubara.com\n\n");			break;		case DEV_BI:			fprintf(fp,"\t>>> @bdara.com\n\n");			break;		case DEV_CI:		case DEV_BICI:			fprintf(fp,"\t>>> @bcira.com\n\n");			break;		}		fprintf(fp,"%s type:\n%s\n%s\n",howhalt,step1,step2);		break;	case VAX_8820:		fprintf(fp,"%s\n",youhalt);		fprintf(fp,"\n\t>>> d r1 %x%x\n",found[i].adpt_num,found[i].trlevel);		if (found[i].linktype == DEV_CI ||		    found[i].linktype == DEV_BICI)			fprintf(fp,"\n\t>>> d r2 %x\n", found[i].rctlr_num); 		fprintf(fp,"\t>>> d r3 %x\n",found[i].plug);		switch (found[i].linktype)		{		case DEV_BI:			fprintf(fp,"\t>>> @bdara.cmd\n\n");			break;		case DEV_CI:		case DEV_BICI:			fprintf(fp,"\t>>> @bcara.cmd\n\n");			break;		}		fprintf(fp,"%s type:\n%s\n%s\n",howhalt,step1,step2);		break;	case VAX_6200:	case VAX_6400:		fprintf(fp,"%s\n",syshalt);		fprintf(fp,"\n%s\n",mictape);		switch(found[i].linktype)		{		case DEV_BI:			fprintf(fp,"\n\t>>> b /xmi:%x /bi:%x du%d\n",				found[i].adpt_num, found[i].trlevel,				found[i].plug);			break;		case DEV_BICI:			fprintf(fp,"\n\t>>> b /xmi:%x /bi:%x /node:%x /r5:10008 du%d\n",				found[i].adpt_num, found[i].trlevel,				found[i].rctlr_num, found[i].plug);			break;		case DEV_XMICI:			fprintf(fp,"\n\t>>> b /xmi:%x /node:%x /r5:10008 du%d\n",				found[i].trlevel, found[i].rctlr_num,				found[i].plug);			break;		case DEV_XMI:			fprintf(fp,"\n\t>>> b /xmi:%x du%d\n",				found[i].trlevel, found[i].plug);			break;		}		break;	case VAX_9000:		fprintf(fp,"%s\n",syshalt);		fprintf(fp,"\n\t>>> i/k");		switch(found[i].linktype)		{		case DEV_BI:			fprintf(fp,"\n\t>>> b /xmi:%x /bi:%x /r5:10008 kdb%x\n",				found[i].adpt_num, found[i].trlevel,				found[i].plug);			break;		case DEV_BICI:			fprintf(fp,"\n\t>>> b /xmi:%x /bi:%x /node:%x /r5:10008 kdb%x\n",				found[i].adpt_num, found[i].trlevel,				found[i].rctlr_num, found[i].plug);			break;		case DEV_XMICI:			fprintf(fp,"\n\t>>> b /xmi:%x /node:%x /r5:10008 ci%x\n",				found[i].trlevel, found[i].rctlr_num,				found[i].plug);			break;		case DEV_XMI:			fprintf(fp,"\n\t>>> b /xmi:%x /r5:10008 kdm%x\n",				found[i].trlevel, found[i].plug);			break;		}		break;	default:		fprintf(fp,"\n**** Unsupported processor ****\n");		break;	}	fclose(fp);	return;#endif vax#ifdef mips	int	wflag = 1;	char	DISKTYPE[3];	char	BOOTENVI[20];	char	BOOTPATH[40];	char	BOOTCOMM[20];	fp=fopen("/tmp/showboot","w");	cpu = getcpu();	BOOTPATH[0] = NULL;	switch(cpu)        {	case DS_5800:		strcpy(DISKTYPE, "ra");		strcpy(BOOTENVI, "setenv bootpath");		strcpy(BOOTCOMM, "boot");                switch(found[i].linktype)                {		case DEV_BI:			sprintf(BOOTPATH, "%s(/x%d/b%d,%d,0)vmunix",  				DISKTYPE, found[i].adpt_num, 				found[i].trlevel, found[i].plug);			break;		case DEV_BICI:			sprintf(BOOTPATH, "%s(/x%d/b%d/c%d,%d,0)vmunix",  				DISKTYPE, found[i].adpt_num,				found[i].trlevel, found[i].rctlr_num,				found[i].plug);			break;		case DEV_XMI:			sprintf(BOOTPATH, "%s(/x%d,%d,0)vmunix",  				DISKTYPE,found[i].trlevel,found[i].plug);			break;		}		break;	case DS_5000:	case DS_5000_100:		strcpy(BOOTCOMM, "boot");		switch(found[i].linktype)		{		case DEV_SCSI:			strcpy(DISKTYPE, "rz");			break;		case DEV_MSI:			strcpy(DISKTYPE, "rf");			break;		default:			strcpy(DISKTYPE, "ra");			break;		}		/*		 * CONSOLE DEBUG FOR DS_5000 ROMS		 * found[i].adpt_num |= 0x8000; 		*/		getsysinfo(GSI_CONSTYPE,console_magic,sizeof(console_magic));		if ((cpu==DS_5000) && (strncmp(console_magic,"TCF0",4)))			{			strcpy(BOOTENVI, "setenv bootpath");		  	sprintf(BOOTPATH, "%s(%d,%d,0)vmunix",				DISKTYPE, found[i].link,found[i].plug);			}		else			{			strcpy(BOOTENVI, "setenv boot");		  	sprintf(BOOTPATH, "\"%d/%s%d/vmunix -a\"",			  	found[i].adpt_num,			  	DISKTYPE,found[i].plug);			}		break;	case DS_3100:	case DS_5100:        case DS_5400:	case DS_5500:		strcpy(BOOTENVI, "setenv bootpath");		if (cpu == DS_3100)			strcpy(BOOTCOMM, "auto");		else			strcpy(BOOTCOMM, "boot");		switch(found[i].linktype)		{		case DEV_SCSI:			strcpy(DISKTYPE, "rz");			break;		case DEV_MSI:			strcpy(DISKTYPE, "rf");			break;		default:			strcpy(DISKTYPE, "ra");			break;		}		sprintf(BOOTPATH, "%s(%d,%d,0)vmunix",			DISKTYPE, found[i].link,found[i].plug);		break;	default:		wflag = 0;		fprintf(fp,"\n**** Unsupported processor ****\n");		break;	}	if (wflag)	{	fprintf(fp,"\nIssue the following console commands to set your default bootpath variable\n");	fprintf(fp,"and to boot your system disk:\n\n");	fprintf(fp,"\t>> %s %s\n", BOOTENVI,BOOTPATH);	fprintf(fp,"\t>> %s\n\n", BOOTCOMM);	}	fclose(fp);#endif mips}/*****************************************************************************/choicechk(choice)	/* check "ans" to see if it consists of all digits */        char choice[8];{        int i;        for (i=0; choice[i] != NULL; i++)                if (isdigit(choice[i]) == 0)                        {                        return(0);                        break;                        }        return(1);}/***************************************************************************** * * supported_root() * * To determine if the device is supported first look through a list * of devices which are explicitly not supported.  If the device is not on * that list then check to see if the disk has enough capacity.  Sufficient * capacity here is defined as at least the size of the default "a" partition * (32768) plus the size of the default "b" partition (50160). */intsupported_root(fd, dv_name)	int fd;		/* Device file descriptor        */	char *dv_name;	/* String containing device name */{	char *device_name;	DEVGEOMST devgeom;	int i;	for (i = 0; *unsupported_roots[i]; i++) {		device_name = unsupported_roots[i];		if ((strncmp(device_name, dv_name, strlen(device_name))) == 0) {			return(UNSUPPORTED_ROOT);		}	}	if (ioctl(fd, DEVGETGEOM, (char *)&devgeom) < 0) {		/*		 * In the event of ioctl failure do not conclude that the		 * disk is too small.		 */		return(SUPPORTED_ROOT);	}	if (devgeom.geom_info.dev_size < MIN_CAPACITY) {		return(UNSUPPORTED_ROOT);	}	else {		return(SUPPORTED_ROOT);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -