Sdílet prostřednictvím


funkce Networking_SetHardwareAddress

Hlavička: #include <applibs/networking.h>

Nastaví hardwarovou adresu síťového rozhraní. Hardwarová adresa je trvale uložená při restartování a dá se nastavit pouze v rozhraní Ethernet. Manifest aplikace musí obsahovat HardwareAddressConfig funkci .

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

Parametry

  • networkInterfaceName Název síťového rozhraní, které se má aktualizovat.
  • hardwareAddress Ukazatel na pole bajtů obsahující hardwarovou adresu.
  • hardwareAddressLength Délka hardwarové adresy. Tato hodnota by se měla vždy rovnat hodnotě HARDWARE_ADDRESS_LENGTH.

Chyby

Vrátí hodnotu -1, pokud dojde k chybě, a nastaví errno se na chybovou hodnotu.

  • ENOINT: Síťové rozhraní neexistuje.

  • EPERM: Tato funkce není v rozhraní povolená.

  • EAGAIN: Síťový zásobník není připravený.

  • ERANGE: hodnota hardwareAddressLength je větší než HARDWARE_ADDRESS_LENGTH.

  • EINVAL: hodnota hardwareAddressLength je neplatná.

    Příklady:

    • Adresa hardwaru s nulami (00:00:00:00:00:00). -
    • Seskupte hardwarové adresy (hardwarová adresa s nejméně významným bitem prvního oktetu nastavenou na hodnotu 1).

Je možné zadat jakékoli jiné errno chyby. Tyto chyby nejsou deterministické a neexistuje žádná záruka, že hodnoty budou konzistentní napříč verzemi operačního systému.

Vrácená hodnota

Vrátí hodnotu 0 pro úspěch nebo -1 pro selhání. V tomto případě errno je nastavená na chybovou hodnotu.

Koncepty a ukázky