Вам понадобятся сведения о том, как адрес расположен в массиве.
Как правило, адрес IPv6 построен с элементами uint32 в сетевом порядке. Сами элементы uint32 хранятся в порядке хоста.
Пример:
АДРЕС: мертвая: говядина: корм: лицо: кафе: младенец: Baad: c0de
adress6[0] = 0xdeadbeef;
adress6[1] = 0xfeedface;
adress6[2] = 0xcafebabe;
adress6[3] = 0xbaadc0de;
Массив находится в сетевом порядке, но каждое целое элемент будет в хосте заказ.
Чтобы получить в сетевой порядок вы могли бы сделать что-то вроде следующего:
void network_order_me (uint32_t *host_ipv6, uint32_t *net_ipv6) {
net_ipv6[0] = htonl(host_ipv6[0]);
net_ipv6[1] = htonl(host_ipv6[1]);
net_ipv6[2] = htonl(host_ipv6[2]);
net_ipv6[3] = htonl(host_ipv6[3]);
}
ли 32-разрядные слова в сетевом порядке байт? –
Нет, они не входят в сетевой порядок байтов. –