Función Networking_SetHardwareAddress
Encabezado: #include <applibs/networking.h>
Establece la dirección de hardware de una interfaz de red. La dirección de hardware se mantiene durante los reinicios y solo se puede establecer en una interfaz Ethernet. El manifiesto de la aplicación debe incluir la HardwareAddressConfig
funcionalidad.
static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);
Parámetros
-
networkInterfaceName
El nombre de la interfaz de red que se va a actualizar. -
hardwareAddress
Puntero a una matriz de bytes que contienen la dirección de hardware. -
hardwareAddressLength
La longitud de la dirección de hardware. Esto siempre debe ser igual aHARDWARE_ADDRESS_LENGTH
.
Errores
Devuelve -1 si se encuentra un error y se establece errno
en el valor de error.
ENOINT: la interfaz de red no existe.
EPERM: esta función no se permite en la interfaz.
EAGAIN: la pila de redes no está lista.
ERANGE: es
hardwareAddressLength
mayor queHARDWARE_ADDRESS_LENGTH
.EINVAL: el
hardwareAddressLength
valor no es válido.Ejemplos:
- Una dirección de hardware de todos los ceros (00:00:00:00:00:00). -
- Direcciones de hardware de grupo (una dirección de hardware con el bit menos significativo de su primer octeto establecido en 1).
Se puede especificar cualquier otro errno
; estos errores no son deterministas y no hay ninguna garantía de que los valores sean coherentes en todas las versiones del sistema operativo.
Valor devuelto
Devuelve 0 para éxito o -1 para error, en cuyo caso errno
se establece en el valor de error.