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 aHARDWARE_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 diHARDWARE_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.