Função Networking_SetHardwareAddress
Cabeçalho: #include <applibs/networking.h>
Define o endereço de hardware de uma interface de rede. O endereço de hardware é mantido entre reinícios e só pode ser definido numa interface Ethernet. O manifesto da aplicação tem de incluir a HardwareAddressConfig
capacidade.
static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);
Parâmetros
-
networkInterfaceName
O nome da interface de rede a atualizar. -
hardwareAddress
Um ponteiro para uma matriz de bytes que contêm o endereço de hardware. -
hardwareAddressLength
O comprimento do endereço de hardware. Deve ser sempre igual aHARDWARE_ADDRESS_LENGTH
.
Erros
Devolve -1 se for encontrado um erro e define errno
para o valor de erro.
ENOINT: a interface de rede não existe.
EPERM: esta 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 com zeros (00: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; tais erros não são deterministas e não há garantias de que os valores serão consistentes entre as versões do SO.
Valor devolvido
Devolve 0 para êxito ou -1 para falha, caso errno
em que está definido como o valor de erro.