Lines Matching +full:drv +full:- +full:0
50 * This decision is to keep iodesc id management simple - we get list
59 int netif_debug = 0;
71 struct netif_driver *drv; in netif_init() local
78 for (d = 0; netif_drivers[d]; d++) { in netif_init()
79 drv = netif_drivers[d]; in netif_init()
80 for (i = 0; i < drv->netif_nifs; i++) in netif_init()
81 drv->netif_ifs[i].dif_used = 0; in netif_init()
88 struct netif_driver *drv = nif->nif_driver; in netif_match() local
92 printf("%s%d: netif_match (%d)\n", drv->netif_bname, in netif_match()
93 nif->nif_unit, nif->nif_sel); in netif_match()
95 return drv->netif_match(nif, machdep_hint); in netif_match()
102 struct netif_driver *drv; in netif_select() local
108 best_val = 0; in netif_select()
111 for (d = 0; netif_drivers[d] != NULL; d++) { in netif_select()
113 drv = cur_if.nif_driver; in netif_select()
115 for (u = 0; u < drv->netif_nifs; u++) { in netif_select()
120 printf("\t%s%d:", drv->netif_bname, in netif_select()
124 for (s = 0; s < drv->netif_ifs[u].dif_nsel; s++) { in netif_select()
127 if (drv->netif_ifs[u].dif_used & (1 << s)) { in netif_select()
138 printf(" [%d -> %d]", s, val); in netif_select()
155 best_if.nif_driver-> in netif_select()
161 best_if.nif_driver->netif_bname, in netif_select()
170 struct netif_driver *drv = nif->nif_driver; in netif_probe() local
174 printf("%s%d: netif_probe\n", drv->netif_bname, nif->nif_unit); in netif_probe()
176 return drv->netif_probe(nif, machdep_hint); in netif_probe()
182 struct netif_driver *drv = nif->nif_driver; in netif_attach() local
186 printf("%s%d: netif_attach\n", drv->netif_bname, nif->nif_unit); in netif_attach()
188 desc->io_netif = nif; in netif_attach()
190 if (drv->netif_init == NULL) in netif_attach()
191 panic("%s%d: no netif_init support", drv->netif_bname, in netif_attach()
192 nif->nif_unit); in netif_attach()
194 drv->netif_init(desc, machdep_hint); in netif_attach()
195 bzero(drv->netif_ifs[nif->nif_unit].dif_stats, in netif_attach()
202 struct netif_driver *drv = nif->nif_driver; in netif_detach() local
206 printf("%s%d: netif_detach\n", drv->netif_bname, nif->nif_unit); in netif_detach()
209 if (drv->netif_end == NULL) in netif_detach()
210 panic("%s%d: no netif_end support", drv->netif_bname, in netif_detach()
211 nif->nif_unit); in netif_detach()
213 drv->netif_end(nif); in netif_detach()
220 struct netif *nif = desc->io_netif; in netif_get()
222 struct netif_driver *drv = desc->io_netif->nif_driver; in netif_get() local
227 printf("%s%d: netif_get\n", drv->netif_bname, nif->nif_unit); in netif_get()
230 if (drv->netif_get == NULL) in netif_get()
231 panic("%s%d: no netif_get support", drv->netif_bname, in netif_get()
232 nif->nif_unit); in netif_get()
234 rv = drv->netif_get(desc, pkt, timo); in netif_get()
237 printf("%s%d: netif_get returning %d\n", drv->netif_bname, in netif_get()
238 nif->nif_unit, (int)rv); in netif_get()
247 struct netif *nif = desc->io_netif; in netif_put()
249 struct netif_driver *drv = desc->io_netif->nif_driver; in netif_put() local
254 printf("%s%d: netif_put\n", drv->netif_bname, nif->nif_unit); in netif_put()
257 if (drv->netif_put == NULL) in netif_put()
258 panic("%s%d: no netif_put support", drv->netif_bname, in netif_put()
259 nif->nif_unit); in netif_put()
261 rv = drv->netif_put(desc, pkt, len); in netif_put()
264 printf("%s%d: netif_put returning %d\n", drv->netif_bname, in netif_put()
265 nif->nif_unit, (int)rv); in netif_put()
274 * if id is < 0, return first unused iodesc.
283 if (socket >= 0) { in socktodesc_impl()
284 if (s->io_id == socket) in socktodesc_impl()
289 if (s->io_netif == NULL) in socktodesc_impl()
300 if (sock < 0) in socktodesc()
318 s = socktodesc_impl(-1); in netif_open()
324 return (-1); in netif_open()
328 s->io_id = last->io_id + 1; in netif_open()
338 nif->nif_driver->netif_bname, nif->nif_unit); in netif_open()
340 return (-1); in netif_open()
344 return (s->io_id); in netif_open()
353 err = 0; in netif_close()
355 if (s == NULL || sock < 0) { in netif_close()
357 return (-1); in netif_close()
359 netif_detach(s->io_netif); in netif_close()
360 bzero(&s->destip, sizeof (s->destip)); in netif_close()
361 bzero(&s->myip, sizeof (s->myip)); in netif_close()
362 s->destport = 0; in netif_close()
363 s->myport = 0; in netif_close()
364 s->xid = 0; in netif_close()
365 bzero(s->myea, sizeof (s->myea)); in netif_close()
366 s->io_netif = NULL; in netif_close()
370 if (last->io_netif != NULL) in netif_close()
378 return (-1); in netif_close()
381 return (0); in netif_close()