Função Networking_SetHardwareAddress
Cabeçalho: #include <applibs/networking.h>
Define o endereço de hardware para uma interface de rede. O endereço de hardware é persistente entre reinicializações e só pode ser definido em uma interface Ethernet. O manifesto do aplicativo deve incluir a HardwareAddressConfig
funcionalidade.
static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);
Parâmetros
-
networkInterfaceName
O nome da interface de rede a ser atualizada. -
hardwareAddress
Um ponteiro para uma matriz de bytes que contém o endereço de hardware. -
hardwareAddressLength
O comprimento do endereço de hardware. Isso deve ser sempre igual aHARDWARE_ADDRESS_LENGTH
.
Erros
Retorna -1 se um erro for encontrado e definir errno
como o valor do erro.
ENOINT: a interface de rede não existe.
EPERM: essa função não é permitida na interface.
EAGAIN: a pilha de rede não está pronta.
ERANGE: o
hardwareAddressLength
é maior queHARDWARE_ADDRESS_LENGTH
.EINVAL: o
hardwareAddressLength
é inválido.Exemplos:
- Um endereço de hardware zeros (00:00:00:00:00:00). -
- Endereços de hardware de grupo (um endereço de hardware com o bit menos significativo do primeiro octeto definido como 1).
Qualquer outro errno
pode ser especificado; esses erros não são determinísticos e não há garantia de que os valores serão consistentes entre as versões do sistema operacional.
Valor retornado
Retorna 0 para êxito ou -1 para falha, nesse caso errno
é definido como o valor do erro.