/* * Print information about a device. */ int print_device(struct devinfo_dev *dev, void *arg) { struct indent_arg ia; int i, indent; if (vflag || (dev->dd_name[0] != 0 && dev->dd_state >= DS_ATTACHED)) { indent = (int)(intptr_t)arg; for (i = 0; i < indent; i++) printf(" "); printf("%s", dev->dd_name[0] ? dev->dd_name : "unknown"); if (vflag && *dev->dd_pnpinfo) printf(" pnpinfo %s", dev->dd_pnpinfo); if (vflag && *dev->dd_location) printf(" at %s", dev->dd_location); printf("\n"); if (rflag) { ia.indent = indent + 4; ia.arg = dev; devinfo_foreach_rman(print_device_rman_resources, (void *)&ia); } } return(devinfo_foreach_device_child(dev, print_device, (void *)((char *)arg + 2))); }
bool GetInfo_IO_Ports(QTreeWidget* tree) { #ifdef HAVE_DEVINFO_H /* Oh neat, current now has a neat little utility called devinfo */ if (devinfo_init()) return false; devinfo_foreach_rman(print_ioports, tree); return true; #else return false; #endif }
bool GetInfo_DMA (QListView *lbox) { #ifdef HAVE_DEVINFO_H /* Oh neat, current now has a neat little utility called devinfo */ if (devinfo_init()) return false; devinfo_foreach_rman(print_dma, lbox); return true; #else return false; #endif }
bool GetInfo_IRQ(QTreeWidget* tree) { #ifdef HAVE_DEVINFO_H /* systat lists the interrupts assigned to devices as well as how many were generated. Parsing its output however is about as fun as a sandpaper enema. The best idea would probably be to rip out the guts of systat. Too bad it's not very well commented */ /* Oh neat, current now has a neat little utility called devinfo */ if (devinfo_init()) return false; devinfo_foreach_rman(print_irq, tree); return true; #else return false; #endif }