122851890Sopenharmony_ci/**************************************************************************** 222851890Sopenharmony_ci **************************************************************************** 322851890Sopenharmony_ci *** 422851890Sopenharmony_ci *** This header was automatically generated from a Linux kernel header 522851890Sopenharmony_ci *** of the same name, to make information necessary for userspace to 622851890Sopenharmony_ci *** call into the kernel available to libc. It contains only constants, 722851890Sopenharmony_ci *** structures, and macros generated from the original header, and thus, 822851890Sopenharmony_ci *** contains no copyrightable information. 922851890Sopenharmony_ci *** 1022851890Sopenharmony_ci *** To edit the content of this header, modify the corresponding 1122851890Sopenharmony_ci *** source file (e.g. under external/kernel-headers/original/) then 1222851890Sopenharmony_ci *** run bionic/libc/kernel/tools/update_all.py 1322851890Sopenharmony_ci *** 1422851890Sopenharmony_ci *** Any manual change here will be lost the next time this script will 1522851890Sopenharmony_ci *** be run. You've been warned! 1622851890Sopenharmony_ci *** 1722851890Sopenharmony_ci **************************************************************************** 1822851890Sopenharmony_ci ****************************************************************************/ 1922851890Sopenharmony_ci#ifndef _UAPI_LINUX_IGMP_H 2022851890Sopenharmony_ci#define _UAPI_LINUX_IGMP_H 2122851890Sopenharmony_ci#include <linux/types.h> 2222851890Sopenharmony_ci#include <asm/byteorder.h> 2322851890Sopenharmony_cistruct igmphdr { 2422851890Sopenharmony_ci __u8 type; 2522851890Sopenharmony_ci __u8 code; 2622851890Sopenharmony_ci __sum16 csum; 2722851890Sopenharmony_ci __be32 group; 2822851890Sopenharmony_ci}; 2922851890Sopenharmony_ci#define IGMPV3_MODE_IS_INCLUDE 1 3022851890Sopenharmony_ci#define IGMPV3_MODE_IS_EXCLUDE 2 3122851890Sopenharmony_ci#define IGMPV3_CHANGE_TO_INCLUDE 3 3222851890Sopenharmony_ci#define IGMPV3_CHANGE_TO_EXCLUDE 4 3322851890Sopenharmony_ci#define IGMPV3_ALLOW_NEW_SOURCES 5 3422851890Sopenharmony_ci#define IGMPV3_BLOCK_OLD_SOURCES 6 3522851890Sopenharmony_cistruct igmpv3_grec { 3622851890Sopenharmony_ci __u8 grec_type; 3722851890Sopenharmony_ci __u8 grec_auxwords; 3822851890Sopenharmony_ci __be16 grec_nsrcs; 3922851890Sopenharmony_ci __be32 grec_mca; 4022851890Sopenharmony_ci __be32 grec_src[0]; 4122851890Sopenharmony_ci}; 4222851890Sopenharmony_cistruct igmpv3_report { 4322851890Sopenharmony_ci __u8 type; 4422851890Sopenharmony_ci __u8 resv1; 4522851890Sopenharmony_ci __sum16 csum; 4622851890Sopenharmony_ci __be16 resv2; 4722851890Sopenharmony_ci __be16 ngrec; 4822851890Sopenharmony_ci struct igmpv3_grec grec[0]; 4922851890Sopenharmony_ci}; 5022851890Sopenharmony_cistruct igmpv3_query { 5122851890Sopenharmony_ci __u8 type; 5222851890Sopenharmony_ci __u8 code; 5322851890Sopenharmony_ci __sum16 csum; 5422851890Sopenharmony_ci __be32 group; 5522851890Sopenharmony_ci#ifdef __LITTLE_ENDIAN_BITFIELD 5622851890Sopenharmony_ci __u8 qrv : 3, suppress : 1, resv : 4; 5722851890Sopenharmony_ci#elif defined(__BIG_ENDIAN_BITFIELD) 5822851890Sopenharmony_ci __u8 resv : 4, suppress : 1, qrv : 3; 5922851890Sopenharmony_ci#else 6022851890Sopenharmony_ci#error "Please fix <asm/byteorder.h>" 6122851890Sopenharmony_ci#endif 6222851890Sopenharmony_ci __u8 qqic; 6322851890Sopenharmony_ci __be16 nsrcs; 6422851890Sopenharmony_ci __be32 srcs[0]; 6522851890Sopenharmony_ci}; 6622851890Sopenharmony_ci#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 6722851890Sopenharmony_ci#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 6822851890Sopenharmony_ci#define IGMP_DVMRP 0x13 6922851890Sopenharmony_ci#define IGMP_PIM 0x14 7022851890Sopenharmony_ci#define IGMP_TRACE 0x15 7122851890Sopenharmony_ci#define IGMPV2_HOST_MEMBERSHIP_REPORT 0x16 7222851890Sopenharmony_ci#define IGMP_HOST_LEAVE_MESSAGE 0x17 7322851890Sopenharmony_ci#define IGMPV3_HOST_MEMBERSHIP_REPORT 0x22 7422851890Sopenharmony_ci#define IGMP_MTRACE_RESP 0x1e 7522851890Sopenharmony_ci#define IGMP_MTRACE 0x1f 7622851890Sopenharmony_ci#define IGMP_MRDISC_ADV 0x30 7722851890Sopenharmony_ci#define IGMP_DELAYING_MEMBER 0x01 7822851890Sopenharmony_ci#define IGMP_IDLE_MEMBER 0x02 7922851890Sopenharmony_ci#define IGMP_LAZY_MEMBER 0x03 8022851890Sopenharmony_ci#define IGMP_SLEEPING_MEMBER 0x04 8122851890Sopenharmony_ci#define IGMP_AWAKENING_MEMBER 0x05 8222851890Sopenharmony_ci#define IGMP_MINLEN 8 8322851890Sopenharmony_ci#define IGMP_MAX_HOST_REPORT_DELAY 10 8422851890Sopenharmony_ci#define IGMP_TIMER_SCALE 10 8522851890Sopenharmony_ci#define IGMP_AGE_THRESHOLD 400 8622851890Sopenharmony_ci#define IGMP_ALL_HOSTS htonl(0xE0000001L) 8722851890Sopenharmony_ci#define IGMP_ALL_ROUTER htonl(0xE0000002L) 8822851890Sopenharmony_ci#define IGMPV3_ALL_MCR htonl(0xE0000016L) 8922851890Sopenharmony_ci#define IGMP_LOCAL_GROUP htonl(0xE0000000L) 9022851890Sopenharmony_ci#define IGMP_LOCAL_GROUP_MASK htonl(0xFFFFFF00L) 9122851890Sopenharmony_ci#endif 92