Udostępnij za pośrednictwem


Funkcja Networking_SetHardwareAddress

Nagłówek: #include <applibs/networking.h>

Ustawia adres sprzętowy interfejsu sieciowego. Adres sprzętu jest zachowywany podczas ponownych rozruchów i można go ustawić tylko w interfejsie Ethernet. Manifest aplikacji musi zawierać tę funkcjęHardwareAddressConfig.

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

Parametry

  • networkInterfaceName Nazwa interfejsu sieciowego do zaktualizowania.
  • hardwareAddress Wskaźnik do tablicy bajtów zawierającej adres sprzętowy.
  • hardwareAddressLength Długość adresu sprzętowego. To powinno być zawsze równe HARDWARE_ADDRESS_LENGTH.

Błędy

Zwraca wartość -1 w przypadku napotkania błędu i ustawia errno wartość błędu.

  • ENOINT: interfejs sieci nie istnieje.

  • EPERM: ta funkcja nie jest dozwolona w interfejsie.

  • EAGAIN: stos sieci nie jest gotowy.

  • ERANGE: hardwareAddressLength jest większe niż HARDWARE_ADDRESS_LENGTH.

  • EINVAL: jest nieprawidłowy hardwareAddressLength .

    Przykłady:

    • Adres sprzętowy wszystkich zer (00:00:00:00:00:00:00). -
    • Grupowanie adresów sprzętowych (adres sprzętowy z najmniejszą istotną liczbą bitów pierwszej ósemki ustawioną na 1).

Można określić inne errno błędy; takie błędy nie są deterministyczne i nie ma gwarancji, że wartości będą spójne w wersjach systemu operacyjnego.

Zwracana wartość

Zwraca wartość 0 dla powodzenia lub -1 dla niepowodzenia, w którym to przypadku errno jest ustawiona wartość błędu.

Pojęcia i próbki