.\" -*- 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 "15 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME rtnetlink \- macrocomenzi pentru a manipula mesajele rtnetlink .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP \fB#include \fP \fB#include \fP \fB#include \fP .PP \fBrtnetlink_socket = socket(AF_NETLINK, int \fP\fIsocket_type\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 DESCRIERE Toate mesajele \fBrtnetlink\fP(7) constau dintr\-un antet de mesaj \fBnetlink\fP(7) și atribute anexate. Atributele ar trebui să fie manipulate numai cu ajutorul macrocomenzilor furnizate aici. .PP \fBRTA_OK(\fP\fIrta\fP\fB, \fP\fIattrlen\fP\fB)\fP returnează adevărat dacă \fIrta\fP indică un atribut de direcționare valid; \fIattrlen\fP este lungimea curentă a memoriei tampon a atributelor. Dacă nu este adevărat, atunci trebuie să se presupună că nu mai există atribute în mesaj, chiar dacă \fIattrlen\fP este diferit de zero. .PP \fBRTA_DATA(\fP\fIrta\fP\fB)\fP returnează un indicator la începutul datelor acestui atribut. .PP \fBRTA_PAYLOAD(\fP\fIrta\fP\fB)\fP returnează lungimea datelor acestui atribut. .PP \fBRTA_NEXT(\fP\fIrta\fP\fB, \fP\fIattrlen\fP\fB)\fP obține următorul atribut după \fIrta\fP. Apelarea acestei macrocomenzi va actualiza \fIattrlen\fP. Ar trebui să utilizați \fBRTA_OK\fP pentru a verifica validitatea indicatorului returnat. .PP \fBRTA_LENGTH(\fP\fIlen\fP\fB)\fP returnează lungimea care este necesară pentru \fIlen\fP octeți de date plus antetul. .PP \fBRTA_SPACE(\fP\fIlen\fP\fB)\fP returnează cantitatea de spațiu care va fi necesară într\-un mesaj cu \fIlen\fP octeți de date. .SH STANDARDE Linux. .SH ERORI Această pagină de manual este incompletă. .SH EXEMPLE .\" FIXME . ? would be better to use libnetlink in the EXAMPLE code here Crearea unui mesaj rtnetlink pentru a configura MTU al unui dispozitiv: .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 "CONSULTAȚI ȘI" \fBnetlink\fP(3), \fBnetlink\fP(7), \fBrtnetlink\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .