Partager via


Networking_SetHardwareAddress, fonction

En-tête : #include <applibs/networking.h>

Définit l’adresse matérielle d’une interface réseau. L’adresse matérielle est conservée entre les redémarrages et ne peut être définie que sur une interface Ethernet. Le manifeste de l’application doit inclure la HardwareAddressConfig fonctionnalité .

static int Networking_SetHardwareAddress(const char *networkInterfaceName, const uint8_t *hardwareAddress, size_t hardwareAddressLength);

Paramètres

  • networkInterfaceName Nom de l’interface réseau à mettre à jour.
  • hardwareAddress Pointeur vers un tableau d’octets contenant l’adresse matérielle.
  • hardwareAddressLength Longueur de l’adresse matérielle. Cela doit toujours être égal à HARDWARE_ADDRESS_LENGTH.

Erreurs

Retourne -1 si une erreur est rencontrée et définit errno sur la valeur d’erreur.

  • ENOINT : l’interface réseau n’existe pas.

  • EPERM : cette fonction n’est pas autorisée sur l’interface.

  • EAGAIN : la pile réseau n’est pas prête.

  • ERANGE : est hardwareAddressLength supérieur à HARDWARE_ADDRESS_LENGTH.

  • EINVAL : n’est hardwareAddressLength pas valide.

    Exemples :

    • Adresse matérielle tous zéros (00:00:00:00:00:00). -
    • Regrouper les adresses matérielles (adresse matérielle avec le bit le moins significatif de son premier octet défini sur 1).

Toutes les autres errno peuvent être spécifiées ; ces erreurs ne sont pas déterministes et il n’existe aucune garantie que les valeurs seront cohérentes entre les versions du système d’exploitation.

Valeur de retour

Retourne 0 pour la réussite, ou -1 en cas d’échec, auquel cas errno est défini sur la valeur d’erreur.

Concepts et exemples