.\" -*- coding: UTF-8 -*- .\" SPDX-License-Identifier: Linux-man-pages-1-para .\" .\" This man page is Copyright (C) 1999 Andi Kleen . .\" .\" $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 "31 octobre 2023" "Pages du manuel de Linux 6.06" .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 .P \fBrtnetlink_socket = socket(AF_NETLINK, int \fP\fItype_socket\fP\fB, NETLINK_ROUTE);\fP .P \fBint RTA_OK(struct rtattr *\fP\fIrta\fP\fB, int \fP\fIrtabuflen\fP\fB);\fP .P \fBvoid *RTA_DATA(struct rtattr *\fP\fIrta\fP\fB);\fP \fBunsigned int RTA_PAYLOAD(struct rtattr *\fP\fIrta\fP\fB);\fP .P \fBstruct rtattr *RTA_NEXT(struct rtattr *\fP\fIrta\fP\fB, unsigned int \fP\fIrtabuflen\fP\fB);\fP .P \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. .P \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. .P \fBRTA_DATA(\fP\fIrta\fP\fB)\fP renvoie un pointeur sur le début des données de cet attribut. .P \fBRTA_PAYLOAD(\fP\fIrta\fP\fB)\fP renvoie la longueur des données de cet attribut. .P \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é. .P \fBRTA_LENGTH(\fP\fIlen\fP\fB)\fP renvoie la longueur requise pour \fIlen\fP octets de données plus l'en\-tête. .P \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 Linux. .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. .P .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 .