You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.2 KiB
50 lines
1.2 KiB
#include <asm/byteorder.h>
|
|
|
|
#define NI_NONCE_SIZE 8
|
|
|
|
/* Node Information Query */
|
|
struct ni_hdr {
|
|
struct icmp6_hdr ni_u;
|
|
__u8 ni_nonce[NI_NONCE_SIZE];
|
|
};
|
|
|
|
#define ni_type ni_u.icmp6_type
|
|
#define ni_code ni_u.icmp6_code
|
|
#define ni_cksum ni_u.icmp6_cksum
|
|
#define ni_qtype ni_u.icmp6_data16[0]
|
|
#define ni_flags ni_u.icmp6_data16[1]
|
|
|
|
/* Types */
|
|
#ifndef ICMPV6_NI_QUERY
|
|
# define ICMPV6_NI_QUERY 139
|
|
# define ICMPV6_NI_REPLY 140
|
|
#endif
|
|
|
|
/* Query Codes */
|
|
#define NI_SUBJ_IPV6 0
|
|
#define NI_SUBJ_NAME 1
|
|
#define NI_SUBJ_IPV4 2
|
|
|
|
/* Reply Codes */
|
|
#define NI_SUCCESS 0
|
|
#define NI_REFUSED 1
|
|
#define NI_UNKNOWN 2
|
|
|
|
/* Qtypes */
|
|
#define NI_QTYPE_NOOP 0
|
|
#define NI_QTYPE_NAME 2
|
|
#define NI_QTYPE_IPV6ADDR 3
|
|
#define NI_QTYPE_IPV4ADDR 4
|
|
|
|
/* Flags */
|
|
#define NI_IPV6ADDR_F_TRUNCATE __constant_cpu_to_be16(0x0001)
|
|
#define NI_IPV6ADDR_F_ALL __constant_cpu_to_be16(0x0002)
|
|
#define NI_IPV6ADDR_F_COMPAT __constant_cpu_to_be16(0x0004)
|
|
#define NI_IPV6ADDR_F_LINKLOCAL __constant_cpu_to_be16(0x0008)
|
|
#define NI_IPV6ADDR_F_SITELOCAL __constant_cpu_to_be16(0x0010)
|
|
#define NI_IPV6ADDR_F_GLOBAL __constant_cpu_to_be16(0x0020)
|
|
|
|
#define NI_IPV4ADDR_F_TRUNCATE NI_IPV6ADDR_F_TRUNCATE
|
|
#define NI_IPV4ADDR_F_ALL NI_IPV6ADDR_F_ALL
|
|
|