Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       netlink - макросы netlink

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

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

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

ОПИСАНИЕ

       В <linux/netlink.h> описаны различные стандартные макросы для доступа или создания дейтаграмм netlink. По
       сути, они подобны макросам, определённым в cmsg(3) для обычных данных. Работа с буфером, передаваемом или
       получаемом из сокета netlink, должна выполняться только с помощью этих макросов.

       NLMSG_ALIGN()
              Выравнивает длину сообщения netlink до корректного значения.

       NLMSG_LENGTH()
              Рассматривает  длину  полезной  нагрузки  len  как  аргумент и возвращает выравненную длину в поле
              nlmsg_len структуры nlmsghdr.

       NLMSG_SPACE()
              Возвращает количество байтов сообщения netlink с полезной нагрузкой длинной len.

       NLMSG_DATA()
              Возвращает указатель на полезную нагрузку, относящуюся к указанной структуре nlmsghdr.

       NLMSG_NEXT()
              Get the next nlmsghdr in a multipart message.  The caller  must  check  if  the  current  nlmsghdr
              didn't  have  the NLMSG_DONE set—this function doesn't return NULL on end.  The len argument is an
              lvalue containing the remaining length of the message buffer.  This macro  decrements  it  by  the
              length of the message header.

       NLMSG_OK()
              Возвращает значение «истина», если сообщение netlink не обрезано и готово к обработке.

       NLMSG_PAYLOAD()
              Возвращает длину полезной нагрузки, связанной с nlmsghdr.

ВЕРСИИ

       В  большинстве  случаев  лучше  использовать  netlink с помощью функций библиотеки libnetlink, а не через
       низкоуровневый интерфейс ядра.

СТАНДАРТЫ

       Linux.

СМОТРИТЕ ТАКЖЕ

       libnetlink(3), netlink(7)

ПЕРЕВОД

       Русский перевод этой страницы руководства разработал(и) Alex Nik <rage.iz.me@gmail.com>, Azamat  Hackimov
       <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru>,
       Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                       netlink(3)