netlink(3)

NUME
netlink - macrocomenzi netlink

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <asm/types.h>
#include <linux/netlink.h>

int NLMSG_ALIGN(size_t size);
int NLMSG_LENGTH(size_t size);
int NLMSG_SPACE(size_t size);
void *NLMSG_DATA(struct nlmsghdr *nlh);
struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *nlh, int size);
int NLMSG_OK(struct nlmsghdr *nlh, int size);
int NLMSG_PAYLOAD(struct nlmsghdr *nlh, int size);

DESCRIERE
<linux/netlink.h> definește mai multe macrocomenzi standard pentru a accesa sau a crea o diagramă netlink. Acestea sunt similare în spirit cu macrocomenzile definite în cmsg(3) pentru datele auxiliare. Memoria tampon transmisă către și de la un soclu netlink ar trebui accesată folosind numai aceste macrocomenzi.

NLMSG_ALIGN()
    Rotunjește dimensiunea unui mesaj netlink pentru a-l alinia corespunzător.

NLMSG_LENGTH()
    Dată fiind dimensiunea sarcinii utile, size, această macrocomandă returnează lungimea aliniată care trebuie stocată în câmpul nlmsg_len din nlmsghdr.

NLMSG_SPACE()
    Returnează numărul de octeți pe care l-ar ocupa un mesaj netlink cu sarcina utilă de size.

NLMSG_DATA()
    Returnează un indicator la sarcina utilă asociată cu nlmsghdr transmis.

NLMSG_NEXT()
    Obține următorul nlmsghdr dintr-un mesaj compus din mai multe părți. Apelantul trebuie să verifice dacă nlmsghdr curent nu a avut fanionul NLMSG_DONE, această funcție nu returnează NULL la sfârșit. Argumentul size este o valoare l care conține lungimea rămasă a memoriei tampon a mesajului. Această macrocomandă îl decrementează cu lungimea antetului mesajului.

NLMSG_OK()
    Returnează „true” dacă mesajul netlink nu este trunchiat și are o formă adecvată pentru analizare.

NLMSG_PAYLOAD()
    Returnează dimensiunea sarcinii utile asociate cu nlmsghdr.

VERSIUNI
Adesea este mai bine să folosiți netlink prin libnetlink decât prin interfața de nivel scăzut a nucleului.

STANDARDE
Linux.

CONSULTAȚI ȘI
libnetlink(3), netlink(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.