Linux |
CentOS 4.8 |
|
netlink(3) |
netlink − Macros pour netlink |
#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); |
netlink.h définit plusieurs macros standardes pour accéder ou créer un datagramme netlink. Elles sont similaires dans leurs principes avec les macros définies dans cmsg(3) pour les données auxiliaires. Le tampon passé à un netlink ne devrait pas être accédé autrement que par ces macros. |
NLMSG_ALIGN
Arrondit la taille du message netlink pour l’aligner proprement. |
NLMSG_LENGTH |
Prend la taille brute comme argument et retourne la taille alignée à stocker dans le champs nlmsg_taille de nlmsghdr. |
NLMSG_SPACE |
Retourne le nombre d’octets d’un message netlink (pas la taille alignée). |
NLMSG_DATA |
Retourne un pointeur sur l’objet associé au nlmsghdr passé. |
NLMSG_NEXT |
Récupère la partie suivante d’un message multipartie Get the next nlmsghdr . L’appellant doit vérifier que le nlmsghdr courrant n’a pas le NLMSG_DONE positionné (cette fonction retourne NULL à la fin). Le paramètre taille est une lvalue [Ndt: expression pouvant être affectée : variable, champs, ...] contenant la taille restante du tampon du message. Cette macro décrémente cette taille par celle de l’en-tête de message. |
NLMSG_OK |
Retourne vrai si le message netlink n’est pas tronqué et prêt à être utilisé. |
NLMSG_PAYLOAD |
Retourne la taille de l’objet associé à nlmsghdr. |
Il vaut souvent mieux utiliser la bibliothèque netlink via libnetlink que par les interfaces de bas niveau du noyau. |
netlink(7) et ftp://ftp.inr.ac.ru/ip-routing/iproute2* pour libnetlink. |
Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999 |
netlink(3) |