.\" -*- coding: UTF-8 -*- .\" This man page is Copyright (C) 1999 Andi Kleen . .\" .\" %%%LICENSE_START(VERBATIM_ONE_PARA) .\" Permission is granted to distribute possibly modified copies .\" of this page provided the header is included verbatim, .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. .\" %%%LICENSE_END .\" .\" $Id: rtnetlink.3,v 1.2 1999/05/18 10:35:10 freitag Exp $ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH rtnetlink 3 "30 octobre 2022" "Pages du manuel de Linux 6.03" .SH NOM rtnetlink \- Macros manipulant des messages rtnetlink .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP \fB#include \fP \fB#include \fP \fB#include \fP .PP \fBrtnetlink_socket = socket(AF_NETLINK, int \fP\fItype_socket\fP\fB, NETLINK_ROUTE);\fP .PP \fBint RTA_OK(struct rtattr *\fP\fIrta\fP\fB, int \fP\fIrtabuflen\fP\fB);\fP .PP \fBvoid *RTA_DATA(struct rtattr *\fP\fIrta\fP\fB);\fP \fBunsigned int RTA_PAYLOAD(struct rtattr *\fP\fIrta\fP\fB);\fP .PP \fBstruct rtattr *RTA_NEXT(struct rtattr *\fP\fIrta\fP\fB, unsigned int \fP\fIrtabuflen\fP\fB);\fP .PP \fBunsigned int RTA_LENGTH(unsigned int \fP\fIlength\fP\fB);\fP \fBunsigned int RTA_SPACE(unsigned int \fP\fIlength\fP\fB);\fP .fi .SH DESCRIPTION Tous les messages \fBrtnetlink\fP(7) consistent en un en\-tête de message \fBnetlink\fP(7) et des attributs. Ceux\-ci ne devraient être manipulés que par les macros fournies ici. .PP \fBRTA_OK(\fP\fIrta\fP\fB, \fP\fIattrlen\fP\fB)\fP renvoie vrai si \fIrta\fP pointe sur un attribut de routage valide\ ; \fIattrlen\fP est la longueur courante du tampon d'attributs. Si elle renvoie 0, vous devez supposer qu'il n'y a pas d'autre attributs dans le message, même si \fIattrlen\fP n'est pas nulle. .PP \fBRTA_DATA(\fP\fIrta\fP\fB)\fP renvoie un pointeur sur le début des données de cet attribut. .PP \fBRTA_PAYLOAD(\fP\fIrta\fP\fB)\fP renvoie la longueur des données de cet attribut. .PP \fBRTA_NEXT(\fP\fIrta\fP\fB, \fP\fIattrlen\fP\fB)\fP renvoie le premier attribut après \fIrta\fP. Un appel à cette macro met à jour \fIattrlen\fP. Vous devriez utiliser \fBRTA_OK\fP pour vérifier la validité du pointeur retourné. .PP \fBRTA_LENGTH(\fP\fIlen\fP\fB)\fP renvoie la longueur requise pour \fIlen\fP octets de données plus l'en\-tête. .PP \fBRTA_SPACE(\fP\fIlen\fP\fB)\fP renvoie la quantité de mémoire nécessaire pour un message composé de \fIlen\fP octets de données. .SH STANDARDS Ces macros sont des extensions de Linux non standard. .SH BOGUES Cette page de manuel est incomplète. .SH EXEMPLES .\" FIXME . ? would be better to use libnetlink in the EXAMPLE code here Créer un message rtnetlink pour choisir le MTU d'un périphérique. .PP .in +4n .EX #include \&... struct { struct nlmsghdr nh; struct ifinfomsg if; char attrbuf[512]; } req; struct rtattr *rta; unsigned int mtu = 1000; int rtnetlink_sk = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE); memset(&req, 0, sizeof(req)); req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(req.if)); req.nh.nlmsg_flags = NLM_F_REQUEST; req.nh.nlmsg_type = RTM_NEWLINK; req.if.ifi_family = AF_UNSPEC; req.if.ifi_index = INTERFACE_INDEX; req.if.ifi_change = 0xffffffff; /* ??? */ rta = (struct rtattr *)(((char *) &req) + NLMSG_ALIGN(req.nh.nlmsg_len)); rta\->rta_type = IFLA_MTU; rta\->rta_len = RTA_LENGTH(sizeof(mtu)); req.nh.nlmsg_len = NLMSG_ALIGN(req.nh.nlmsg_len) + RTA_LENGTH(sizeof(mtu)); memcpy(RTA_DATA(rta), &mtu, sizeof(mtu)); send(rtnetlink_sk, &req, req.nh.nlmsg_len, 0); .EE .in .SH "VOIR AUSSI" \fBnetlink\fP(3), \fBnetlink\fP(7), \fBrtnetlink\fP(7) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .