inet6_option_alloc()

Выделить память для пошаговых (hop-by-hop) параметров или параметров назначения IPv6

Прототип:

#include <netinet/in.h>
u_int8_t * inet6_option_alloc( struct cmsghdr *cmsg,
int datalen,
int multx,
int plusy );

Аргументы:

cmsg
Указатель на структуру cmsghdr, которая должна была быть проинициализирована inet6_option_init().
datalen
Длина опции в байтах. Это значение требуется в качестве аргумента, чтобы функция могла определить, следует ли добавлять выравнивание в конце аргумента option, поскольку длина данных option уже должна быть сохранена вызывающей стороной (функции inet6_option_append() не требуется сообщать длину данных).
multx
Значение x в выражении xn + y. Возможны значения 1, 2, 4, или 8.
plusy
Значение y in the alignment term xn + y. Возможны значения от 0 до 7, включительно.

Библиотека:

libsocket

Описание:

Функция inet6_option_alloc() добавляет пошаговую опцию или опцию назначения в объект вспомогательных данных, который был инициализирован функцией inet6_option_init().

Разница между данной функцией и inet6_option_append() заключается в том, что последняя копирует содержимое ранее созданной опции в объект вспомогательных данных. Эта функция возвращает указатель на область памяти в объекте данных, где "тип-длина-значение" опции или TLV должно затем быть собрано вызывающей стороной.

Возвращаемое значение:

Указатель на 8-битное поле типа параметра, с которого начинается параметр, или NULL, если произошла ошибка.

Классификация:

RFC 2292

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

inet6_option_append(), inet6_option_find(), inet6_option_init(), inet6_option_next(), inet6_option_space()

Основано на:




Предыдущий раздел: Описание API сетевой библиотеки