aboutsummaryrefslogtreecommitdiff
path: root/src/include/ipxe/efi/Protocol/SimpleNetwork.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/ipxe/efi/Protocol/SimpleNetwork.h')
-rw-r--r--src/include/ipxe/efi/Protocol/SimpleNetwork.h154
1 files changed, 74 insertions, 80 deletions
diff --git a/src/include/ipxe/efi/Protocol/SimpleNetwork.h b/src/include/ipxe/efi/Protocol/SimpleNetwork.h
index 2faa668..141ab88 100644
--- a/src/include/ipxe/efi/Protocol/SimpleNetwork.h
+++ b/src/include/ipxe/efi/Protocol/SimpleNetwork.h
@@ -9,14 +9,8 @@
MCast - MultiCast
...
-Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
@par Revision Reference:
This Protocol is introduced in EFI Specification 1.10.
@@ -26,20 +20,19 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#ifndef __SIMPLE_NETWORK_H__
#define __SIMPLE_NETWORK_H__
-FILE_LICENCE ( BSD3 );
+FILE_LICENCE ( BSD2_PATENT );
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID \
{ \
0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } \
}
-typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK_PROTOCOL;
-
+typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK_PROTOCOL;
///
/// Protocol defined in EFI1.1.
///
-typedef EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK;
+typedef EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK;
///
/// Simple Network Protocol data structures.
@@ -49,99 +42,99 @@ typedef struct {
/// Total number of frames received. Includes frames with errors and
/// dropped frames.
///
- UINT64 RxTotalFrames;
+ UINT64 RxTotalFrames;
///
/// Number of valid frames received and copied into receive buffers.
///
- UINT64 RxGoodFrames;
+ UINT64 RxGoodFrames;
///
/// Number of frames below the minimum length for the media.
/// This would be <64 for ethernet.
///
- UINT64 RxUndersizeFrames;
+ UINT64 RxUndersizeFrames;
///
/// Number of frames longer than the maxminum length for the
/// media. This would be >1500 for ethernet.
///
- UINT64 RxOversizeFrames;
+ UINT64 RxOversizeFrames;
///
/// Valid frames that were dropped because receive buffers were full.
///
- UINT64 RxDroppedFrames;
+ UINT64 RxDroppedFrames;
///
/// Number of valid unicast frames received and not dropped.
///
- UINT64 RxUnicastFrames;
+ UINT64 RxUnicastFrames;
///
/// Number of valid broadcast frames received and not dropped.
///
- UINT64 RxBroadcastFrames;
+ UINT64 RxBroadcastFrames;
///
/// Number of valid mutlicast frames received and not dropped.
///
- UINT64 RxMulticastFrames;
+ UINT64 RxMulticastFrames;
///
/// Number of frames w/ CRC or alignment errors.
///
- UINT64 RxCrcErrorFrames;
+ UINT64 RxCrcErrorFrames;
///
/// Total number of bytes received. Includes frames with errors
/// and dropped frames.
//
- UINT64 RxTotalBytes;
+ UINT64 RxTotalBytes;
///
/// Transmit statistics.
///
- UINT64 TxTotalFrames;
- UINT64 TxGoodFrames;
- UINT64 TxUndersizeFrames;
- UINT64 TxOversizeFrames;
- UINT64 TxDroppedFrames;
- UINT64 TxUnicastFrames;
- UINT64 TxBroadcastFrames;
- UINT64 TxMulticastFrames;
- UINT64 TxCrcErrorFrames;
- UINT64 TxTotalBytes;
+ UINT64 TxTotalFrames;
+ UINT64 TxGoodFrames;
+ UINT64 TxUndersizeFrames;
+ UINT64 TxOversizeFrames;
+ UINT64 TxDroppedFrames;
+ UINT64 TxUnicastFrames;
+ UINT64 TxBroadcastFrames;
+ UINT64 TxMulticastFrames;
+ UINT64 TxCrcErrorFrames;
+ UINT64 TxTotalBytes;
///
/// Number of collisions detection on this subnet.
///
- UINT64 Collisions;
+ UINT64 Collisions;
///
/// Number of frames destined for unsupported protocol.
///
- UINT64 UnsupportedProtocol;
+ UINT64 UnsupportedProtocol;
///
/// Number of valid frames received that were duplicated.
///
- UINT64 RxDuplicatedFrames;
+ UINT64 RxDuplicatedFrames;
///
/// Number of encrypted frames received that failed to decrypt.
///
- UINT64 RxDecryptErrorFrames;
+ UINT64 RxDecryptErrorFrames;
///
/// Number of frames that failed to transmit after exceeding the retry limit.
///
- UINT64 TxErrorFrames;
+ UINT64 TxErrorFrames;
///
/// Number of frames transmitted successfully after more than one attempt.
///
- UINT64 TxRetryFrames;
+ UINT64 TxRetryFrames;
} EFI_NETWORK_STATISTICS;
///
@@ -162,97 +155,98 @@ typedef enum {
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10
-#define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01
-#define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02
-#define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04
-#define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08
+#define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01
+#define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02
+#define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04
+#define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08
-#define MAX_MCAST_FILTER_CNT 16
+#define MAX_MCAST_FILTER_CNT 16
typedef struct {
///
/// Reports the current state of the network interface.
///
- UINT32 State;
+ UINT32 State;
///
/// The size, in bytes, of the network interface's HW address.
///
- UINT32 HwAddressSize;
+ UINT32 HwAddressSize;
///
/// The size, in bytes, of the network interface's media header.
///
- UINT32 MediaHeaderSize;
+ UINT32 MediaHeaderSize;
///
/// The maximum size, in bytes, of the packets supported by the network interface.
///
- UINT32 MaxPacketSize;
+ UINT32 MaxPacketSize;
///
/// The size, in bytes, of the NVRAM device attached to the network interface.
///
- UINT32 NvRamSize;
+ UINT32 NvRamSize;
///
/// The size that must be used for all NVRAM reads and writes. The
/// start address for NVRAM read and write operations and the total
/// length of those operations, must be a multiple of this value. The
/// legal values for this field are 0, 1, 2, 4, and 8.
///
- UINT32 NvRamAccessSize;
+ UINT32 NvRamAccessSize;
///
/// The multicast receive filter settings supported by the network interface.
///
- UINT32 ReceiveFilterMask;
+ UINT32 ReceiveFilterMask;
///
/// The current multicast receive filter settings.
///
- UINT32 ReceiveFilterSetting;
+ UINT32 ReceiveFilterSetting;
///
/// The maximum number of multicast address receive filters supported by the driver.
///
- UINT32 MaxMCastFilterCount;
+ UINT32 MaxMCastFilterCount;
///
/// The current number of multicast address receive filters.
///
- UINT32 MCastFilterCount;
+ UINT32 MCastFilterCount;
///
/// Array containing the addresses of the current multicast address receive filters.
///
- EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT];
+ EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT];
///
/// The current HW MAC address for the network interface.
///
- EFI_MAC_ADDRESS CurrentAddress;
+ EFI_MAC_ADDRESS CurrentAddress;
///
/// The current HW MAC address for broadcast packets.
///
- EFI_MAC_ADDRESS BroadcastAddress;
+ EFI_MAC_ADDRESS BroadcastAddress;
///
/// The permanent HW MAC address for the network interface.
///
- EFI_MAC_ADDRESS PermanentAddress;
+ EFI_MAC_ADDRESS PermanentAddress;
///
/// The interface type of the network interface.
///
- UINT8 IfType;
+ UINT8 IfType;
///
/// TRUE if the HW MAC address can be changed.
///
- BOOLEAN MacAddressChangeable;
+ BOOLEAN MacAddressChangeable;
///
/// TRUE if the network interface can transmit more than one packet at a time.
///
- BOOLEAN MultipleTxSupported;
+ BOOLEAN MultipleTxSupported;
///
/// TRUE if the presence of media can be determined; otherwise FALSE.
///
- BOOLEAN MediaPresentSupported;
+ BOOLEAN MediaPresentSupported;
///
/// TRUE if media are connected to the network interface; otherwise FALSE.
///
- BOOLEAN MediaPresent;
+ BOOLEAN MediaPresent;
} EFI_SIMPLE_NETWORK_MODE;
//
// Protocol Member Functions
//
+
/**
Changes the state of a network interface from "stopped" to "started".
@@ -640,7 +634,7 @@ EFI_STATUS
//
// Revision defined in EFI1.1
//
-#define EFI_SIMPLE_NETWORK_INTERFACE_REVISION EFI_SIMPLE_NETWORK_PROTOCOL_REVISION
+#define EFI_SIMPLE_NETWORK_INTERFACE_REVISION EFI_SIMPLE_NETWORK_PROTOCOL_REVISION
///
/// The EFI_SIMPLE_NETWORK_PROTOCOL protocol is used to initialize access
@@ -654,30 +648,30 @@ struct _EFI_SIMPLE_NETWORK_PROTOCOL {
/// be backwards compatible. If a future version is not backwards compatible
/// it is not the same GUID.
///
- UINT64 Revision;
- EFI_SIMPLE_NETWORK_START Start;
- EFI_SIMPLE_NETWORK_STOP Stop;
- EFI_SIMPLE_NETWORK_INITIALIZE Initialize;
- EFI_SIMPLE_NETWORK_RESET Reset;
- EFI_SIMPLE_NETWORK_SHUTDOWN Shutdown;
- EFI_SIMPLE_NETWORK_RECEIVE_FILTERS ReceiveFilters;
- EFI_SIMPLE_NETWORK_STATION_ADDRESS StationAddress;
- EFI_SIMPLE_NETWORK_STATISTICS Statistics;
- EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC MCastIpToMac;
- EFI_SIMPLE_NETWORK_NVDATA NvData;
- EFI_SIMPLE_NETWORK_GET_STATUS GetStatus;
- EFI_SIMPLE_NETWORK_TRANSMIT Transmit;
- EFI_SIMPLE_NETWORK_RECEIVE Receive;
+ UINT64 Revision;
+ EFI_SIMPLE_NETWORK_START Start;
+ EFI_SIMPLE_NETWORK_STOP Stop;
+ EFI_SIMPLE_NETWORK_INITIALIZE Initialize;
+ EFI_SIMPLE_NETWORK_RESET Reset;
+ EFI_SIMPLE_NETWORK_SHUTDOWN Shutdown;
+ EFI_SIMPLE_NETWORK_RECEIVE_FILTERS ReceiveFilters;
+ EFI_SIMPLE_NETWORK_STATION_ADDRESS StationAddress;
+ EFI_SIMPLE_NETWORK_STATISTICS Statistics;
+ EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC MCastIpToMac;
+ EFI_SIMPLE_NETWORK_NVDATA NvData;
+ EFI_SIMPLE_NETWORK_GET_STATUS GetStatus;
+ EFI_SIMPLE_NETWORK_TRANSMIT Transmit;
+ EFI_SIMPLE_NETWORK_RECEIVE Receive;
///
/// Event used with WaitForEvent() to wait for a packet to be received.
///
- EFI_EVENT WaitForPacket;
+ EFI_EVENT WaitForPacket;
///
/// Pointer to the EFI_SIMPLE_NETWORK_MODE data for the device.
///
- EFI_SIMPLE_NETWORK_MODE *Mode;
+ EFI_SIMPLE_NETWORK_MODE *Mode;
};
-extern EFI_GUID gEfiSimpleNetworkProtocolGuid;
+extern EFI_GUID gEfiSimpleNetworkProtocolGuid;
#endif