📄 probe_check.c
字号:
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 + -