Искать следующий пошаговый (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 сетевой библиотеки