Compartir a través de


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 a HARDWARE_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 que HARDWARE_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.

Conceptos y ejemplos