14#ifndef __EFI_UDP6_PROTOCOL_H__
15#define __EFI_UDP6_PROTOCOL_H__
22#define EFI_UDP6_SERVICE_BINDING_PROTOCOL_GUID \
24 0x66ed4721, 0x3c98, 0x4d3e, {0x81, 0xe3, 0xd0, 0x3d, 0xd3, 0x9a, 0x72, 0x54 } \
27#define EFI_UDP6_PROTOCOL_GUID \
29 0x4f948815, 0xb4b9, 0x43cb, {0x8a, 0x33, 0x90, 0xe0, 0x60, 0xb3, 0x49, 0x55 } \
unsigned short UINT16
2-byte unsigned value.
unsigned char BOOLEAN
Logical Boolean.
unsigned char UINT8
1-byte unsigned value.
unsigned int UINT32
4-byte unsigned value.
#define VOID
Undeclared type.
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
This file defines the EFI IPv6 (Internet Protocol version 6) Protocol interface.
EFI_STATUS(EFIAPI * EFI_UDP6_GET_MODE_DATA)(IN EFI_UDP6_PROTOCOL *This, OUT EFI_UDP6_CONFIG_DATA *Udp6ConfigData OPTIONAL, OUT EFI_IP6_MODE_DATA *Ip6ModeData OPTIONAL, OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL)
Read the current operational settings.
EFI_STATUS(EFIAPI * EFI_UDP6_CONFIGURE)(IN EFI_UDP6_PROTOCOL *This, IN EFI_UDP6_CONFIG_DATA *UdpConfigData OPTIONAL)
Initializes, changes, or resets the operational parameters for this instance of the EFI UDPv6 Protoco...
EFI_STATUS(EFIAPI * EFI_UDP6_GROUPS)(IN EFI_UDP6_PROTOCOL *This, IN BOOLEAN JoinFlag, IN EFI_IPv6_ADDRESS *MulticastAddress OPTIONAL)
Joins and leaves multicast groups.
EFI_GUID gEfiUdp6ProtocolGuid
EFI_GUID gEfiUdp6ServiceBindingProtocolGuid
EFI_STATUS(EFIAPI * EFI_UDP6_RECEIVE)(IN EFI_UDP6_PROTOCOL *This, IN EFI_UDP6_COMPLETION_TOKEN *Token)
Places an asynchronous receive request into the receiving queue.
struct _EFI_UDP6_PROTOCOL EFI_UDP6_PROTOCOL
EFI_STATUS(EFIAPI * EFI_UDP6_POLL)(IN EFI_UDP6_PROTOCOL *This)
Polls for incoming data packets and processes outgoing data packets.
EFI_STATUS(EFIAPI * EFI_UDP6_TRANSMIT)(IN EFI_UDP6_PROTOCOL *This, IN EFI_UDP6_COMPLETION_TOKEN *Token)
Queues outgoing data packets into the transmit queue.
EFI_STATUS(EFIAPI * EFI_UDP6_CANCEL)(IN EFI_UDP6_PROTOCOL *This, IN EFI_UDP6_COMPLETION_TOKEN *Token OPTIONAL)
Aborts an asynchronous transmit or receive request.
IPv6_ADDRESS EFI_IPv6_ADDRESS
16-byte buffer.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
GUID EFI_GUID
128-bit buffer containing a unique identifier value.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
EFI Time Abstraction: Year: 1900 - 9999 Month: 1 - 12 Day: 1 - 31 Hour: 0 - 23 Minute: 0 - 59 Second:...
The EFI_UDP6_COMPLETION_TOKEN structures are used for both transmit and receive operations.
EFI_UDP6_RECEIVE_DATA * RxData
When this token is used for receiving, RxData is a pointer to EFI_UDP6_RECEIVE_DATA.
EFI_STATUS Status
Will be set to one of the following values:
EFI_UDP6_TRANSMIT_DATA * TxData
When this token is used for transmitting, TxData is a pointer to EFI_UDP6_TRANSMIT_DATA.
EFI_EVENT Event
This Event will be signaled after the Status field is updated by the EFI UDPv6 Protocol driver.
UINT16 StationPort
The port number to which this EFI UDPv6 Protocol instance is bound.
UINT8 HopLimit
HopLimit field in transmitted IPv6 packets.
BOOLEAN AcceptAnyPort
Set to TRUE to accept UDP packets that are sent to any port.
UINT16 RemotePort
The port number of the remote host to which this EFI UDPv6 Protocol instance is connecting.
BOOLEAN AcceptPromiscuous
Set to TRUE to accept UDP packets that are sent to any address.
BOOLEAN AllowDuplicatePort
Set to TRUE to allow this EFI UDPv6 Protocol child instance to open a port number that is already bei...
EFI_IPv6_ADDRESS RemoteAddress
The IP address of remote host to which this EFI UDPv6 Protocol instance is connecting.
UINT32 ReceiveTimeout
The receive timeout value (number of microseconds) to be associated with each incoming packet.
UINT32 TransmitTimeout
The transmit timeout value (number of microseconds) to be associated with each outgoing packet.
UINT8 TrafficClass
TrafficClass field in transmitted IPv6 packets.
EFI_IPv6_ADDRESS StationAddress
The station IP address that will be assigned to this EFI UDPv6 Protocol instance.
EFI_UDP6_FRAGMENT_DATA allows multiple receive or transmit buffers to be specified.
UINT32 FragmentLength
Length of the fragment data buffer.
VOID * FragmentBuffer
Pointer to the fragment data buffer.
EFI_UDP6_RECEIVE_DATA is filled by the EFI UDPv6 Protocol driver when this EFI UDPv6 Protocol instanc...
UINT32 DataLength
The sum of the fragment data length.
EFI_TIME TimeStamp
Time when the EFI UDPv6 Protocol accepted the packet.
EFI_UDP6_FRAGMENT_DATA FragmentTable[1]
Array of fragment descriptors.
EFI_UDP6_SESSION_DATA UdpSession
The UDP session data including SourceAddress, SourcePort, DestinationAddress, and DestinationPort.
EFI_EVENT RecycleSignal
Indicates the event to signal when the received data has been processed.
UINT32 FragmentCount
Number of fragments.
EFI_UDP6_SERVICE_POINT is deprecated in the UEFI 2.4B and should not be used any more.
UINT16 RemotePort
The port number in host byte order on which the remote host is listening.
EFI_IPv6_ADDRESS RemoteAddress
The IPv6 address of the remote host.
EFI_IPv6_ADDRESS LocalAddress
The IPv6 address to which this instance of the EFI UDPv6 Protocol is bound.
EFI_HANDLE InstanceHandle
The EFI UDPv6 Protocol instance handle that is using this address/port pair.
UINT16 LocalPort
The port number in host byte order on which the service is listening.
The EFI_UDP6_SESSION_DATA is used to retrieve the settings when receiving packets or to override the ...
EFI_IPv6_ADDRESS DestinationAddress
Address to which this packet is sent.
UINT16 SourcePort
Port from which this packet is sent.
EFI_IPv6_ADDRESS SourceAddress
Address from which this packet is sent.
UINT16 DestinationPort
Port to which this packet is sent.
The EFI UDPv6 Protocol client must fill this data structure before sending a packet.
EFI_UDP6_FRAGMENT_DATA FragmentTable[1]
Array of fragment descriptors.
UINT32 FragmentCount
Number of fragments.
UINT32 DataLength
Sum of the fragment data length.
EFI_UDP6_SESSION_DATA * UdpSessionData
If not NULL, the data that is used to override the transmitting settings.Only the two filed UdpSessio...
EFI_UDP6_VARIABLE_DATA is deprecated in the UEFI 2.4B and should not be used any more.
EFI_UDP6_SERVICE_POINT Services[1]
List of address/port pairs that are currently in use.
EFI_HANDLE DriverHandle
The handle of the driver that creates this entry.
UINT32 ServiceCount
The number of address/port pairs that follow this data structure.
The EFI_UDP6_PROTOCOL defines an EFI UDPv6 Protocol session that can be used by any network drivers,...
EFI_UDP6_CONFIGURE Configure
EFI_UDP6_GET_MODE_DATA GetModeData
EFI_UDP6_TRANSMIT Transmit