Поделиться через


Функция Networking_SetHardwareAddress

Заголовок: #include <applibs/networking.h>

Задает аппаратный адрес для сетевого интерфейса. Аппаратный адрес сохраняется при перезагрузках и может быть задан только в интерфейсе Ethernet. Манифест приложения должен содержать HardwareAddressConfig возможность.

static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);

Параметры

  • networkInterfaceName Имя обновляемого сетевого интерфейса.
  • hardwareAddress Указатель на массив байтов, содержащий аппаратный адрес.
  • hardwareAddressLength Длина аппаратного адреса. Он всегда должен быть равен HARDWARE_ADDRESS_LENGTH.

Ошибки

Возвращает значение -1 при обнаружении ошибки и задает errno значение ошибки.

  • ENOINT: сетевой интерфейс не существует.

  • EPERM: эта функция не разрешена в интерфейсе.

  • EAGAIN: сетевой стек не готов.

  • ERANGE: hardwareAddressLength больше , чем HARDWARE_ADDRESS_LENGTH.

  • EINVAL: hardwareAddressLength недопустимо.

    Примеры:

    • Аппаратный адрес со всеми нулями (00:00:00:00:00:00). -
    • Группировать аппаратные адреса (аппаратный адрес с наименьшим значением бита первого октета, равным 1).

Можно указать любой другой errno ; такие ошибки не являются детерминированными, и нет никакой гарантии, что значения будут согласованы в разных выпусках ОС.

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

Возвращает значение 0 для успешного выполнения или -1 для сбоя. В этом случае errno задается значение ошибки.

Основные понятия и примеры