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);Параметры
aDataIONetworkDataобъект.Возвращаемое значение
Если объект был добавлен, ложь иначе, возвращает 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;Параметры
aKeyOSSymbol идентификация объекта.
Возвращаемое значение
Возвращает ссылку на соответствие
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_tpacket, UInt32 length = 0, IOOptionBits options = 0, void *param = 0 );Параметры
mbuf_tmbuf, содержащий полученный пакет.
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Объект контроллера.
cmdioctl код команды.
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);Параметры
aKeyOSSymbol идентификация объекта, который будет удален.
Возвращаемое значение
Если объект был найден и удален, ложь иначе, возвращает true.
Обсуждение
Этот метод удаляет
IONetworkDataобъект от набора, которым управляет интерфейс. Удаленный объект выпущен. -
Выполняет работу «чтение, изменяют запись» на текущем интерфейсном значении флагов.
Объявление
C++
virtual bool setFlags( UInt16flags, UInt16 clear = 0 );Параметры
flagsБиты, которые должны быть установлены.
clearБиты, которые должны быть очищены. если нуль, OR'ing исходное значение флагов с новыми флагами, то не флагов очищены и результат формируется
Возвращаемое значение
Всегда возвращает true.
Обсуждение
Вызовы
ifnet_set_flagsесли интерфейс присоединен к сетевому стеку и обновляетkIOInterfaceFlagsсвойство с помощью предоставленного значения. Посмотритеbsd/net/if.hзаголовочный файл для констант флага. -
Обновляет интерфейсные объектные флаги состояния.
Объявление
C++
virtual UInt32 setInterfaceState( UInt32set, 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().
