Funzione Networking_SetHardwareAddress

Intestazione: #include <applicazioni/networking.h>

Imposta l'indirizzo hardware per un'interfaccia di rete. L'indirizzo hardware viene mantenuto nei riavvii e può essere impostato solo su un'interfaccia Ethernet. Il manifesto dell'applicazione deve includere la HardwareAddressConfig funzionalità.

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

Parametri

  • networkInterfaceName Nome dell'interfaccia di rete da aggiornare.
  • hardwareAddress Puntatore a una matrice di byte contenente l'indirizzo hardware.
  • hardwareAddressLength Lunghezza dell'indirizzo hardware. Questo deve sempre essere uguale a HARDWARE_ADDRESS_LENGTH.

Errori

Restituisce -1 se si verifica un errore e imposta errno il valore di errore.

  • ENOINT: l'interfaccia di rete non esiste.

  • EPERM: questa funzione non è consentita nell'interfaccia.

  • EAGAIN: lo stack di rete non è pronto.

  • ERANGE: il hardwareAddressLength è maggiore di HARDWARE_ADDRESS_LENGTH.

  • EINVAL: non hardwareAddressLength è valido.

    Esempi:

    • Indirizzo hardware a zero zero (00:00:00:00:00:00:00:00). -
    • Raggruppare gli indirizzi hardware (un indirizzo hardware con il bit meno significativo del primo ottetto impostato su 1).

È possibile specificarne altri errno . Tali errori non sono deterministici e non vi è alcuna garanzia che i valori saranno coerenti nelle varie versioni del sistema operativo.

Valore restituito

Restituisce 0 per operazione riuscita o -1 per errore, nel qual caso errno è impostato sul valore di errore.

Concetti ed esempi