Linux Device Drivers 3 / Драйверы устройств Линукс (третье издание): 17.4. Открытие и закрытие
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
17.4. Открытие и закрытие hardorsoft 26.10.10 в 02:30 |
|
|
Наш драйвер может быть опробован при загрузке модуля или hardorsoft 26.10.10 в 02:30 |
||
|
Когда ifconfig используется для назначения адреса интерфейсу, он hardorsoft 26.10.10 в 02:31 |
||
|
Назначает адрес вызовом ioctrl(SIOCSIFADDR) (Socket I/O Control hardorsoft 26.10.10 в 02:31 |
||
|
Аналогично происходит и выключение интерфейса. ifconfig hardorsoft 26.10.10 в 02:31 |
||
|
Оба метода возвращают 0 в случае успешной работы, и hardorsoft 26.10.10 в 02:31 |
||
|
Если абстрагироваться от реальной реализации кода, то можно hardorsoft 26.10.10 в 02:32 |
||
|
Аппаратный (MAC) адрес должен копироваться из устройства в поле hardorsoft 26.10.10 в 02:32 |
||
|
Метод также стартует очередь передачи, что позволяет посылать hardorsoft 26.10.10 в 02:32 |
||
|
void netif_start_queue(struct net_device *dev); hardorsoft 26.10.10 в 02:32 |
||
|
Код функции оpen для snull выглядит следующим образом: hardorsoft 26.10.10 в 02:33 |
||
|
int snull_open(struct net_device *dev) hardorsoft 26.10.10 в 02:33 |
||
|
Как видите, в отсутствии реальной аппаратуры, метод оpen hardorsoft 26.10.10 в 02:33 |
||
|
int snull_release(struct net_device *dev) hardorsoft 26.10.10 в 02:34 |
||
|
Функция: hardorsoft 26.10.10 в 02:34 |
||
|
void netif_stop_queue(struct net_device *dev); hardorsoft 26.10.10 в 02:34 |
||
|
противоположна netif_start_queue. Функция вызывается при hardorsoft 26.10.10 в 02:34 |
