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

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

Разработчик

Ссылка класса IONetworkInterface

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

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

IONetworkInterface

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

Объект IONetworkInterface управляет соединением между IONetworkController и уровнем интерфейса канала передачи данных (DLIL). Все взаимодействия между контроллером и DLIL должны пройти через интерфейсный объект. Любые структуры данных, требующиеся DLIL для определенного интерфейсного типа, должны быть выделены и mantained интерфейсным объектом. IONetworkInterface является абстрактным классом, который должен быть расширен конкретным подклассом для специализации для определенного типа сети.

Несмотря на то, что большинство драйверов выделит единственный интерфейсный объект, для многократных интерфейсов возможно быть присоединенным к единственному контроллеру. Этот драйвер контроллера будет ответственен за решение в арбитражном порядке доступа среди его многократных интерфейсных клиентов.

IONetworkInterface также поддерживает словарь объектов IONetworkData, содержащих структуры статистики. Драйверы контроллера могут попросить определенный объект данных по имени и обновить счетчики статистики в непосредственно. Этот словарь добавляется к таблице свойства интерфейса и видим за пределами ядра.

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


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

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


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

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


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

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.6 и позже.
  • Добавляет IONetworkData возразите против интерфейса.

    Объявление

    C++

    virtual bool addNetworkData( IONetworkData *aData );

    Параметры

    aData

    IONetworkData объект.

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

    Если объект был добавлен, ложь иначе, возвращает true.

    Обсуждение

    IONetworkData объект добавляется к набору с помощью ключа от IONetworkData::getKey()

  • Присоедините сетевой интерфейс к канальному уровню BSD.

    Объявление

    C++

    virtual IOReturn attachToDataLinkLayer( IOOptionBitsoptions, void *parameter );

    Параметры

    options

    Опции для вызова присоединения. Ни один в настоящее время не определяется.

    parameter

    Параметр для вызова присоединения. Не в настоящее время используемый.

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

    Возвраты kIOReturnSuccess на успехе.

    Обсуждение

    Этот метод вызывают внутренне для присоединения сетевого интерфейса к канальному уровню BSD, после того, как было присвоено число модуля. Контекст вызова не синхронизируется против водительского цикла работы. Подклассы могут переопределить этот метод для выполнения дополнительной установки перед присоединением сетевого стека. getIfnet() метод возвратит присоединяемый интерфейс BSD.

  • Отбрасывания все пакеты во входной очереди.

    Объявление

    C++

    virtual UInt32 clearInputQueue( void );

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

    Возвращает число освобожденных пакетов.

    Обсуждение

    Этот метод удаляет все пакеты из входной очереди и выпускает их назад к свободному пулу mbuf. Для драйвера необычно вызвать этот метод.

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

    Объявление

    C++

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

    Параметры

    controller

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

    flags

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

    stateNumber

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

    policyMaker

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

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

    Возвращаемое значение всегда kIOReturnSuccess.

  • Отправляет уведомление, что интерфейс открыл сетевой контроллер.

    Объявление

    C++

    virtual bool controllerDidOpen( IONetworkController *controller );

    Параметры

    controller

    Открытый контроллер.

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

    Должен возвратить true для handleOpen () для принятия открытого клиента. Если возврат будет ложью, то контроллер будет закрыт, и открытый клиент перестанет работать.

    Обсуждение

    Этим методом вызывают handleOpen() уведомлять подклассы, что был открыт контроллер. Когда интерфейс получает начальный открытый запрос от клиента, открытое на контроллере происходит. Подклассы могут переопределить этот метод и проверить контроллер прежде, чем позволить открытому клиенту. Этот метод вызывают с арбитражной сохраненной блокировкой, следовательно выходящего I/O к контроллеру нужно избежать для устранения возможности мертвой блокировки.

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

    Объявление

    C++

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

    Параметры

    controller

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

    flags

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

    stateNumber

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

    policyMaker

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

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

    Возвращаемое значение всегда kIOReturnSuccess.

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

    Объявление

    C++

    virtual void controllerWillClose( IONetworkController *controller );

    Параметры

    controller

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

    Обсуждение

    Этим методом вызывают handleClose() после получения завершения от последнего интерфейсного клиента, и непосредственно перед тем, как закрывается контроллер. Подклассы могут переопределить этот метод для выполнения любого действия очистки, прежде чем будет закрыт контроллер. Этот метод вызывают с арбитражной сохраненной блокировкой, следовательно выходящего I/O к контроллеру нужно избежать для устранения возможности мертвой блокировки.

  • Говорит IONetworkData то, что этот интерфейс будет использоваться отладчиком.

    Объявление

    C++

    void debuggerRegistered( void );

  • Отсоедините сетевой интерфейс от канального уровня BSD.

    Объявление

    C++

    virtual void detachFromDataLinkLayer( IOOptionBitsoptions, void *parameter );

    Параметры

    options

    Опции для вызова отсоединения. Ни один в настоящее время не определяется.

    parameter

    Параметр для вызова отсоединения. Не в настоящее время используемый.

    Обсуждение

    Этот метод вызывают внутренне для отсоединения сетевого интерфейса от канального уровня BSD, после того, как интерфейс был завершен и перед последним клиентом близко. Этот метод блокирует, пока работа отсоединения не завершена. Контекст вызова не синхронизируется против водительского цикла работы. Подклассы могут переопределить этот метод для выполнения дополнительной очистки прежде или после отсоединения от сетевого стека. getIfnet() метод возвратит NULL после отсоединения.

  • Подайте полученные пакеты к BPF

    Объявление

    C++

    virtual void feedPacketInputTap( mbuf_t );

    Параметры

    mbuf_t

    Указатель на входящий пакет.

    Обсуждение

    Эта функция вызвана внутренне для отправки входящих пакетов во входное касание BPF, когда это включено. Подклассы, как ожидают, не переопределят этот метод.

  • Подайте исходящие пакеты к BPF

    Объявление

    C++

    virtual void feedPacketOutputTap( mbuf_t );

    Параметры

    mbuf_t

    Указатель на исходящий пакет.

    Обсуждение

    Эта функция вызвана внутренне для отправки исходящих пакетов в касание вывода BPF, когда это включено. Подклассы, как ожидают, не переопределят этот метод.

  • Представьте все пакеты, сохраненные во входной очереди к сетевому стеку.

    Объявление

    C++

    virtual UInt32 flushInputQueue( void );

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

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

    Обсуждение

    Позвольте драйверам удалять все пакеты из входной очереди и представлять им сетевому стеку. Этот метод должен использоваться совместно с inputPacket() метод, для сбрасывания входной очереди после организации очередей много полученных пакетов.

  • Освобождает IONetworkInterface объект.

    Объявление

    C++

    virtual void free( void );

    Обсуждение

    Ресурс, выделенный init (), выпущен, и clearInputQueue () вызывают, чтобы гарантировать, что входная очередь пуста. Интерфейс должен был уже отсоединиться от сетевого стека.

  • Добирается IONetworkController возразите, что создал этот интерфейс.

    Объявление

    C++

    virtual IONetworkController * getController( void ) const;

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

    Возвращает родителя IONetworkController объект.

    Обсуждение

    Объект контроллера передал init (), будет сохранен, пока интерфейс не закрывает контроллер. Подклассы могут безопасно вызвать этот метод, прежде чем будет закрыт контроллер.

  • Получает текущий интерфейс eflags.

    Объявление

    C++

    virtual UInt32 getExtraFlags( void ) const;

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

    Возвращает значение интерфейса eflags.

    Обсуждение

    Это вызовы метода ifnet_eflags и возвращает текущий интерфейс eflags.

  • Получает текущие интерфейсные флаги.

    Объявление

    C++

    virtual UInt16 getFlags( void ) const;

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

    Возвращает интерфейсные флаги.

    Обсуждение

    Это вызовы метода ifnet_flags и возвращает текущие интерфейсные флаги.

  • Возвраты ifnet_t выделенный интерфейсным объектом.

    Объявление

    C++

    virtual ifnet_t getIfnet( void ) const;

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

    Возвраты ifnet_t после того, как интерфейс присоединил к сетевому стеку и прежде чем интерфейс будет отсоединен, иначе NULL возвратов.

    Обсуждение

    Получает интерфейс ifnet_t, которым управляют прежде всего IONetworkInterface, однако, подклассы или драйверы могут использовать этот метод для получения ссылки на ifnet_t для вызовов интерфейса KPI.

  • Сообщает текущее состояние интерфейсного объекта.

    Объявление

    C++

    virtual UInt32 getInterfaceState( void ) const;

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

    Возвращает текущие интерфейсные флаги состояния.

  • Получает интерфейсный тип.

    Объявление

    C++

    virtual UInt8 getInterfaceType( void ) const;

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

    Возвращает константу, определенную в bsd/net/if_types.h это описывает интерфейсный тип.

    Обсуждение

    Этот метод возвращает интерфейсный тип, ранее установленный setInterfaceType.

  • Получает максимальный блок передачи для этого интерфейса.

    Объявление

    C++

    virtual UInt32 getMaxTransferUnit( void ) const;

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

    Возвращает размер интерфейса MTU в байтах.

    Обсуждение

    Это вызовы метода ifnet_mtu и возвращает максимальный блок передачи.

  • Получает размер носителей (уровень MAC) адрес.

    Объявление

    C++

    virtual UInt8 getMediaAddressLength( void ) const;

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

    Возвращает размер адреса носителей в байтах.

    Обсуждение

    Это вызовы метода ifnet_addrlen и возвращается, носители адресуют длину.

  • Получает размер заголовка носителя.

    Объявление

    C++

    virtual UInt8 getMediaHeaderLength( void ) const;

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

    Возвращает размер заголовка носителя в байтах.

    Обсуждение

    Это вызовы метода ifnet_hdrlen и возвращает длину заголовка носителя.

  • Возвращает префикс имени BSD как струну до.

    Объявление

    C++

    virtual const char * getNamePrefix() const = 0;

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

    Возвращает указатель на постоянную струну до.

    Обсуждение

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

  • Добирается IONetworkData объект от интерфейса.

    Объявление

    C++

    virtual IONetworkData * getNetworkData( const char *aKey ) const;

    Параметры

    aKey

    Струна до, идентифицирующая объект.

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

    Возвращает ссылку на соответствие IONetworkData объект или NULL, если не было найдено никакое соответствие.

    Обсуждение

    Возвращает ссылку на IONetworkData объект, ранее добавленный к интерфейсу и связанный с предоставленным ключом.

  • Добирается IONetworkData объект от интерфейса.

    Объявление

    C++

    virtual IONetworkData * getNetworkData( const OSSymbol *aKey) const;

    Параметры

    aKey

    OSSymbol идентификация объекта.

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

    Возвращает ссылку на соответствие IONetworkData объект или NULL, если не было найдено никакое соответствие.

    Обсуждение

    Возвращает ссылку на IONetworkData объект, ранее добавленный к интерфейсу и связанный с предоставленным ключом.

  • Присвоили число модуля этому интерфейсному объекту.

    Объявление

    C++

    virtual UInt16 getUnitNumber( void ) const;

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

    Возвращает присвоенное число интерфейсного модуля.

    Обсуждение

    Это вызовы метода ifnet_unit и возвращает число модуля, присвоенное IONetworkStack.

  • Обрабатывает клиент близко в интерфейсе.

    Объявление

    C++

    virtual void handleClientClose( IOService *client, IOOptionBitsoptions );

    Параметры

    client

    Объект клиента, запрашивающий завершение.

    options

    Опции те же опции передали handleClose().

    Обсуждение

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

  • Обрабатывает клиент, открытый в интерфейсе.

    Объявление

    C++

    virtual bool handleClientOpen( IOService *client, IOOptionBitsoptions, void *argument );

    Параметры

    client

    Объект клиента, запрашивающий открытое.

    options

    Опции передали handleOpen().

    argument

    Параметр передал handleOpen().

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

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

    Обсуждение

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

  • Инициализирует IONetworkInterface объект.

    Объявление

    C++

    virtual bool init( IONetworkController *controller );

    Параметры

    controller

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

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

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

    Обсуждение

    Ресурсы выделены, но ifnet_t не будет выделен, пока интерфейс не присваивается имя BSD и присоединяется к сетевому стеку.

  • Позволяет подклассу обеспечивать ifnet параметры инициализации, определенные для интерфейсного типа.

    Объявление

    C++

    virtual bool initIfnetParams( struct ifnet_init_params *params );

    Параметры

    params

    Указатель на ifnet_init_params выделенный вызывающей стороной.

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

    Возвраты true на успехе, false иначе.

    Обсуждение

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

  • Отправляет событие в сетевой стек.

    Объявление

    C++

    virtual bool inputEvent( UInt32type, void *data );

    Параметры

    type

    Постоянное описание типа события.

    data

    Дополнительные данные связались с событием.

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

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

    Обсуждение

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

  • Для драйверов для представления полученного пакета сетевому стеку.

    Объявление

    C++

    virtual UInt32 inputPacket( mbuf_t packet, UInt32 length = 0, IOOptionBits options = 0, void *param = 0 );

    Параметры

    mbuf_t

    mbuf, содержащий полученный пакет.

    length

    Укажите размер полученного пакета в mbuf. mbuf поля длины обновляются с этим значением. Если нуль, то mbuf поля длины не обновляются.

    options

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

    param

    Параметр, предоставленный драйвером. Не используемый.

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

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

    Обсуждение

    Пакет, предоставленный для этого метода, может быть добавлен к входной очереди, которой управляет интерфейсный объект, который драйвер может использовать для отсрочки пакета handoff до сетевого стека, пока все полученные пакеты не были добавлены к входной очереди. Последующий вызов к flushInputQueue(), передаст все содержание входной очереди к сетевому стеку. Эта входная очередь не защищена блокировкой. Драйверы, эффективно использующие эту входную очередь, должны или получить доступ к очереди от единственного потока или осуществить сериализированный доступ.

  • Запросы, является ли интерфейс первичным сетевым интерфейсом в системе.

    Объявление

    C++

    virtual bool isPrimaryInterface( void ) const;

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

    Если интерфейс является основным интерфейсом, ложь иначе, возвращает true.

    Обсуждение

    Определение основного интерфейса и его открытия является определенной платформой.

  • Запросы, если интерфейс присоединил к сетевому стеку BSD.

    Объявление

    C++

    virtual bool isRegistered( void ) const;

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

    Если интерфейс регистрируется и присоединяется к сетевому стеку, ложь иначе, возвращает true.

    Обсуждение

    После того, как присоединенный a kIOBSDNameKey свойство добавляется к интерфейсному объекту с присвоенным именем BSD.

  • Получает рекурсивную блокировку, принадлежавшую интерфейсу.

    Объявление

    C++

    virtual void lock( void );

    Обсуждение

    Рекурсивная блокировка выделяется и инициализируется в init(). Эта блокировка иначе не используется IONetworkInterface класс. Этот вызов метода получает блокировку и должен быть сбалансирован с unlock().

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

    Объявление

    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 команды, отправленные в сетевой интерфейс от DLIL. IONetworkInterface обрабатывает команды, которые характерны для всех типов сетевого интерфейса. Подкласс IONetworkInterface может переопределить этот метод, чтобы переопределить обработку команды в IONetworkInterface или расширить обработку команды для обработки дополнительных команд. ioctl команды, обработанные IONetworkInterface, SIOCGIFMTU (Получите размер интерфейса MTU), SIOCSIFMTU (Размер интерфейса MTU набора), SIOCSIFMEDIA (Носители набора), и SIOCGIFMEDIA (Получите носители и состояние канала).

  • Обрабатывает уведомление интереса питания постизменения от сетевого контроллера.

    Объявление

    C++

    virtual IOReturn powerStateDidChangeTo( IOPMPowerFlagsflags, unsigned longstateNumber, IOService *policyMaker );

    Параметры

    flags

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

    stateNumber

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

    policyMaker

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

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

    Возвраты IOPMAckImplied указать синхронное завершение.

    Обсуждение

    controllerDidChangePowerState() метод вызывает этот обработчик. Подклассы, как ожидают, не переопределят этот метод.

  • Обрабатывает уведомление интереса питания перед изменением от сетевого контроллера.

    Объявление

    C++

    virtual IOReturn powerStateWillChangeTo( IOPMPowerFlagsflags, unsigned longstateNumber, IOService *policyMaker );

    Параметры

    flags

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

    stateNumber

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

    policyMaker

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

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

    Возвраты IOPMAckImplied указать синхронное завершение.

    Обсуждение

    controllerWillChangePowerState() метод вызывает этот обработчик. Подклассы, как ожидают, не переопределят этот метод.

  • Регистрирует цель/действие для обработки исходящих пакетов.

    Объявление

    C++

    virtual bool registerOutputHandler( OSObject *target, IOOutputActionaction );

    Параметры

    target

    Возразите, что реализует выходной обработчик.

    action

    Функция, которая обработает исходящие пакеты.

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

    Если предоставленная цель/действие была принята, ложь иначе, возвращает true.

    Обсуждение

    Интерфейсный объект передаст все исходящие пакеты, отправленные от сетевого стека до цели, и действие зарегистрировало использование этого метода. Регистрация должна произойти, прежде чем интерфейс зарегистрирован и открыт IONetworkStack, иначе обработчик по умолчанию будет использоваться. Цель по умолчанию и действие установлены init() как контроллер и обработчик, возвращенный контроллером getOutputHandler() метод.

  • Удаляет IONetworkData объект от интерфейса.

    Объявление

    C++

    virtual bool removeNetworkData( const char *aKey );

    Параметры

    aKey

    Струна до, идентифицирующая объект, который будет удален.

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

    Если объект был найден и удален, ложь иначе, возвращает true.

    Обсуждение

    Этот метод удаляет IONetworkData объект от набора, которым управляет интерфейс. Удаленный объект выпущен.

  • Удаляет IONetworkData объект от интерфейса.

    Объявление

    C++

    virtual bool removeNetworkData( const OSSymbol *aKey );

    Параметры

    aKey

    OSSymbol идентификация объекта, который будет удален.

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

    Если объект был найден и удален, ложь иначе, возвращает true.

    Обсуждение

    Этот метод удаляет IONetworkData объект от набора, которым управляет интерфейс. Удаленный объект выпущен.

  • Выполняет работу «чтение, изменяют запись» на текущем интерфейсном значении флагов.

    Объявление

    C++

    virtual bool setFlags( UInt16 flags, UInt16 clear = 0 );

    Параметры

    flags

    Биты, которые должны быть установлены.

    clear

    Биты, которые должны быть очищены. если нуль, OR'ing исходное значение флагов с новыми флагами, то не флагов очищены и результат формируется

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

    Всегда возвращает true.

    Обсуждение

    Вызовы ifnet_set_flags если интерфейс присоединен к сетевому стеку и обновляет kIOInterfaceFlags свойство с помощью предоставленного значения. Посмотрите bsd/net/if.h заголовочный файл для констант флага.

  • Обновляет интерфейсные объектные флаги состояния.

    Объявление

    C++

    virtual UInt32 setInterfaceState( UInt32 set, UInt32 clear = 0 );

    Параметры

    set

    Флаги, которые должны быть установлены.

    clear

    Флаги, которые должны быть очищены.

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

    Возвращает новые интерфейсные флаги состояния.

    Обсуждение

    Флаги отражают текущее состояние интерфейса, и также публикуется через kIOInterfaceState свойство.

  • Устанавливает интерфейсный тип.

    Объявление

    C++

    virtual bool setInterfaceType( UInt8type );

    Параметры

    type

    Константа, определенная в bsd/net/if_types.h это описывает интерфейсный тип.

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

    Возвращает true для указания успеха, если интерфейс еще не присоединил к сетевому стеку, иначе возвращает false.

    Обсуждение

    Устанавливает интерфейсный тип, прежде чем интерфейс будет присоединен к сетевому стеку. Посмотрите bsd/net/if_types.h для определенных типов. kIOInterfaceType также обновляется с помощью предоставленного типа.

  • Устанавливает максимальный блок передачи для этого интерфейса.

    Объявление

    C++

    virtual bool setMaxTransferUnit( UInt32mtu );

    Параметры

    mtu

    Размер интерфейса MTU в байтах.

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

    Всегда возвращает true.

    Обсуждение

    Вызовы ifnet_set_mtu если интерфейс присоединен к сетевому стеку и обновляет kIOMaxTransferUnit свойство с помощью предоставленного значения.

  • Устанавливает размер носителей (уровень MAC) адрес.

    Объявление

    C++

    virtual bool setMediaAddressLength( UInt8length );

    Параметры

    length

    Размер носителей адресуется в байтах.

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

    Всегда возвращает true.

    Обсуждение

    Вызовы ifnet_set_addrlen если интерфейс присоединен к сетевому стеку и обновляет kIOMediaAddressLength свойство с помощью предоставленного значения.

  • Устанавливает размер заголовка носителя.

    Объявление

    C++

    virtual bool setMediaHeaderLength( UInt8length );

    Параметры

    length

    Размер заголовка носителя в байтах.

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

    Всегда возвращает true.

    Обсуждение

    Вызовы ifnet_set_hdrlen если интерфейс присоединен к сетевому стеку и обновляет kIOMediaHeaderLength свойство с помощью предоставленного значения.

  • Присваивает уникальное число модуля этому интерфейсу.

    Объявление

    C++

    virtual bool setUnitNumber( UInt16unit );

    Параметры

    unit

    Число модуля присвоилось к этому интерфейсному объекту.

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

    Возвращает true для указания успеха, если интерфейс еще не присоединил к сетевому стеку, иначе возвращает false.

    Обсуждение

    Этот метод вызывают внутренне, прежде чем интерфейс присоединен к сетевому стеку, для присвоения уникального числа модуля интерфейсному объекту. kIOInterfaceUnit свойство также обновляется с помощью предоставленного значения.

  • Выпускает рекурсивную блокировку, принадлежавшую интерфейсу.

    Объявление

    C++

    virtual void unlock( void );

    Обсуждение

    Рекурсивная блокировка выделяется и инициализируется в init(). Эта блокировка иначе не используется IONetworkInterface класс. Этот вызов метода выпускает блокировку для балансирования предшествующего lock().

Константы

  • Объявление

    CPlusPlus

    enum { kInputOptionQueuePacket = 0x1 };

    Константы

    • kInputOptionQueuePacket

      kInputOptionQueuePacket

      Ставьте в очередь входящий пакет, предоставленный очереди входящего пакета. Вызовы к inputPacket() должен быть сериализирован.

    Обсуждение

    Опции для inputPacket().