TianoCore EDK2 master
Loading...
Searching...
No Matches
Ip4Igmp.h
Go to the documentation of this file.
1
8#ifndef __EFI_IP4_IGMP_H__
9#define __EFI_IP4_IGMP_H__
10
11//
12// IGMP message type
13//
14#define IGMP_MEMBERSHIP_QUERY 0x11
15#define IGMP_V1_MEMBERSHIP_REPORT 0x12
16#define IGMP_V2_MEMBERSHIP_REPORT 0x16
17#define IGMP_LEAVE_GROUP 0x17
18
19#define IGMP_V1ROUTER_PRESENT 400
20#define IGMP_UNSOLICIATED_REPORT 10
21
22#pragma pack(1)
23typedef struct {
24 UINT8 Type;
25 UINT8 MaxRespTime;
26 UINT16 Checksum;
27 IP4_ADDR Group;
28} IGMP_HEAD;
29#pragma pack()
30
37typedef struct {
38 LIST_ENTRY Link;
39 INTN RefCnt;
40 IP4_ADDR Address;
41 INTN DelayTime;
42 BOOLEAN ReportByUs;
45
51typedef struct {
52 INTN Igmpv1QuerySeen;
53 LIST_ENTRY Groups;
55
69 IN OUT IP4_SERVICE *IpSb
70 );
71
85 IN IP4_PROTOCOL *IpInstance,
86 IN IP4_ADDR Address
87 );
88
103 IN IP4_PROTOCOL *IpInstance,
104 IN IP4_ADDR Address
105 );
106
120 IN IP4_SERVICE *IpSb,
121 IN IP4_HEAD *Head,
122 IN NET_BUF *Packet
123 );
124
136VOID
138 IN IP4_SERVICE *IpSb
139 );
140
156IP4_ADDR *
158 IN IP4_ADDR *Source,
159 IN UINT32 Count,
160 IN IP4_ADDR Addr
161 );
162
177INTN
179 IN OUT IP4_ADDR *Groups,
180 IN UINT32 Count,
181 IN IP4_ADDR Addr
182 );
183
198 IN IGMP_SERVICE_DATA *IgmpCtrl,
199 IN IP4_ADDR Address
200 );
201
202#endif
INT64 INTN
IGMP_GROUP * Ip4FindGroup(IN IGMP_SERVICE_DATA *IgmpCtrl, IN IP4_ADDR Address)
Definition: Ip4Igmp.c:89
EFI_STATUS Ip4IgmpHandle(IN IP4_SERVICE *IpSb, IN IP4_HEAD *Head, IN NET_BUF *Packet)
Definition: Ip4Igmp.c:401
EFI_STATUS Ip4JoinGroup(IN IP4_PROTOCOL *IpInstance, IN IP4_ADDR Address)
Definition: Ip4Igmp.c:253
VOID Ip4IgmpTicking(IN IP4_SERVICE *IpSb)
Definition: Ip4Igmp.c:501
EFI_STATUS Ip4InitIgmp(IN OUT IP4_SERVICE *IpSb)
Definition: Ip4Igmp.c:29
EFI_STATUS Ip4LeaveGroup(IN IP4_PROTOCOL *IpInstance, IN IP4_ADDR Address)
Definition: Ip4Igmp.c:333
INTN Ip4RemoveGroupAddr(IN OUT IP4_ADDR *Groups, IN UINT32 Count, IN IP4_ADDR Addr)
Definition: Ip4Igmp.c:584
IP4_ADDR * Ip4CombineGroups(IN IP4_ADDR *Source, IN UINT32 Count, IN IP4_ADDR Addr)
Definition: Ip4Igmp.c:549
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29