funktionen Networking_SetHardwareAddress
Sidhuvud: #include <applibs/networking.h>
Anger maskinvaruadressen för ett nätverksgränssnitt. Maskinvaruadressen finns kvar i alla omstarter och kan bara anges i ett Ethernet-gränssnitt.
ProgrammanifestetHardwareAddressConfig
måste innehålla funktionen.
static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);
Parametrar
-
networkInterfaceName
Namnet på nätverksgränssnittet som ska uppdateras. -
hardwareAddress
En pekare till en matris med byte som innehåller maskinvaruadressen. -
hardwareAddressLength
Längden på maskinvaruadressen. Detta ska alltid vara lika medHARDWARE_ADDRESS_LENGTH
.
Fel
Returnerar -1 om ett fel uppstår och anger errno
felvärdet.
ENOINT: nätverksgränssnittet finns inte.
EPERM: Den här funktionen är inte tillåten i gränssnittet.
EAGAIN: nätverksstacken är inte klar.
ERANGE: är
hardwareAddressLength
större änHARDWARE_ADDRESS_LENGTH
.EINVAL: är
hardwareAddressLength
ogiltigt.Exempel:
- En all-zeroes maskinvaruadress (00:00:00:00:00:00). -
- Maskinvaruadresser för grupper (en maskinvaruadress med den första oktettens minsta signifikanta bit inställd på 1).
errno
Andra kan anges, sådana fel är inte deterministiska och det finns ingen garanti för att värdena kommer att vara konsekventa i alla versioner av operativsystemet.
Returvärde
Returnerar 0 för lyckat resultat, eller -1 för fel, i vilket fall errno
är inställt på felvärdet.