Lines Matching refs:iter

71     struct pci_device_iterator * iter;  in pci_slot_match_iterator_create()  local
77 iter = malloc( sizeof( *iter ) ); in pci_slot_match_iterator_create()
78 if ( iter != NULL ) { in pci_slot_match_iterator_create()
79 iter->next_index = 0; in pci_slot_match_iterator_create()
82 iter->mode = match_slot; in pci_slot_match_iterator_create()
84 (void) memcpy( & iter->match.slot, match, sizeof( *match ) ); in pci_slot_match_iterator_create()
87 iter->mode = match_any; in pci_slot_match_iterator_create()
91 return iter; in pci_slot_match_iterator_create()
107 struct pci_device_iterator * iter; in pci_id_match_iterator_create() local
113 iter = malloc( sizeof( *iter ) ); in pci_id_match_iterator_create()
114 if ( iter != NULL ) { in pci_id_match_iterator_create()
115 iter->next_index = 0; in pci_id_match_iterator_create()
118 iter->mode = match_id; in pci_id_match_iterator_create()
120 (void) memcpy( & iter->match.id, match, sizeof( *match ) ); in pci_id_match_iterator_create()
123 iter->mode = match_any; in pci_id_match_iterator_create()
127 return iter; in pci_id_match_iterator_create()
139 pci_iterator_destroy( struct pci_device_iterator * iter ) in pci_iterator_destroy() argument
141 if ( iter != NULL ) { in pci_iterator_destroy()
142 free( iter ); in pci_iterator_destroy()
157 pci_device_next( struct pci_device_iterator * iter ) in pci_device_next() argument
161 if (!iter) in pci_device_next()
164 switch( iter->mode ) { in pci_device_next()
166 if ( iter->next_index < pci_sys->num_devices ) { in pci_device_next()
167 d = & pci_sys->devices[ iter->next_index ]; in pci_device_next()
168 iter->next_index++; in pci_device_next()
174 while ( iter->next_index < pci_sys->num_devices ) { in pci_device_next()
176 & pci_sys->devices[ iter->next_index ]; in pci_device_next()
178 iter->next_index++; in pci_device_next()
179 if ( PCI_ID_COMPARE( iter->match.slot.domain, temp->base.domain ) in pci_device_next()
180 && PCI_ID_COMPARE( iter->match.slot.bus, temp->base.bus ) in pci_device_next()
181 && PCI_ID_COMPARE( iter->match.slot.dev, temp->base.dev ) in pci_device_next()
182 && PCI_ID_COMPARE( iter->match.slot.func, temp->base.func ) ) { in pci_device_next()
192 while ( iter->next_index < pci_sys->num_devices ) { in pci_device_next()
194 & pci_sys->devices[ iter->next_index ]; in pci_device_next()
196 iter->next_index++; in pci_device_next()
197 if ( PCI_ID_COMPARE( iter->match.id.vendor_id, temp->base.vendor_id ) in pci_device_next()
198 && PCI_ID_COMPARE( iter->match.id.device_id, temp->base.device_id ) in pci_device_next()
199 && PCI_ID_COMPARE( iter->match.id.subvendor_id, temp->base.subvendor_id ) in pci_device_next()
200 && PCI_ID_COMPARE( iter->match.id.subdevice_id, temp->base.subdevice_id ) in pci_device_next()
201 && ((temp->base.device_class & iter->match.id.device_class_mask) in pci_device_next()
202 == iter->match.id.device_class) ) { in pci_device_next()
220 struct pci_device_iterator iter; in pci_device_find_by_slot() local
223 iter.next_index = 0; in pci_device_find_by_slot()
224 iter.mode = match_slot; in pci_device_find_by_slot()
225 iter.match.slot.domain = domain; in pci_device_find_by_slot()
226 iter.match.slot.bus = bus; in pci_device_find_by_slot()
227 iter.match.slot.dev = dev; in pci_device_find_by_slot()
228 iter.match.slot.func = func; in pci_device_find_by_slot()
230 return pci_device_next( & iter ); in pci_device_find_by_slot()