inet6_rthdr_init()

Инициализировать заголовок маршрутизации IPv6

Прототип:

#include <netinet/in.h>
struct cmsghdr * inet6_rthdr_init( void *bp,
int type );

Аргументы:

bp
Указатель на буфер, в котором функция может сохранить структуру cmsghdr, за которой будет следовать заголовок маршрутизации указанного типа.
type
Тип заголовка маршрутизации IPv6 (например, Type 0 определен в <netinet/in.h>).

Библиотека:

libsocket

Описание:

Данная функция инициализирует буфер, на который указывает bp, чтобы он содержал структуру cmsghdr, за которой следует заголовок маршрутизации указанного типа. Поле cmsg_len структуры cmsghdr инициализируется размером структуры плюс объемом пространства, необходимого для хранения заголовка маршрутизации.

Поля cmsg_level и cmsg_type также инициализируются по мере необходимости.

Необходимо выделить буфер перед вызовом данной функции. Чтобы выделить буфер, необходимо вызвать inet6_rthdr_space().

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

Указатель на структуру cmsghdr, которую впоследствии будет передана другим функциям (и будет использоваться в качестве первого аргумента для функций списка) или NULL, если произошла ошибка.

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

RFC 2292

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

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

inet6_rthdr_add(), inet6_rthdr_getaddr(), inet6_rthdr_getflags(), inet6_rthdr_lasthop(), inet6_rthdr_reverse(), inet6_rthdr_segments(), inet6_rthdr_space()

Основано на:




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