The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Распечатка 5.6 Функция зондирования

Распечатка 5.6 Функция зондирования

Предыдущая  Содержание  Следующая V*D*V

Распечатка 5.6

 

int __init lxNWprobe(struct net_device *dev)

{

  /*

   * Эта функция используется только в случае, если драйвер

   * используется как модуль. В этом случае эта функция

   * инициализирует владельца данного устройства

   */

  SET_MODULE_OWNER(dev);

 

  /*

   * Настройка стартового адреса для доступа к вводу-выводу;

   * Это будет использоваться семейством команд inb()/outb()

   */

  dev->base_addr = NW_IOADDR;

 

  dev->irq = NW_IRQ;

 

  /*

   * Заполняем сетевой адрес; обычно он получен от

   * какой-либо настройки при загрузке

   */

  FILL_ETHER_ADDRESS(dev->dev_addr);

 

  /* Запрашиваем прерывание */

  request_irq(dev->irq, &LXNWIsr, 0, "NW", dev);

 

  /* Выполняем инициализацию микросхемы */

  RESET_NW();

 

  /* Заполняем структуру устройства важными функциями */

  dev->open = lxNW_open;

  dev->hard_start_xmit = lxNW_send_packet;

  dev->stop = lxNW_close;

  dev->get_stats = lxNW_get_stats;

  dev->set_multicast_list = lxNW_set_multicast_list;

  dev->watchdog_timeo = HZ;

  dev->set_mac_address = lxNW_set_mac_address;

 

  /*

   * Для заполнения полей сетевого устройства значениями по умолчанию

   * предоставляется ether_setup. Здесь одним из важных полей является

   * длина очереди передачи, поддерживаемой для устройства. Значением

   * по умолчанию является 100. Также в dev->flags установлены

   * IFF_BROADCAST и IFF_MULTICAST, что означает, что это устройство

   * имеет поддержку широковещательных (broadcasting) и групповых

   * (multicast) запросов. В случае, если ваше устройство не

   * поддерживает групповые запросы, необходимо явно очистить этот

   * флаг.

   */

  ether_setup(dev);

 

  return 0;

}

 

Предыдущая  Содержание  Следующая