Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ShExBy/shex_roo.../usr/include/linux
File: igmp.h
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
[0] Fix | Delete
/*
[1] Fix | Delete
* Linux NET3: Internet Group Management Protocol [IGMP]
[2] Fix | Delete
*
[3] Fix | Delete
* Authors:
[4] Fix | Delete
* Alan Cox <alan@lxorguk.ukuu.org.uk>
[5] Fix | Delete
*
[6] Fix | Delete
* Extended to talk the BSD extended IGMP protocol of mrouted 3.6
[7] Fix | Delete
*
[8] Fix | Delete
*
[9] Fix | Delete
* This program is free software; you can redistribute it and/or
[10] Fix | Delete
* modify it under the terms of the GNU General Public License
[11] Fix | Delete
* as published by the Free Software Foundation; either version
[12] Fix | Delete
* 2 of the License, or (at your option) any later version.
[13] Fix | Delete
*/
[14] Fix | Delete
[15] Fix | Delete
#ifndef _LINUX_IGMP_H
[16] Fix | Delete
#define _LINUX_IGMP_H
[17] Fix | Delete
[18] Fix | Delete
#include <linux/types.h>
[19] Fix | Delete
#include <asm/byteorder.h>
[20] Fix | Delete
[21] Fix | Delete
/*
[22] Fix | Delete
* IGMP protocol structures
[23] Fix | Delete
*/
[24] Fix | Delete
[25] Fix | Delete
/*
[26] Fix | Delete
* Header in on cable format
[27] Fix | Delete
*/
[28] Fix | Delete
[29] Fix | Delete
struct igmphdr {
[30] Fix | Delete
__u8 type;
[31] Fix | Delete
__u8 code; /* For newer IGMP */
[32] Fix | Delete
__sum16 csum;
[33] Fix | Delete
__be32 group;
[34] Fix | Delete
};
[35] Fix | Delete
[36] Fix | Delete
/* V3 group record types [grec_type] */
[37] Fix | Delete
#define IGMPV3_MODE_IS_INCLUDE 1
[38] Fix | Delete
#define IGMPV3_MODE_IS_EXCLUDE 2
[39] Fix | Delete
#define IGMPV3_CHANGE_TO_INCLUDE 3
[40] Fix | Delete
#define IGMPV3_CHANGE_TO_EXCLUDE 4
[41] Fix | Delete
#define IGMPV3_ALLOW_NEW_SOURCES 5
[42] Fix | Delete
#define IGMPV3_BLOCK_OLD_SOURCES 6
[43] Fix | Delete
[44] Fix | Delete
struct igmpv3_grec {
[45] Fix | Delete
__u8 grec_type;
[46] Fix | Delete
__u8 grec_auxwords;
[47] Fix | Delete
__be16 grec_nsrcs;
[48] Fix | Delete
__be32 grec_mca;
[49] Fix | Delete
__be32 grec_src[0];
[50] Fix | Delete
};
[51] Fix | Delete
[52] Fix | Delete
struct igmpv3_report {
[53] Fix | Delete
__u8 type;
[54] Fix | Delete
__u8 resv1;
[55] Fix | Delete
__sum16 csum;
[56] Fix | Delete
__be16 resv2;
[57] Fix | Delete
__be16 ngrec;
[58] Fix | Delete
struct igmpv3_grec grec[0];
[59] Fix | Delete
};
[60] Fix | Delete
[61] Fix | Delete
struct igmpv3_query {
[62] Fix | Delete
__u8 type;
[63] Fix | Delete
__u8 code;
[64] Fix | Delete
__sum16 csum;
[65] Fix | Delete
__be32 group;
[66] Fix | Delete
#if defined(__LITTLE_ENDIAN_BITFIELD)
[67] Fix | Delete
__u8 qrv:3,
[68] Fix | Delete
suppress:1,
[69] Fix | Delete
resv:4;
[70] Fix | Delete
#elif defined(__BIG_ENDIAN_BITFIELD)
[71] Fix | Delete
__u8 resv:4,
[72] Fix | Delete
suppress:1,
[73] Fix | Delete
qrv:3;
[74] Fix | Delete
#else
[75] Fix | Delete
#error "Please fix <asm/byteorder.h>"
[76] Fix | Delete
#endif
[77] Fix | Delete
__u8 qqic;
[78] Fix | Delete
__be16 nsrcs;
[79] Fix | Delete
__be32 srcs[0];
[80] Fix | Delete
};
[81] Fix | Delete
[82] Fix | Delete
#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */
[83] Fix | Delete
#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
[84] Fix | Delete
#define IGMP_DVMRP 0x13 /* DVMRP routing */
[85] Fix | Delete
#define IGMP_PIM 0x14 /* PIM routing */
[86] Fix | Delete
#define IGMP_TRACE 0x15
[87] Fix | Delete
#define IGMPV2_HOST_MEMBERSHIP_REPORT 0x16 /* V2 version of 0x12 */
[88] Fix | Delete
#define IGMP_HOST_LEAVE_MESSAGE 0x17
[89] Fix | Delete
#define IGMPV3_HOST_MEMBERSHIP_REPORT 0x22 /* V3 version of 0x12 */
[90] Fix | Delete
[91] Fix | Delete
#define IGMP_MTRACE_RESP 0x1e
[92] Fix | Delete
#define IGMP_MTRACE 0x1f
[93] Fix | Delete
[94] Fix | Delete
#define IGMP_MRDISC_ADV 0x30 /* From RFC4286 */
[95] Fix | Delete
[96] Fix | Delete
/*
[97] Fix | Delete
* Use the BSD names for these for compatibility
[98] Fix | Delete
*/
[99] Fix | Delete
[100] Fix | Delete
#define IGMP_DELAYING_MEMBER 0x01
[101] Fix | Delete
#define IGMP_IDLE_MEMBER 0x02
[102] Fix | Delete
#define IGMP_LAZY_MEMBER 0x03
[103] Fix | Delete
#define IGMP_SLEEPING_MEMBER 0x04
[104] Fix | Delete
#define IGMP_AWAKENING_MEMBER 0x05
[105] Fix | Delete
[106] Fix | Delete
#define IGMP_MINLEN 8
[107] Fix | Delete
[108] Fix | Delete
#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */
[109] Fix | Delete
/* query (in seconds) */
[110] Fix | Delete
[111] Fix | Delete
#define IGMP_TIMER_SCALE 10 /* denotes that the igmphdr->timer field */
[112] Fix | Delete
/* specifies time in 10th of seconds */
[113] Fix | Delete
[114] Fix | Delete
#define IGMP_AGE_THRESHOLD 400 /* If this host don't hear any IGMP V1 */
[115] Fix | Delete
/* message in this period of time, */
[116] Fix | Delete
/* revert to IGMP v2 router. */
[117] Fix | Delete
[118] Fix | Delete
#define IGMP_ALL_HOSTS htonl(0xE0000001L)
[119] Fix | Delete
#define IGMP_ALL_ROUTER htonl(0xE0000002L)
[120] Fix | Delete
#define IGMPV3_ALL_MCR htonl(0xE0000016L)
[121] Fix | Delete
#define IGMP_LOCAL_GROUP htonl(0xE0000000L)
[122] Fix | Delete
#define IGMP_LOCAL_GROUP_MASK htonl(0xFFFFFF00L)
[123] Fix | Delete
[124] Fix | Delete
/*
[125] Fix | Delete
* struct for keeping the multicast list in
[126] Fix | Delete
*/
[127] Fix | Delete
[128] Fix | Delete
#endif /* _LINUX_IGMP_H */
[129] Fix | Delete
[130] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function