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ówneHARDWARE_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.