]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/Udp6.h
update dec file to reflect newly introduced protocols.
[mirror_edk2.git] / MdePkg / Include / Protocol / Udp6.h
Content-type: text/html ]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Protocol/Udp6.h


500 - Internal Server Error

Malformed UTF-8 character (fatal) at (eval 6) line 1, <$fd> line 214.
CommitLineData
5d6a636c 1/** @file\r
2 The EFI UDPv6 (User Datagram Protocol version 6) Protocol Definition, which is built upon\r
3 the EFI IPv6 Protocol and provides simple packet-oriented services to transmit and receive\r
4 UDP packets.\r
5\r
6Copyright (c) 2008 - 2009, Intel Corporation \r
7All rights reserved. This program and the accompanying materials \r
8are licensed and made available under the terms and conditions of the BSD License \r
9which accompanies this distribution. The full text of the license may be found at \r
10http://opensource.org/licenses/bsd-license.php \r
11 \r
12THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
13WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
14\r
15**/\r
16\r
17#ifndef __EFI_UDP6_PROTOCOL_H__\r
18#define __EFI_UDP6_PROTOCOL_H__\r
19\r
20#include <Protocol/Ip6.h>\r
21\r
22#define EFI_UDP6_SERVICE_BINDING_PROTOCOL_GUID \\r
23 { \\r
24 0x66ed4721, 0x3c98, 0x4d3e, {0x81, 0xe3, 0xd0, 0x3d, 0xd3, 0x9a, 0x72, 0x54 } \\r
25 }\r
26\r
27#define EFI_UDP6_PROTOCOL_GUID \\r
28 { \\r
29 0x4f948815, 0xb4b9, 0x43cb, {0x8a, 0x33, 0x90, 0xe0, 0x60, 0xb3, 0x49, 0x55 } \\r
30 }\r
31\r
32typedef struct {\r
33 ///\r
34 /// The EFI UDPv6 Protocol instance handle that is using this address/port pair.\r
35 ///\r
36 EFI_HANDLE InstanceHandle;\r
37 ///\r
38 /// The IPv6 address to which this instance of the EFI UDPv6 Protocol is bound.\r
39 /// Set to 0::/128, if this instance is used to listen all packets from any\r
40 /// source address.\r
41 ///\r
42 EFI_IPv6_ADDRESS LocalAddress;\r
43 ///\r
44 /// The port number in host byte order on which the service is listening.\r
45 ///\r
46 UINT16 LocalPort;\r
47 ///\r
48 /// The IPv6 address of the remote host. May be 0::/128 if it is not connected\r
49 /// to any remote host or connected with more than one remote host.\r
50 ///\r
51 EFI_IPv6_ADDRESS RemoteAddress;\r
52 ///\r
53 /// The port number in host byte order on which the remote host is \r
54 /// listening. Maybe zero if it is not connected to any remote host.\r
55 ///\r
56 UINT16 RemotePort;\r
57} EFI_UDP6_SERVICE_POINT;\r
58\r
59typedef struct {\r
60 ///\r
61 /// The handle of the driver that creates this entry.\r
62 ///\r
63 EFI_HANDLE DriverHandle;\r
64 ///\r
65 /// The number of address/port pairs that follow this data structure.\r
66 ///\r
67 UINT32 ServiceCount;\r
68 ///\r
69 /// List of address/port pairs that are currently in use.\r
70 ///\r
71 EFI_UDP6_SERVICE_POINT Services[1];\r
72} EFI_UDP6_VARIABLE_DATA;\r
73\r
74typedef struct _EFI_UDP6_PROTOCOL EFI_UDP6_PROTOCOL;\r
75\r
76///\r
77/// EFI_UDP6_FRAGMENT_DATA allows multiple receive or transmit buffers to be specified.\r
78/// The purpose of this structure is to avoid copying the same packet multiple times.\r
79///\r
80typedef struct {\r
81 UINT32 FragmentLength; ///< Length of the fragment data buffer.\r
82 VOID *FragmentBuffer; ///< Pointer to the fragment data buffer.\r
83} EFI_UDP6_FRAGMENT_DATA;\r
84\r
85///\r
86/// The EFI_UDP6_SESSION_DATA is used to retrieve the settings when receiving packets or\r
87/// to override the existing settings (only DestinationAddress and DestinationPort can\r
88/// be overridden) of this EFI UDPv6 Protocol instance when sending packets.\r
89///\r
90typedef struct {\r
91 ///\r
92 /// Address from which this packet is sent. This field should not be used when\r
93 /// sending packets.\r
94 ///\r
95 EFI_IPv6_ADDRESS SourceAddress;\r
96 ///\r
97 /// Port from which this packet is sent. It is in host byte order. This field should\r
98 /// not be used when sending packets.\r
99 ///\r
100 UINT16 SourcePort;\r
101 ///\r
102