Dela via


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 med HARDWARE_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 än HARDWARE_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.

Koncept och exempel