Lines Matching refs:card

71 		       const struct grub_net_card *card)
74 if (!card->link_layer_table)
78 if (card->link_layer_table[i].avail == 1
79 && grub_net_addr_cmp (&card->link_layer_table[i].nl_address,
81 return &card->link_layer_table[i];
87 grub_net_link_layer_add_address (struct grub_net_card *card,
95 entry = link_layer_find_entry (nl, card);
103 if (card->link_layer_table == NULL)
104 card->link_layer_table = grub_zalloc (LINK_LAYER_CACHE_SIZE
105 * sizeof (card->link_layer_table[0]));
106 entry = &(card->link_layer_table[card->new_ll_entry]);
110 card->new_ll_entry++;
111 if (card->new_ll_entry == LINK_LAYER_CACHE_SIZE)
112 card->new_ll_entry = 0;
124 entry = link_layer_find_entry (proto_addr, inf->card);
165 entry = link_layer_find_entry (proto_addr, inf->card);
187 entry = link_layer_find_entry (proto_addr, inf->card);
198 grub_net_card_unregister (struct grub_net_card *card)
202 if (inf->card == card)
204 if (card->opened)
206 if (card->driver->close)
207 card->driver->close (card);
208 card->opened = 0;
211 GRUB_AS_LIST (card));
215 grub_net_ipv6_get_slaac (struct grub_net_card *card,
221 for (slaac = card->slaac_list; slaac; slaac = slaac->next)
229 slaac->name = grub_malloc (grub_strlen (card->name)
232 ptr = grub_stpcpy (slaac->name, card->name);
233 if (grub_net_hwaddr_cmp (&card->default_address, hwaddr) != 0)
242 slaac->next = card->slaac_list;
243 card->slaac_list = slaac;
248 grub_net_ipv6_get_link_local (struct grub_net_card *card,
252 char name[grub_strlen (card->name)
265 if (inf->card == card
271 ptr = grub_stpcpy (name, card->name);
272 if (grub_net_hwaddr_cmp (&card->default_address, hwaddr) != 0)
279 return grub_net_add_addr (name, card, &addr, hwaddr, 0);
287 struct grub_net_card *card;
295 FOR_NET_CARDS (card)
297 if (argc > 0 && grub_strcmp (card->name, args[0]) != 0)
311 FOR_NET_CARDS (card)
313 if (argc > 0 && grub_strcmp (card->name, args[0]) != 0)
315 ifaces[j] = grub_net_ipv6_get_link_local (card, &card->default_address);
322 slaacs[j] = grub_net_ipv6_get_slaac (card, &card->default_address);
353 ifaces[j]->card->name);
816 inter->card->num_ifaces++;
826 struct grub_net_card *card,
841 inter->card = card;
894 struct grub_net_card *card;
903 FOR_NET_CARDS (card)
904 if (grub_strcmp (card->name, args[1]) == 0)
906 if (card == NULL)
907 return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("card not found"));
959 if (card->flags & GRUB_NET_CARD_NO_MANUAL_INTERFACES)
961 "this card doesn't support address addition");
963 if (card->flags & GRUB_NET_CARD_HWADDRESS_IMMUTABLE)
966 grub_net_add_addr (args[0], card, &addr, &card->default_address,
1152 struct grub_net_card *card;
1153 FOR_NET_CARDS(card)
1156 grub_net_hwaddr_to_str (&card->default_address, buf);
1157 grub_printf ("%s %s\n", card->name, buf);
1316 receive_packets (struct grub_net_card *card)
1318 if (card->num_ifaces == 0)
1320 if (!card->opened)
1323 if (card->driver->open)
1324 err = card->driver->open (card);
1330 card->opened = 1;
1334 /* Maybe should be better have a fixed number of packets for each card
1338 nb = card->driver->recv (card);
1341 card->last_poll = grub_get_time_ms ();
1344 grub_net_recv_ethernet_packet (nb, card);
1360 struct grub_net_card *card;
1362 FOR_NET_CARDS (card)
1366 receive_packets (card);
1374 struct grub_net_card *card;
1375 FOR_NET_CARDS (card)
1379 if (ctime < card->last_poll
1380 || ctime >= card->last_poll + card->idle_poll_delay_ms)
1381 receive_packets (card);
1516 struct grub_net_card *card;
1517 FOR_NET_CARDS (card)
1518 if (card->opened)
1520 if (card->driver->close)
1521 card->driver->close (card);
1522 card->opened = 0;