Искать следующий пошаговый (hop-by-hop) параметр или параметр назначения IPv6
#include <netinet/in.h>int inet6_option_next( const struct cmsghdr *cmsg,u_int8_t **tptrp );
cmsghdr
, которая должна была быть проинициализирована inet6_option_init().libsocket
Функция inet6_option_next() находит следующий параметр hop-by-hop или параметр назначения в объекте вспомогательных данных. Если еще предстоит обработать другую опцию, возвращаемое значение функции - 0
, а *tptrp указывает на 8-битное поле типа параметра.
Переменная cmsg указывает на структуру cmsghdr
, для которой cmsg_level равен IPPROTO_IPV6
и cmsg_type равен либо IPV6_HOPOPTS
либо IPV6_DSTOPTS
.
tptrp - это указатель на указатель на байт, а *tptrp используется функцией для запоминания своей позиции в объекте вспомогательных данных при каждом вызове функции. При первом вызове данной функции для данного объекта вспомогательных данных необходимо установить *tptrp в NULL
.
Каждый раз, когда функция завершается успешно, *tptrp указывает на 8-битное поле типа параметра для последующего параметра, который будет обработан.
8
-битное поле параметра).NULL
).NULL
).RFC 2292
inet6_option_alloc(), inet6_option_append(), inet6_option_find(), inet6_option_init(), inet6_option_space()
Основано на:
Предыдущий раздел: Описание API сетевой библиотеки