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

📄 probe_check.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
📖 第 1 页 / 共 2 页
字号:
            if (check_cgthree_dev(makedevs, &type, md->md_unit))                save_dev(CGTHREE, md->md_unit, type);            continue;        }		/* prism type frame buffer */        if (strcmp(mdr->mdr_dname, CGFOUR) == 0) {            if (check_cgfour_dev(makedevs, &type, md->md_unit))                save_dev(CGFOUR, md->md_unit, type);            continue;        }		/* sun-386i RR frame buffer */        if (strcmp(mdr->mdr_dname, CGFIVE) == 0)        {            if (check_cgfive_dev(makedevs, &type, md->md_unit))                save_dev(CGFIVE, md->md_unit, type);            continue;        }		/* lego frame buffer */	if (strcmp(mdr->mdr_dname, CGSIX) == 0) {	    if (check_cgsix_dev(makedevs, &type, md->md_unit))		save_dev(CGSIX, md->md_unit, type);	    continue;	}		/* ibis 24 bit frame buffer */        if (strcmp(mdr->mdr_dname, CGEIGHT) == 0) {            if (check_cgeight_dev(makedevs, &type, md->md_unit))                save_dev(CGEIGHT, md->md_unit, type);            continue;        }		/* crane frame buffer */	if (strcmp(mdr->mdr_dname, CGNINE) == 0) {	    if (check_cgnine_dev(makedevs, &type, md->md_unit))		save_dev(CGNINE, md->md_unit, type);	    continue;	}        	/* egret graghic accelerator */        if (strcmp(mdr->mdr_dname, CGTWELVE) == 0) {            if (check_cgtwelve_dev(makedevs, &type, md->md_unit))                save_dev(CGTWELVE, md->md_unit, type);            continue;        }                /* hawk2 graghic tower */        if (strcmp(mdr->mdr_dname, GT) == 0) {            if (check_cgtwelve_dev(makedevs, &type, md->md_unit))                save_dev(GT, md->md_unit, type);            continue;        }		/* flamingo */	if (strcmp(mdr->mdr_dname, TVONE) == 0) {	    if (check_tvone_dev(makedevs, &type, md->md_unit))		save_dev(TVONE, md->md_unit, type);	    continue;	}        if (strcmp(mdr->mdr_dname, DCP) == 0) {            if (check_dcp_dev(makedevs, md->md_unit))	        save_dev(DCP, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, DES) == 0) {            if (check_des_dev(makedevs))                save_dev(DES, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, FDDI) == 0) {	    if ((check_net(FDDI, md->md_unit)) == NETUP)	        save_dev(FDDI, md->md_unit, NETUP);            continue;        }        if (strcmp(mdr->mdr_dname, TRNET) == 0) {	    if ((check_net(TRNET, md->md_unit)) == NETUP)	        save_dev(TRNET, md->md_unit, NETUP);            continue;        }        if (strcmp(mdr->mdr_dname, OMNI_NET) == 0) {	    if ((check_net(OMNI_NET, md->md_unit)) == NETUP)	        save_dev(OMNI_NET, md->md_unit, NETUP);            continue;        }        if (strcmp(mdr->mdr_dname, GPONE) == 0) {            if ((type = check_gpone_dev(makedevs)) != 0)                save_dev(GPONE, md->md_unit, type);            continue;        }        if (strcmp(mdr->mdr_dname, HSS) == 0) {            if (check_hss_dev(makedevs, md->md_unit))                save_dev(HSS, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, HSI) == 0) {            if (check_hss_dev(makedevs, md->md_unit))                save_dev(HSI, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, IE) == 0) {	    if ((check_net(IE, md->md_unit)) == NETUP)	        save_dev(IE, md->md_unit, NETUP);            continue;        }        if (strcmp(mdr->mdr_dname, IP) == 0) {            if ((check_disk_dev(makedevs, IP, md->md_unit, &amt, &cname))								== DISKOK)                save_disk_dev(IP, md->md_unit, amt, DISKOK, mdr->mdr_cname,                    md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, ID) == 0) {            if ((check_disk_dev(makedevs, ID, md->md_unit, &amt, &cname))								== DISKOK)                save_disk_dev(ID, md->md_unit, amt, DISKOK, mdr->mdr_cname,                    md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, LE) == 0) {	    if ((check_net(LE, md->md_unit)) == NETUP)	        save_dev(LE, md->md_unit, NETUP);            continue;        }        if (strcmp(mdr->mdr_dname, MCP) == 0) {            if ((status = check_mcp_dev(makedevs, md->md_unit)) != 0)	        save_dev(MCP, md->md_unit, status);            continue;        }        if (strcmp(mdr->mdr_dname, MT) == 0) {            if ((status = check_mt_dev(makedevs, MT, md->md_unit, 		    &t_type)) != 0)                save_tape_dev(MT, md->md_unit, status, mdr->mdr_cname,                    md->md_ctlr, t_type);            continue;        }        if (strcmp(mdr->mdr_dname, MTI) == 0) {            if (check_mti_dev(makedevs, md->md_unit))	        save_dev(MTI, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, IPC) == 0) {            if (check_pc_dev(makedevs, md->md_unit))	        if (check_net(ME, 0))		    save_dev(IPC, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, SD) == 0) {            if ((check_disk_dev(makedevs, SD, md->md_unit, &amt, &cname))								== DISKOK)                save_disk_dev(SD, md->md_unit, amt, DISKOK, mdr->mdr_cname,                    md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, SF) == 0) {            if ((result=check_disk_dev(makedevs, SF, md->md_unit,				&amt, &cname)) != DISKPROB)                save_disk_dev(SF, md->md_unit, amt, result, mdr->mdr_cname,                    md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, FD) == 0) {            if ((result=check_disk_dev(makedevs, FD, md->md_unit,				&amt, &cname)) != DISKPROB)                save_disk_dev(FD, md->md_unit, amt, result, "None", -1, cname);            continue;        }        if (strcmp(mdr->mdr_dname, CDROM) == 0) {            if ((result=check_cdrom_dev(makedevs, CDROM, md->md_unit,				&amt, &cname)) != DISKPROB)                save_disk_dev(CDROM, md->md_unit, amt, result,			mdr->mdr_cname, md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, ST) == 0) {            if ((status = check_st_dev(makedevs, md->md_unit, &t_type)) != 0)                save_tape_dev(ST, md->md_unit, status, mdr->mdr_cname,                    md->md_ctlr, t_type);            continue;        }        if (strcmp(mdr->mdr_dname, TAAC) == 0) {            if ((type = check_taac_dev(makedevs, &type, md->md_unit)) != 0)                save_dev(TAAC, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, PP) == 0) {            if (check_printer_dev(makedevs, md->md_unit))                save_dev(PP, md->md_unit, 0);            continue;        }        if (strcmp(mdr->mdr_dname, PR) == 0) {            if (check_presto_dev(makedevs)) {                save_mem(PR, get_presto_mem());	    }            continue;        }        if (strcmp(mdr->mdr_dname, XD) == 0) {            if ((check_disk_dev(makedevs, XD, md->md_unit, &amt, &cname))								== DISKOK)                save_disk_dev(XD, md->md_unit, amt, DISKOK, mdr->mdr_cname,                    md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, XT) == 0) {            if ((status = check_mt_dev(makedevs, XT, md->md_unit, 		    &t_type)) != 0)                save_tape_dev(XT, md->md_unit, status, mdr->mdr_cname,                    md->md_ctlr, t_type);            continue;        }        if (strcmp(mdr->mdr_dname, XY) == 0) {            if ((check_disk_dev(makedevs, XY, md->md_unit, &amt, &cname))								== DISKOK)                save_disk_dev(XY, md->md_unit, amt, DISKOK, mdr->mdr_cname,                    md->md_ctlr, cname);            continue;        }        if (strcmp(mdr->mdr_dname, ZS) == 0) {            if (check_sp_dev(makedevs, md->md_unit))                save_dev(ZS, md->md_unit, 0);            continue;        }    }      }  buff[0] = '\0';  sprintf(buff,"rm -rf %s", tmpname);  system(buff);  TRACE_OUT}#ifndef SVR4/* lifted from pstest.c */intget_presto_mem(){	int	  prfd;	int	  res;        struct presto_status prstatus;char *open1_err_msg = "Failed to open prestoserve board: %s\n\Possible causes:\n\   1) Prestoserve hardware not installed.\n\   2) Board not fully seated.\n\   3) Prestoserve software not installed.\n\   4) Not in superuser mode.";char *prgetstatus_err_msg = "Checking prstatus failed: %s";char *state_err_msg = "Prestoserve is in the ERROR state.\n\Possible causes:\n\    1) Errors have occured on a disk drive.";        func_name = "get_presto_mem";        TRACE_IN         if ((prfd = open(PRDEV, O_RDWR)) == -1) {                send_message (0, WARNING, open1_err_msg, errmsg(errno));		TRACE_OUT		return(0);        } /* end of if */        /* Check state of the board. */        if ((res = ioctl(prfd, PRGETSTATUS, &prstatus)) == -1) {                send_message(0, WARNING,                        prgetstatus_err_msg, errmsg(errno));		TRACE_OUT		return(0);	} /* end of if */        /* Check for error state. */        if (prstatus.pr_state == PRERROR) {                send_message(0, WARNING, state_err_msg);		TRACE_OUT		return(0);        } /* end of if */         (void) send_message(0, VERBOSE, "prestoserve memory size= %d KB",                prstatus.pr_maxsize/1024);	TRACE_OUT	return (prstatus.pr_maxsize/1024);}#endif SVR4intget_mp_number(){    int i, bit, mask, memfd;     func_name = "get_mp_number";    TRACE_IN     memfd = open("/dev/null", 0);/***********    ioctl(memfd, MIOCGPAM, &mask);***********/    mask = 0x0F;    close (memfd);     i = 0;    for (bit = 1; bit; bit <<= 1) {        if (mask & bit) {            i++;        }    }     TRACE_OUT    return(i); }/* * save_mem(name, amt) - saves device name, sets unit to 0, sets utype  * to MEM_DEV, saves amt of memory in mem_info struct, and increments devno */voidsave_mem(name, amt)    char *name;    int amt;{    func_name = "save_mem";     TRACE_IN    found[devno].device_name = name;    found[devno].unit = 0;    found[devno].u_tag.utype = MEM_DEV;    found[devno].u_tag.uval.meminfo.amt = amt;    devno++;    TRACE_OUT}/* * save_dev(name, unit, status) - saves device name and unit, sets utype  * to GENERAL_DEV, saves status in dev_info struct, and increments devno */voidsave_dev(name, unit, status)    char *name;    int unit;    int status;{    func_name = "save_dev";    TRACE_IN    if (strcmp(name, "spif") == 0)      found[devno].device_name = "stc";    else if (strncmp(name, DBRI, 4) == 0)      found[devno].device_name = "dbri";    else       found[devno].device_name = name;    found[devno].unit = unit;    found[devno].u_tag.utype = GENERAL_DEV;    found[devno].u_tag.uval.devinfo.status = status;    devno++;    TRACE_OUT}/* * save_tape_dev(name, unit, status, ctlr, ctlr_num, t_type) - saves  * device name, unit, status, controller, controller number, and tape type, * sets utype to TAPE_DEV, saves device status in tape_info struct, and  * increments devno */static voidsave_tape_dev(name, unit, status, ctlr, ctlr_num, t_type)    char *name;    int unit;    int status;    char *ctlr;    int ctlr_num;    short t_type;{    func_name = "save_tape_dev";    TRACE_IN    found[devno].device_name = name;    found[devno].unit = unit;    found[devno].u_tag.utype = TAPE_DEV;    found[devno].u_tag.uval.tapeinfo.status = status;    found[devno].u_tag.uval.tapeinfo.ctlr = ctlr;    found[devno].u_tag.uval.tapeinfo.ctlr_num = ctlr_num;    found[devno].u_tag.uval.tapeinfo.t_type = t_type;    devno++;    TRACE_OUT}/* * save_disk_dev(name, unit, status, ctlr, ctlr_num) - saves device name,  * unit, status, controller, and controller number, sets utype to DISK_DEV,  * saves device status in disk_info struct, and increments devno */static voidsave_disk_dev(name, unit, amt, status, ctlr, ctlr_num, cname)    char *name;    int unit;    int amt;    int status;    char *ctlr;    int ctlr_num;    int cname;{    func_name = "save_disk_dev";    TRACE_IN    found[devno].device_name = name;    found[devno].unit = unit;    found[devno].u_tag.utype = DISK_DEV;    found[devno].u_tag.uval.diskinfo.amt = amt;    found[devno].u_tag.uval.diskinfo.status = status;    found[devno].u_tag.uval.diskinfo.ctlr = ctlr;    found[devno].u_tag.uval.diskinfo.ctlr_num = ctlr_num;    found[devno].u_tag.uval.diskinfo.ctlr_type = cname;    devno++;    TRACE_OUT}

⌨️ 快捷键说明

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