.\" -*- coding: UTF-8 -*- .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH libnetlink 3 .SH NUME libnetlink \- o bibliotecă pentru accesarea serviciului netlink .SH SINOPSIS .nf #include .br #include .br #include .br #include .sp int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions) .sp int rtnl_wilddump_request(struct rtnl_handle *rth, int family, int type) .sp int rtnl_send(struct rtnl_handle *rth, char *buf, int len) .sp int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len) .sp int rtnl_dump_filter(struct rtnl_handle *rth, int (*filter)(struct sockaddr_nl *, struct nlmsghdr *n, void *), void *arg1, int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), void *arg2) .sp int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer, unsigned groups, struct nlmsghdr *answer, .br int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), .br void *jarg) .sp int rtnl_listen(struct rtnl_handle *rtnl, int (*handler)(struct sockaddr_nl *, struct rtnl_ctrl_data *, struct nlmsghdr *n, void *), void *jarg) .sp int rtnl_from_file(FILE *rtnl, int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *), void *jarg) .sp int addattr32(struct nlmsghdr *n, int maxlen, int type, __u32 data) .sp int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen) .sp int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data) .sp int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen) .SH DESCRIERE libnetlink oferă o interfață de nivel superior pentru \fBrtnetlink\fP(7). Funcțiile de citire returnează 0 în caz de succes și o valoare errno negativă în caz de eșec. Funcțiile de trimitere returnează cantitatea de date trimise sau \-1 în caz de eroare. .TP rtnl_open Deschide un soclu rtnetlink și salvează starea în gestionarul \fBrth\fP. Acest gestionar este transmis la toate apelurile ulterioare. \fBsubscriptions\fP este o hartă de biți a grupurilor multicast rtnetlink din care va face parte soclul. .TP rtnl_wilddump_request .\" XXX Solicită o descărcare completă a bazei de date \fBtype\fP pentru adresele \fBfamilie\fP. \fBtype\fP este un tip de mesaj rtnetlink. .TP rtnl_dump_request Solicită o descărcare completă a tamponului de date \fBtype\fP în \fBbuf\fP cu lungimea maximă de \fBlen\fP. \fBtype\fP este un tip de mesaj rtnetlink. .TP rtnl_dump_filter Primește date netlink după o cerere și le filtrează. Reapelarea \fBfilter\fP verifică dacă mesajul primit este dorit. Aceasta primește ca argumente adresa sursă a mesajului, mesajul în sine și \fBarg1\fP. 0 ca returnare înseamnă că filtrul a trecut, o valoare negativă este returnată de \fIrtnl_dump_filter\fP în caz de eroare. NULL pentru \fIfilter\fP înseamnă să nu se utilizeze un filtru. \fBjunk\fP este utilizat pentru a filtra mesajele care nu sunt destinate soclului local. Se primește un singur pachet de mesaje. Dacă există un mesaj în așteptare, această funcție nu se blochează. .TP rtnl_listen Primește datele netlink după o cerere și le transmite către \fIhandler\fP (gestionar). Gestionarul \fBhandler\fP este un apel care primește ca argumente adresa sursei mesajului, datele anscillare, mesajul în sine și cookie\-ul \fBjarg\fP. Acesta va fi apelat pentru toate mesajele primite. Se primește un singur pachet de mesaje. Dacă există un mesaj în așteptare, această funcție nu se blochează. .TP rtnl_from_file Funcționează ca \fIrtnl_listen,\fP dar citește un pachet de mesaje netlink din fișierul \fBfile\fP și transmite mesajele către \fBhandler\fP pentru analiză. Fișierul trebuie să conțină date brute așa cum sunt primite de la un soclu rtnetlink. .PP Următoarele funcții sunt utile pentru a construi mesaje rtnetlink personalizate. Pentru descărcarea simplă a bazei de date cu filtrare, este mai bine să utilizați funcțiile de nivel superior de mai sus. Consultați \fBrtnetlink\fP(3) și \fBnetlink\fP(3) pentru a afla cum se generează un mesaj rtnetlink.Următoarele funcții utilitare necesită un tampon continuu care conține deja un antet de mesaj netlink și o cerere rtnetlink. .TP rtnl_send Trimite mesajul rtnetlink în \fBbuf\fP de lungime \fBlen\fP către gestionarul \fBrth.\fP .TP addattr32 Adaugă un atribut __u32 de tip \fBtype\fP și cu valoarea \fBdata\fP la mesajul netlink \fBn,\fP care face parte dintr\-un tampon de lungime \fBmaxlen.\fP .TP addattr_l Adaugă un atribut de lungime variabilă de tip \fBtype\fP și cu valoarea \fBdata\fP și lungimea \fBalen\fP la mesajul netlink \fBn,\fP care face parte dintr\-un tampon de lungime \fBmaxlen\fP. \fBdata\fP este copiat. .TP rta_addattr32 Inițializează atributul rtnetlink \fBrta\fP cu o valoare de date __u32. .TP rta_addattr32 Inițializează atributul rtnetlink \fBrta\fP cu o valoare de date de lungime variabilă. .SH ERORI Această bibliotecă este destinată utilizării interne, utilizați libmnl pentru programe noi. Funcțiile utilizează uneori fprintf și ies atunci când apare o eroare fatală. Această bibliotecă ar trebui să fie numită librtnetlink. .SH AUTORI netlink/rtnetlink a fost conceput și scris de Alexey Kuznetsov. Andi Kleen a scris pagina de manual. .SH "CONSULTAȚI ȘI" \fBnetlink\fP(7), \fBrtnetlink\fP(7) .br /usr/include/linux/rtnetlink.h .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 .