.\" -*- coding: UTF-8 -*- .\" This manpage copyright 1998 by Andi Kleen. .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Subject to the GPL. .\" %%%LICENSE_END .\" .\" Based on the original comments from Alexey Kuznetsov .\" $Id: netlink.3,v 1.1 1999/05/14 17:17:24 freitag Exp $ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH NETLINK 3 "20 марта 2014 г." GNU "Руководство программиста Linux" .SH ИМЯ netlink \- макросы netlink .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP .PP \fBint NLMSG_ALIGN(size_t \fP\fIlen\fP\fB);\fP \fBint NLMSG_LENGTH(size_t \fP\fIlen\fP\fB);\fP \fBint NLMSG_SPACE(size_t \fP\fIlen\fP\fB);\fP \fBvoid *NLMSG_DATA(struct nlmsghdr *\fP\fInlh\fP\fB);\fP \fBstruct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP \fBint NLMSG_OK(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP \fBint NLMSG_PAYLOAD(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP .fi .SH ОПИСАНИЕ В \fI\fP описаны различные стандартные макросы для доступа или создания дейтаграмм netlink. По сути, они подобны макросам, определённым в \fBcmsg\fP(3) для обычных данных. Работа с буфером, передаваемом или получаемом из сокета netlink, должна выполняться только с помощью этих макросов. .TP \fBNLMSG_ALIGN\fP() Выравнивает длину сообщения netlink до корректного значения. .TP \fBNLMSG_LENGTH\fP() Рассматривает длину полезной нагрузки \fIlen\fP как аргумент и возвращает выравненную длину в поле \fInlmsg_len\fP структуры \fInlmsghdr\fP. .TP \fBNLMSG_SPACE\fP() Возвращает количество байтов сообщения netlink с полезной нагрузкой длинной \fIlen\fP. .TP \fBNLMSG_DATA\fP() Возвращает указатель на полезную нагрузку, относящуюся к указанной структуре \fInlmsghdr\fP. .TP .\" this is bizarre, maybe the interface should be fixed. \fBNLMSG_NEXT\fP() Получает следующую структуру \fInlmsghdr\fP в сообщении, состоящем из нескольких частей. При вызове необходимо убедиться, что в текущей структуре \fInlmsghdr\fP не установлен флаг \fBNLMSG_DONE\fP — эта функция не возвращает NULL в конце. Параметр \fIlen\fP — это величина lvalue, указывающая на оставшуюся длину буфера сообщения. Этот макрос уменьшает её на размер заголовка сообщения. .TP \fBNLMSG_OK\fP() Возвращает значение «истина», если сообщение netlink не обрезано и готово к обработке. .TP \fBNLMSG_PAYLOAD\fP() Возвращает длину полезной нагрузки, связанной с \fInlmsghdr\fP. .SH "СООТВЕТСТВИЕ СТАНДАРТАМ" Данные макросы являются нестандартными расширениями Linux. .SH ЗАМЕЧАНИЯ В большинстве случаев лучше использовать netlink с помощью функций библиотеки \fIlibnetlink\fP, а не через низкоуровневый интерфейс ядра. .SH "СМ. ТАКЖЕ" \fBlibnetlink\fP(3), \fBnetlink\fP(7) .SH ЗАМЕЧАНИЯ Эта страница является частью проекта Linux \fIman\-pages\fP версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу \%https://www.kernel.org/doc/man\-pages/. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alex Nik , Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .