1 /* 2 pci_next_dev.c 3 */ 4 5 #include "pci.h" 6 #include "syslib.h" 7 #include <minix/sysutil.h> 8 9 /*===========================================================================* 10 * pci_next_dev * 11 *===========================================================================*/ 12 int pci_next_dev(devindp, vidp, didp) 13 int *devindp; 14 u16_t *vidp; 15 u16_t *didp; 16 { 17 int r; 18 message m; 19 20 m.m_type= BUSC_PCI_NEXT_DEV; 21 m.m1_i1= *devindp; 22 23 r= ipc_sendrec(pci_procnr, &m); 24 if (r != 0) 25 panic("pci_next_dev: can't talk to PCI: %d", r); 26 27 if (m.m_type == 1) 28 { 29 *devindp= m.m1_i1; 30 *vidp= m.m1_i2; 31 *didp= m.m1_i3; 32 #if 0 33 printf("pci_next_dev: got device %d, %04x/%04x\n", 34 *devindp, *vidp, *didp); 35 #endif 36 return 1; 37 } 38 if (m.m_type != 0) 39 panic("pci_next_dev: got bad reply from PCI: %d", m.m_type); 40 41 return 0; 42 } 43 44