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

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

Разработчик

Ссылка bpf.h

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

На этой странице

Ссылка bpf.h

Включенные заголовки

  • <sys/param.h>

  • <sys/appleapiopts.h>

  • <sys/types.h>

  • <sys/time.h>

  • <sys/cdefs.h>

  • <stdint.h>

  • <sys/kernel_types.h>

  • <sys/_types/_timeval32.h>

Функции

  • Объявление

    Objective C

    errno_t bpf_attach ( ifnet_t interface, u_int32_t data_link_type, u_int32_t header_length, bpf_send_func send, bpf_tap_func tap );

    Параметры

    interface

    Интерфейс для регистрации в BPF.

    data_link_type

    Тип канала передачи данных интерфейса. Посмотрите, что DLT_* определяет в bpf.h.

    header_length

    Длина, в байтах, заголовка канала передачи данных.

    send

    Посмотрите bpf_send_func, описанный выше.

    tap

    Посмотрите bpf_tap_func, описанный выше.

    Обсуждение

    Регистрирует интерфейс в BPF. Это позволяет bpf устройствам присоединять к Вашему интерфейсу, чтобы получить и передать пакеты. Когда Ваш интерфейс будет отсоединен, Ваш интерфейс будет не зарегистрирован автоматически. Можно зарегистрироваться многократно в различных типах канала передачи данных. 802,11 интерфейса использовали бы это, чтобы позволить клиентам выбирать, хотят ли они просто кадр стиля Ethernet или 802,11 беспроводных заголовка также. Первый dlt, который Вы регистрируете, будут считать значением по умолчанию. Любые bpf присоединения устройства, не указывающие тип канала передачи данных, будут использовать значение по умолчанию.

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

    Objective C

    #include <bpf.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • Объявление

    Objective C

    void bpf_tap_in ( ifnet_t interface, u_int32_t dlt, mbuf_t packet, void *header, size_t header_len );

    Параметры

    interface

    Интерфейс пакет был получен на.

    dlt

    Тип канала передачи данных пакета.

    packet

    Пакет получен.

    header

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

    headerlen

    Если заголовок был указан, длина заголовка.

    Обсуждение

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

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

    Objective C

    #include <bpf.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • Объявление

    Objective C

    void bpf_tap_out ( ifnet_t interface, u_int32_t dlt, mbuf_t packet, void *header, size_t header_len );

    Параметры

    interface

    Интерфейс пакет был или будет передан на.

    dlt

    Тип канала передачи данных пакета.

    packet

    Пакет получен.

    header

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

    headerlen

    Если заголовок был указан, длина заголовка.

    Обсуждение

    Вызовите эту функцию когда Ваш интерфейс trasmits пакет. Эта функция проверит, нужна ли каким-либо bpf устройствам копия пакета.

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

    Objective C

    #include <bpf.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • Объявление

    Objective C

    void bpfattach ( ifnet_t interface, u_int data_link_type, u_int header_length );

    Параметры

    interface

    Интерфейс для регистрации в BPF.

    data_link_type

    Тип канала передачи данных интерфейса. Посмотрите, что DLT_* определяет в bpf.h.

    header_length

    Длина, в байтах, заголовка канала передачи данных.

    Обсуждение

    Регистрирует интерфейс в BPF. Это позволяет bpf устройствам присоединять к Вашему интерфейсу для получения пакетов. Когда Ваш интерфейс будет отсоединен, Ваш интерфейс будет не зарегистрирован автоматически.

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

    Objective C

    #include <bpf.h>;

    Доступность

    Доступный в OS X v10.4 и позже.

Обратные вызовы

  • Объявление

    Objective C

    typedef errno_t ( *bpf_send_func)( ifnet_t interface, u_int32_t data_link_type, mbuf_t packet);

    Параметры

    interface

    Интерфейс пакет пересылается.

    dlt

    Тип канала передачи данных bpf устройство присоединен.

    packet

    Пакет, который будет отправлен.

    Обсуждение

    когда bpf дескриптор файла используется для отправки необработанного пакета в интерфейсе, bpf_send_func вызывают. mbuf и тип канала передачи данных указаны. Обратный вызов ответственен за выпуск mbuf, возвращает ли это ошибку.

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

    Objective C

    #include <bpf.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

  • Объявление

    Objective C

    typedef errno_t ( *bpf_tap_func)( ifnet_t interface, u_int32_t data_link_type, bpf_tap_mode direction);

    Параметры

    interface

    Коснувшийся интерфейс.

    dlt

    Коснувшийся тип канала передачи данных.

    direction

    Направление касания.

    Обсуждение

    когда состояние касания интерфейса изменяется, bpf_tap_func вызывают. Когда bpf устройство присоединяет к интерфейсу или отсоединениям от интерфейса, это происходит. Режим касания объединится (бит или) режимы всех bpf устройств с помощью того интерфейса для этого dlt. При возврате ошибки из этой функции bpf попытка присоединения устройства, инициировавшая касание, перестанет работать. Если эта функция была вызвана bacuse, состояние касания уменьшалось (касание в, или останавливается), ошибка будет проигнорирована.

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

    Objective C

    #include <bpf.h>;

    Доступность

    Доступный в OS X v10.5 и позже.

Типы данных

Посмотрите раздел Overview выше для документации уровня заголовка.

  • Режим для ответвления. BPF_MODE_DISABLED/BPF_MODE_INPUT_OUTPUT и т.д.

    Объявление

    Objective C

    typedef u_int32_t bpf_tap_mode;

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

    Objective C

    #include <kpi_interface.h>;

    Доступность

    Доступный в OS X v10.4 и позже.

Константы

Посмотрите раздел Overview выше для документации уровня заголовка.

  • BPF

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

    Объявление

    Objective C

    enum { BPF_MODE_DISABLED = 0, BPF_MODE_INPUT = 1, BPF_MODE_OUTPUT = 2, BPF_MODE_INPUT_OUTPUT = 3 };

    Константы

    • BPF_MODE_DISABLED

      BPF_MODE_DISABLED

      Отключите bpf.

      Доступный в OS X v10.4 и позже.

    • BPF_MODE_INPUT

      BPF_MODE_INPUT

      Включите ввод только.

      Доступный в OS X v10.4 и позже.

    • BPF_MODE_OUTPUT

      BPF_MODE_OUTPUT

      Включите вывод только.

      Доступный в OS X v10.4 и позже.

    • BPF_MODE_INPUT_OUTPUT

      BPF_MODE_INPUT_OUTPUT

      Включите ввод и вывод.

      Доступный в OS X v10.4 и позже.

    Обсуждение

    коснитесь режима