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);
<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()
Prend la taille du message, len, comme argument et retourne 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é de données len.
NLMSG_DATA()
Retourne 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 len est une lvalue contenant la
taille restante du tampon du message. La macro diminue cette
taille de celle de l’en-tête de message.
NLMSG_OK()
Renvoie vrai si le message netlink n’est pas tronqué et prêt à
être traité.
NLMSG_PAYLOAD()
Renvoie la taille des données associées à nlmsghdr.
CONFORMITÉ
Ces macros sont des extensions de 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.
COLOPHON
Cette page fait partie de la publication 3.23 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent être trouvées à l’adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Cette page de manuel a été traduite par Thierry Vignaud <tvignaud AT
mandriva DOT com> en 2002, puis a été mise à jour par Alain Portal
<aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à disposition
sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Nicolas François
<nicolas.francois@centraliens.net> et l’équipe francophone de
traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».