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

📄 boot_romp.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#if !defined(lint) && !defined(BOOTBLOCK)static char	sccsid[] = "@(#)boot_romp.c 1.1 92/07/30 SMI";#endif/* * Copyright (c) 1989 Sun Microsystems, Inc. * * Generic Tape Device (tape) saio support filter */#include <sys/types.h>#include <stand/saio.h>#include "boot/conf.h"int	romdev;/*ARGSUSED*/intnullprobe(sip)register struct saioreq *sip;{	return (0);}/*ARGSUSED*/intrompopen(sip)register struct saioreq *sip;{	char	namebuf[50];	register struct binfo *bd;#ifndef	sun4m	extern void formatdevname();	if (prom_getversion() > 0) {#endif	sun4m		bd = (struct binfo *)sip->si_devdata;		/* get path name from si_devdata */		romdev = prom_open(bd->name);		/* save file descriptor into si_devdata */		bd->ihandle = romdev;		return (romdev == 0);#ifndef sun4m	}	formatdevname(namebuf, sip);#ifdef DEBUG	printf("rompopen(%s)\n", namebuf);#endif DEBUG	romdev = prom_open(namebuf);	return (romdev == 0);#endif !sun4m}/*ARGSUSED*/intrompclose(sip)register struct saioreq *sip;{	register struct binfo *bd;	if (prom_getversion() > 0) {		/* get file descriptor */		bd = (struct binfo *)sip->si_devdata;		romdev = bd->ihandle;	}	return (prom_close(romdev));}/*ARGSUSED*/intnullboot(sip)register struct saioreq *sip;{	return (0);}#ifndef	sun4m/* * Format string of the form %c%c(%s,%s,%s) without using sprintf() * to keep bootblk nice and small. */#define	HEX_BASE	16voidformatdevname(p, sip)	register char *p;	register struct saioreq *sip;{	extern int sprintn();	*p++ = sip->si_boottab->b_dev[0];	*p++ = sip->si_boottab->b_dev[1];	*p++ = '(';	p += sprintn(p, sip->si_ctlr, HEX_BASE);	*p++ = ',';	p += sprintn(p, sip->si_unit, HEX_BASE);	*p++ = ',';	p += sprintn(p, sip->si_boff, HEX_BASE);	*p++ = ')';	*p++ = (char)0;}#endif	sun4m

⌨️ 快捷键说明

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