1 // Copyright © 2015, Peter Atashian
2 // Licensed under the MIT License <LICENSE.md>
3 pub const IPV6_HOPOPTS: ::c_int = 1;
4 pub const IPV6_HDRINCL: ::c_int = 2;
5 pub const IPV6_UNICAST_HOPS: ::c_int = 4;
6 pub const IPV6_MULTICAST_IF: ::c_int = 9;
7 pub const IPV6_MULTICAST_HOPS: ::c_int = 10;
8 pub const IPV6_MULTICAST_LOOP: ::c_int = 11;
9 pub const IPV6_ADD_MEMBERSHIP: ::c_int = 12;
10 pub const IPV6_JOIN_GROUP: ::c_int = IPV6_ADD_MEMBERSHIP;
11 pub const IPV6_DROP_MEMBERSHIP: ::c_int = 13;
12 pub const IPV6_LEAVE_GROUP: ::c_int = IPV6_DROP_MEMBERSHIP;
13 pub const IPV6_DONTFRAG: ::c_int = 14;
14 pub const IPV6_PKTINFO: ::c_int = 19;
15 pub const IPV6_HOPLIMIT: ::c_int = 21;
16 pub const IPV6_PROTECTION_LEVEL: ::c_int = 23;
17 pub const IPV6_RECVIF: ::c_int = 24;
18 pub const IPV6_RECVDSTADDR: ::c_int = 25;
19 pub const IPV6_CHECKSUM: ::c_int = 26;
20 pub const IPV6_V6ONLY: ::c_int = 27;
21 pub const IPV6_IFLIST: ::c_int = 28;
22 pub const IPV6_ADD_IFLIST: ::c_int = 29;
23 pub const IPV6_DEL_IFLIST: ::c_int = 30;
24 pub const IPV6_UNICAST_IF: ::c_int = 31;
25 pub const IPV6_RTHDR: ::c_int = 32;
26 pub const IPV6_RECVRTHDR: ::c_int = 38;
27 pub const IPV6_TCLASS: ::c_int = 39;
28 pub const IPV6_RECVTCLASS: ::c_int = 40;
29 STRUCT!{struct ipv6_mreq {
30     ipv6mr_multiaddr: in6_addr,
31     ipv6mr_interface: ::c_uint,
32 }}
33 STRUCT!{struct in6_addr {
34     s6_addr: [u8; 16],
35 }}
36 STRUCT!{struct sockaddr_in6 {
37     sin6_family: ::c_short,
38     sin6_port: ::c_ushort,
39     sin6_flowinfo: ::c_ulong,
40     sin6_addr: in6_addr,
41     sin6_scope_id: ::c_ulong,
42 }}
43