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.