Networking_SetHardwareAddress-Funktion
Header: #include <applibs/networking.h>
Legt die Hardwareadresse für eine Netzwerkschnittstelle fest. Die Hardwareadresse wird bei Neustarts beibehalten und kann nur auf einer Ethernet-Schnittstelle festgelegt werden. Das Anwendungsmanifest muss die HardwareAddressConfig
-Funktion enthalten.
static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);
Parameter
-
networkInterfaceName
Der Name der zu aktualisierenden Netzwerkschnittstelle. -
hardwareAddress
Ein Zeiger auf ein Bytearray, das die Hardwareadresse enthält. -
hardwareAddressLength
Die Länge der Hardwareadresse. Diese sollte immer gleichHARDWARE_ADDRESS_LENGTH
sein.
Fehler
Gibt -1 zurück, wenn ein Fehler auftritt, und legt auf den Fehlerwert fest errno
.
ENOINT: Die Netzwerkschnittstelle ist nicht vorhanden.
EPERM: Diese Funktion ist für die Schnittstelle nicht zulässig.
EAGAIN: Der Netzwerkstapel ist nicht bereit.
ERANGE: ist
hardwareAddressLength
größer alsHARDWARE_ADDRESS_LENGTH
.EINVAL: die
hardwareAddressLength
ist ungültig.Beispiele:
- Eine Hardwareadresse mit allen Nullen (00:00:00:00:00:00:00). -
- Gruppieren von Hardwareadressen (eine Hardwareadresse, bei der das am wenigsten signifikante Bit des ersten Oktetts auf 1 festgelegt ist).
errno
Andere Fehler können angegeben werden. Solche Fehler sind nicht deterministisch, und es gibt keine Garantie, dass die Werte in allen Versionen des Betriebssystems konsistent sind.
Rückgabewert
Gibt 0 für erfolg oder -1 für Fehler zurück. In diesem Fall errno
wird auf den Fehlerwert festgelegt.