1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 /***
5   Copyright © 2014-2015 Intel Corporation. All rights reserved.
6 ***/
7 
8 #include <net/ethernet.h>
9 
10 #include "time-util.h"
11 
12 #define IN6ADDR_ALL_ROUTERS_MULTICAST_INIT \
13         { { { 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
14               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 } } }
15 
16 #define IN6ADDR_ALL_NODES_MULTICAST_INIT \
17         { { { 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
18               0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 } } }
19 
20 int icmp6_bind_router_solicitation(int ifindex);
21 int icmp6_bind_router_advertisement(int ifindex);
22 int icmp6_send_router_solicitation(int s, const struct ether_addr *ether_addr);
23 int icmp6_receive(int fd, void *buffer, size_t size, struct in6_addr *ret_dst,
24                   triple_timestamp *ret_timestamp);
25