Документация по LinuxLinuxDoc.Ru 🔍

netlink - макросы датаграмм сетевого соединения

НАЗВАНИЕ
netlink - макросы датаграмм сетевого соединения

СИНТАКСИС

#include
#include
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);

ОПИСАНИЕ
netlink.h описывает различные макросы для доступа к
сетевым датаграммам и их создания. По сути, они подобны
макросам, определенным в cmsg(3) для обычных данных.
Буфер, работающий в сетевых сокетах, должен использоваться
только с помощью этих макросов.


NLMSG_ALIGN
Выравнивает длину сетевого сообщения до
большей корректной длины.

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

NLMSG_SPACE
Возвращает количество байтов сетевого
сообщения.

NLMSG_DATA
Возвращает указатель на "полезную" часть
сообщения, ассоциированную с nlmsghdr.

NLMSG_NEXT
Получает следующий nlmsghdr в сообщении,
состоящем из нескольких частей. При вызове
необходимо убедиться, что в текущем nlmsghdr
не установлен флаг NLMSG_DONE: эта функция
не возвращает NULL в конце. Параметр length
- это величина, указывающая на оставшуюся
длину буфера. Этот макрос уменьшает ее на
размер заголовка сообщения.

NLMSG_OK
Возвращает значение "истина", если сетевое
сообщение не разорвано и готово к обработке.

NLMSG_PAYLOAD
Возвращает длину "полезной" части,
ассоциированной с nlmsghdr.

ЗАМЕЧАНИЯ
Гораздо лучше оперировать сетевыми соединениями с
помощью библиотеки libnetlink, а не низкоуровневых
функций ядра.
Читать новости Linux в Telegram
Linux - netlink - макросы датаграмм сетевого соединения
Мы в соцсетях ✉