Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса IOEthernetInterface

Опции
Развертывание Target:

На этой странице
Язык:

IOEthernetInterface

Объект интерфейса Ethernet.

Драйвер контроллера Ethernet, который является подклассом IOEthernetController, инстанцирует объекта этого класса, когда драйвер вызовет attachInterface () метод. Этот интерфейсный объект будет тогда продавать интерфейс Ethernet к DLIL и управлять соединением между драйвером контроллера и верхними сетевыми уровнями. Драйверы должны будут редко разделять IOEthernetInterface на подклассы.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.6 и позже.
  • Обрабатывает уведомление, что сетевой контроллер, обслуживающий этот интерфейсный объект, перешел к новому состоянию электропитания.

    Объявление

    C++

    virtual IOReturn controllerDidChangePowerState( IONetworkController *controller, IOPMPowerFlagsflags, UInt32stateNumber, IOService *policyMaker);

    Параметры

    controller

    Объект сетевого контроллера.

    flags

    Флаги, описывающие возможность контроллера в новом состоянии электропитания.

    stateNumber

    Индекс к состоянию в массиве состояния электропитания сетевого контроллера, на который переключился контроллер.

    policyMaker

    Ссылка на влиятельного политика сетевого контроллера, и является также инициатором этого уведомления.

    Возвращаемое значение

    Всегда возвраты kIOReturnSuccess.

    Обсуждение

    Если контроллер действительно переходил к применимому состоянию, и он был ранее отключен вследствие предыдущего изменения питания, то он повторно включен.

  • Уведомление, что интерфейс открыл сетевой контроллер.

    Объявление

    C++

    virtual bool controllerDidOpen( IONetworkController *controller);

    Параметры

    controller

    Открытый объект контроллера.

    Возвращаемое значение

    Возвращает true на успехе, ложь иначе. Возвращение false заставит контроллер быть закрытым, и любой незаконченный клиент открывается, чтобы быть отклоненным.

    Обсуждение

    Этот метод вызовет IONetworkInterface после того, как сетевой контроллер примет открытое от этого интерфейсного объекта. IOEthernetInterface сначала вызовет реализацию в своем суперклассе, затем проверит контроллер через свойства, опубликованные в реестре. Этот метод вызывают с арбитражной сохраненной блокировкой.

  • Обрабатывает уведомление, что сетевой контроллер, обслуживающий этот интерфейсный объект, собирается переход к новому состоянию электропитания.

    Объявление

    C++

    virtual IOReturn controllerWillChangePowerState( IONetworkController *controller, IOPMPowerFlagsflags, UInt32stateNumber, IOService *policyMaker);

    Параметры

    controller

    Объект сетевого контроллера.

    flags

    Флаги, описывающие возможность контроллера в новом состоянии электропитания.

    stateNumber

    Индекс к состоянию в массиве состояния электропитания сетевого контроллера, на который переключается контроллер.

    policyMaker

    Ссылка на влиятельного политика сетевого контроллера, и является также инициатором этого уведомления.

    Возвращаемое значение

    Всегда возвраты kIOReturnSuccess.

    Обсуждение

    Если контроллер собирается переход к неприменимому состоянию, и это в настоящее время включается, то запрещение () метод на контроллере вызывают.

  • Уведомление, что интерфейс закроет сетевой контроллер.

    Объявление

    C++

    virtual void controllerWillClose( IONetworkController *controller);

    Параметры

    controller

    Контроллер, собирающийся быть закрытым.

    Обсуждение

    Этот метод просто вызовет супер для распространения вызова метода. Этот метод вызывают с арбитражной сохраненной блокировкой.

  • Освобождает экземпляр IOEthernetInterface.

    Объявление

    C++

    virtual void free();

    Обсуждение

    Память, выделенная для arpcom структуры, выпускается, сопровождается вызовом к супер:: свободный ().

  • Возвращает строку, содержащую префикс для использования при создании имени BSD для этого интерфейса.

    Объявление

    C++

    virtual const char * getNamePrefix() const;

    Возвращаемое значение

    Возвращает указатель на постоянную струну до «en». Поэтому интерфейсы Ethernet будут зарегистрированы в BSD как en0, en1, и т.д.

    Обсуждение

    Имя BSD для каждого интерфейсного объекта создается путем конкатенации строки, возвращенной этим методом с уникальным числом модуля, присвоенным IONetworkStack.

  • Инициализирует экземпляр IOEthernetInterface.

    Объявление

    C++

    virtual bool init( IONetworkController *controller );

    Параметры

    controller

    Объект сетевого контроллера, который обслужит интерфейсный инициализируемый объект.

    Возвращаемое значение

    Возвращает true на успехе, ложь иначе.

    Обсуждение

    Переменные экземпляра инициализируются, и выделяется arpcom структура.

  • Обрабатывает ioctl команду, отправленную в интерфейс Ethernet.

    Объявление

    C++

    virtual SInt32 performCommand( IONetworkController *controller, unsigned longcmd, void *arg0, void *arg1);

    Параметры

    controller

    Объект контроллера.

    cmd

    ioctl код команды.

    arg0

    Аргумент команды 0. Обычно указатель на ifnet структуру связывался с интерфейсом.

    arg1

    Аргумент команды 1.

    Возвращаемое значение

    Возвращает возвращаемое значение BSD, определенное в bsd/sys/errno.h.

    Обсуждение

    Этот метод дескрипторы снабжает сокетом ioctl команды, отправленные в интерфейс Ethernet от DLIL. Команды, распознанные и обработанные этим методом, являются SIOCSIFADDR, SIOCSIFFLAGS, SIOCADDMULTI и SIOCDELMULTI. Другие команды передаются суперклассу.

Переменные экземпляра

  • Зарезервированный для будущего использования. (Только внутреннее использование)

    Объявление

    C++

    ExpansionData * _reserved;

  • Зарезервированный для будущего использования. (Только внутреннее использование)

    Объявление

    C++

    ExpansionData * _reserved;