1 /** @file
2
3 Empty implementation of the SNP methods that dependent protocols don't
4 absolutely need and the UEFI-2.3.1+errC specification allows us not to
5 support.
6
7 Copyright (C) 2013, Red Hat, Inc.
8 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
9
10 This program and the accompanying materials are licensed and made available
11 under the terms and conditions of the BSD License which accompanies this
12 distribution. The full text of the license may be found at
13 http://opensource.org/licenses/bsd-license.php
14
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
16 WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17
18 **/
19
20 #include "VirtioNet.h"
21
22 /**
23 Resets a network adapter and re-initializes it with the parameters that were
24 provided in the previous call to Initialize().
25
26 @param This The protocol instance pointer.
27 @param ExtendedVerification Indicates that the driver may perform a more
28 exhaustive verification operation of the device
29 during reset.
30
31 @retval EFI_SUCCESS The network interface was reset.
32 @retval EFI_NOT_STARTED The network interface has not been started.
33 @retval EFI_INVALID_PARAMETER One or more of the parameters has an
34 unsupported value.
35 @retval EFI_DEVICE_ERROR The command could not be sent to the network
36 interface.
37 @retval EFI_UNSUPPORTED This function is not supported by the network
38 interface.
39
40 **/
41
42 EFI_STATUS
43 EFIAPI
VirtioNetReset(IN EFI_SIMPLE_NETWORK_PROTOCOL * This,IN BOOLEAN ExtendedVerification)44 VirtioNetReset (
45 IN EFI_SIMPLE_NETWORK_PROTOCOL *This,
46 IN BOOLEAN ExtendedVerification
47 )
48 {
49 return EFI_UNSUPPORTED;
50 }
51
52
53 /**
54 Modifies or resets the current station address, if supported.
55
56 @param This The protocol instance pointer.
57 @param Reset Flag used to reset the station address to the network
58 interfaces permanent address.
59 @param New The new station address to be used for the network interface.
60
61 @retval EFI_SUCCESS The network interfaces station address was
62 updated.
63 @retval EFI_NOT_STARTED The network interface has not been started.
64 @retval EFI_INVALID_PARAMETER One or more of the parameters has an
65 unsupported value.
66 @retval EFI_DEVICE_ERROR The command could not be sent to the network
67 interface.
68 @retval EFI_UNSUPPORTED This function is not supported by the network
69 interface.
70
71 **/
72
73 EFI_STATUS
74 EFIAPI
VirtioNetStationAddress(IN EFI_SIMPLE_NETWORK_PROTOCOL * This,IN BOOLEAN Reset,IN EFI_MAC_ADDRESS * New OPTIONAL)75 VirtioNetStationAddress (
76 IN EFI_SIMPLE_NETWORK_PROTOCOL *This,
77 IN BOOLEAN Reset,
78 IN EFI_MAC_ADDRESS *New OPTIONAL
79 )
80 {
81 return EFI_UNSUPPORTED;
82 }
83
84
85 /**
86 Resets or collects the statistics on a network interface.
87
88 @param This Protocol instance pointer.
89 @param Reset Set to TRUE to reset the statistics for the network
90 interface.
91 @param StatisticsSize On input the size, in bytes, of StatisticsTable. On
92 output the size, in bytes, of the resulting table of
93 statistics.
94 @param StatisticsTable A pointer to the EFI_NETWORK_STATISTICS structure
95 that contains the statistics.
96
97 @retval EFI_SUCCESS The statistics were collected from the network
98 interface.
99 @retval EFI_NOT_STARTED The network interface has not been started.
100 @retval EFI_BUFFER_TOO_SMALL The Statistics buffer was too small. The
101 current buffer size needed to hold the
102 statistics is returned in StatisticsSize.
103 @retval EFI_INVALID_PARAMETER One or more of the parameters has an
104 unsupported value.
105 @retval EFI_DEVICE_ERROR The command could not be sent to the network
106 interface.
107 @retval EFI_UNSUPPORTED This function is not supported by the network
108 interface.
109
110 **/
111
112 EFI_STATUS
113 EFIAPI
VirtioNetStatistics(IN EFI_SIMPLE_NETWORK_PROTOCOL * This,IN BOOLEAN Reset,IN OUT UINTN * StatisticsSize OPTIONAL,OUT EFI_NETWORK_STATISTICS * StatisticsTable OPTIONAL)114 VirtioNetStatistics (
115 IN EFI_SIMPLE_NETWORK_PROTOCOL *This,
116 IN BOOLEAN Reset,
117 IN OUT UINTN *StatisticsSize OPTIONAL,
118 OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL
119 )
120 {
121 return EFI_UNSUPPORTED;
122 }
123
124
125 /**
126 Performs read and write operations on the NVRAM device attached to a network
127 interface.
128
129 @param This The protocol instance pointer.
130 @param ReadWrite TRUE for read operations, FALSE for write operations.
131 @param Offset Byte offset in the NVRAM device at which to start the read
132 or write operation. This must be a multiple of
133 NvRamAccessSize and less than NvRamSize.
134 @param BufferSize The number of bytes to read or write from the NVRAM
135 device. This must also be a multiple of NvramAccessSize.
136 @param Buffer A pointer to the data buffer.
137
138 @retval EFI_SUCCESS The NVRAM access was performed.
139 @retval EFI_NOT_STARTED The network interface has not been started.
140 @retval EFI_INVALID_PARAMETER One or more of the parameters has an
141 unsupported value.
142 @retval EFI_DEVICE_ERROR The command could not be sent to the network
143 interface.
144 @retval EFI_UNSUPPORTED This function is not supported by the network
145 interface.
146
147 **/
148
149 EFI_STATUS
150 EFIAPI
VirtioNetNvData(IN EFI_SIMPLE_NETWORK_PROTOCOL * This,IN BOOLEAN ReadWrite,IN UINTN Offset,IN UINTN BufferSize,IN OUT VOID * Buffer)151 VirtioNetNvData (
152 IN EFI_SIMPLE_NETWORK_PROTOCOL *This,
153 IN BOOLEAN ReadWrite,
154 IN UINTN Offset,
155 IN UINTN BufferSize,
156 IN OUT VOID *Buffer
157 )
158 {
159 return EFI_UNSUPPORTED;
160 }
161