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.