NETLINK
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 14 mai 1999
Index
Menu principal
NOM
netlink - Macros pour netlink
SYNOPSIS
#include <asm/types.h>
#include <linux/netlink.h>
int NLMSG_ALIGN(size_t taille);
int NLMSG_LENGTH(size_t taille);
int NLMSG_SPACE(size_t taille);
void *NLMSG_DATA(struct nlmsghdr *nlh);
struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *nlh, int taille);
int NLMSG_OK(struct nlmsghdr *nlh, int taille);
int NLMSG_PAYLOAD(struct nlmsghdr *nlh, int taille);
DESCRIPTION
<linux/netlink.h>
définit plusieurs macros standard pour accéder
ou créer un datagramme netlink.
Elles sont similaires dans leurs principes aux macros définies dans
cmsg(3)
pour les données auxiliaires.
Le tampon passé à une socket netlink ne devrait
pas être manipulé autrement que par ces macros.
- NLMSG_ALIGN()
-
Arrondit la taille du message netlink pour avoir un alignement correct.
- NLMSG_LENGTH()
-
Prennant la
taille
de message comme argument,
cette macro renvoie la taille alignée à stocker dans le champ
nlmsg_len
de
nlmsghdr.
- NLMSG_SPACE()
-
Renvoie le nombre d'octets qu'un message netlink
occuperait pour la quantité
len
de données indiquée.
- NLMSG_DATA()
-
Renvoie un pointeur sur l'objet associé au
nlmsghdr
passé.
-
-
NLMSG_NEXT()
Récupère la structure
nlmsghdr
suivante d'un message multiple.
L'appelant doit vérifier que le
nlmsghdr
en cours n'a pas l'attribut
NLMSG_DONE
positionné - cette fonction ne retourne pas NULL à la fin.
Le paramètre taille est une lvalue contenant
la taille restante du tampon du message.
La macro diminue cette taille de celle de l'entête de message.
- NLMSG_OK()
-
Renvoie vrai si le message netlink n'est pas tronqué
et prêt à être traité.
- NLMSG_PAYLOAD()
-
Retourne la taille des données associées à
nlmsghdr.
CONFORMITÉ
Ces macros sont des extensions Linux non standard.
NOTES
Il vaut souvent mieux utiliser la bibliothèque netlink via
libnetlink
que par les interfaces de bas niveau du noyau.
VOIR AUSSI
netlink(7)
et
ftp://ftp.inr.ac.ru/ip-routing/iproute2* pour libnetlink.
TRADUCTION
Ce document est une traduction réalisée par Thierry Vignaud
<tvignaud AT mandriva DOT com> en 1999
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 3 netlink ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008