Rev 2726 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2726 | Rev 2782 | ||
---|---|---|---|
1 | #ifndef _EFINET_H |
1 | #ifndef _EFINET_H |
2 | #define _EFINET_H |
2 | #define _EFINET_H |
3 | 3 | ||
4 | 4 | ||
5 | /*++ |
5 | /*++ |
6 | Copyright (c) 1999 Intel Corporation |
6 | Copyright (c) 1999 Intel Corporation |
7 | 7 | ||
8 | Module Name: |
8 | Module Name: |
9 | efinet.h |
9 | efinet.h |
10 | 10 | ||
11 | Abstract: |
11 | Abstract: |
12 | EFI Simple Network protocol |
12 | EFI Simple Network protocol |
13 | 13 | ||
14 | Revision History |
14 | Revision History |
15 | --*/ |
15 | --*/ |
16 | 16 | ||
17 | 17 | ||
18 | /////////////////////////////////////////////////////////////////////////////// |
18 | /////////////////////////////////////////////////////////////////////////////// |
19 | // |
19 | // |
20 | // Simple Network Protocol |
20 | // Simple Network Protocol |
21 | // |
21 | // |
22 | 22 | ||
23 | #define EFI_SIMPLE_NETWORK_PROTOCOL \ |
23 | #define EFI_SIMPLE_NETWORK_PROTOCOL \ |
24 | { 0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } |
24 | { 0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } |
25 | 25 | ||
26 | 26 | ||
27 | INTERFACE_DECL(_EFI_SIMPLE_NETWORK); |
27 | INTERFACE_DECL(_EFI_SIMPLE_NETWORK); |
28 | 28 | ||
29 | /////////////////////////////////////////////////////////////////////////////// |
29 | /////////////////////////////////////////////////////////////////////////////// |
30 | // |
30 | // |
31 | 31 | ||
32 | typedef struct { |
32 | typedef struct { |
33 | // |
33 | // |
34 | // Total number of frames received. Includes frames with errors and |
34 | // Total number of frames received. Includes frames with errors and |
35 | // dropped frames. |
35 | // dropped frames. |
36 | // |
36 | // |
37 | UINT64 RxTotalFrames; |
37 | UINT64 RxTotalFrames; |
38 | 38 | ||
39 | // |
39 | // |
40 | // Number of valid frames received and copied into receive buffers. |
40 | // Number of valid frames received and copied into receive buffers. |
41 | // |
41 | // |
42 | UINT64 RxGoodFrames; |
42 | UINT64 RxGoodFrames; |
43 | 43 | ||
44 | // |
44 | // |
45 | // Number of frames below the minimum length for the media. |
45 | // Number of frames below the minimum length for the media. |
46 | // This would be <64 for ethernet. |
46 | // This would be <64 for ethernet. |
47 | // |
47 | // |
48 | UINT64 RxUndersizeFrames; |
48 | UINT64 RxUndersizeFrames; |
49 | 49 | ||
50 | // |
50 | // |
51 | // Number of frames longer than the maxminum length for the |
51 | // Number of frames longer than the maxminum length for the |
52 | // media. This would be >1500 for ethernet. |
52 | // media. This would be >1500 for ethernet. |
53 | // |
53 | // |
54 | UINT64 RxOversizeFrames; |
54 | UINT64 RxOversizeFrames; |
55 | 55 | ||
56 | // |
56 | // |
57 | // Valid frames that were dropped because receive buffers were full. |
57 | // Valid frames that were dropped because receive buffers were full. |
58 | // |
58 | // |
59 | UINT64 RxDroppedFrames; |
59 | UINT64 RxDroppedFrames; |
60 | 60 | ||
61 | // |
61 | // |
62 | // Number of valid unicast frames received and not dropped. |
62 | // Number of valid unicast frames received and not dropped. |
63 | // |
63 | // |
64 | UINT64 RxUnicastFrames; |
64 | UINT64 RxUnicastFrames; |
65 | 65 | ||
66 | // |
66 | // |
67 | // Number of valid broadcast frames received and not dropped. |
67 | // Number of valid broadcast frames received and not dropped. |
68 | // |
68 | // |
69 | UINT64 RxBroadcastFrames; |
69 | UINT64 RxBroadcastFrames; |
70 | 70 | ||
71 | // |
71 | // |
72 | // Number of valid mutlicast frames received and not dropped. |
72 | // Number of valid mutlicast frames received and not dropped. |
73 | // |
73 | // |
74 | UINT64 RxMulticastFrames; |
74 | UINT64 RxMulticastFrames; |
75 | 75 | ||
76 | // |
76 | // |
77 | // Number of frames w/ CRC or alignment errors. |
77 | // Number of frames w/ CRC or alignment errors. |
78 | // |
78 | // |
79 | UINT64 RxCrcErrorFrames; |
79 | UINT64 RxCrcErrorFrames; |
80 | 80 | ||
81 | // |
81 | // |
82 | // Total number of bytes received. Includes frames with errors |
82 | // Total number of bytes received. Includes frames with errors |
83 | // and dropped frames. |
83 | // and dropped frames. |
84 | // |
84 | // |
85 | UINT64 RxTotalBytes; |
85 | UINT64 RxTotalBytes; |
86 | 86 | ||
87 | // |
87 | // |
88 | // Transmit statistics. |
88 | // Transmit statistics. |
89 | // |
89 | // |
90 | UINT64 TxTotalFrames; |
90 | UINT64 TxTotalFrames; |
91 | UINT64 TxGoodFrames; |
91 | UINT64 TxGoodFrames; |
92 | UINT64 TxUndersizeFrames; |
92 | UINT64 TxUndersizeFrames; |
93 | UINT64 TxOversizeFrames; |
93 | UINT64 TxOversizeFrames; |
94 | UINT64 TxDroppedFrames; |
94 | UINT64 TxDroppedFrames; |
95 | UINT64 TxUnicastFrames; |
95 | UINT64 TxUnicastFrames; |
96 | UINT64 TxBroadcastFrames; |
96 | UINT64 TxBroadcastFrames; |
97 | UINT64 TxMulticastFrames; |
97 | UINT64 TxMulticastFrames; |
98 | UINT64 TxCrcErrorFrames; |
98 | UINT64 TxCrcErrorFrames; |
99 | UINT64 TxTotalBytes; |
99 | UINT64 TxTotalBytes; |
100 | 100 | ||
101 | // |
101 | // |
102 | // Number of collisions detection on this subnet. |
102 | // Number of collisions detection on this subnet. |
103 | // |
103 | // |
104 | UINT64 Collisions; |
104 | UINT64 Collisions; |
105 | 105 | ||
106 | // |
106 | // |
107 | // Number of frames destined for unsupported protocol. |
107 | // Number of frames destined for unsupported protocol. |
108 | // |
108 | // |
109 | UINT64 UnsupportedProtocol; |
109 | UINT64 UnsupportedProtocol; |
110 | 110 | ||
111 | } EFI_NETWORK_STATISTICS; |
111 | } EFI_NETWORK_STATISTICS; |
112 | 112 | ||
113 | /////////////////////////////////////////////////////////////////////////////// |
113 | /////////////////////////////////////////////////////////////////////////////// |
114 | // |
114 | // |
115 | 115 | ||
116 | typedef enum { |
116 | typedef enum { |
117 | EfiSimpleNetworkStopped, |
117 | EfiSimpleNetworkStopped, |
118 | EfiSimpleNetworkStarted, |
118 | EfiSimpleNetworkStarted, |
119 | EfiSimpleNetworkInitialized, |
119 | EfiSimpleNetworkInitialized, |
120 | EfiSimpleNetworkMaxState |
120 | EfiSimpleNetworkMaxState |
121 | } EFI_SIMPLE_NETWORK_STATE; |
121 | } EFI_SIMPLE_NETWORK_STATE; |
122 | 122 | ||
123 | /////////////////////////////////////////////////////////////////////////////// |
123 | /////////////////////////////////////////////////////////////////////////////// |
124 | // |
124 | // |
125 | 125 | ||
126 | #define EFI_SIMPLE_NETWORK_RECEIVE_UNICAST 0x01 |
126 | #define EFI_SIMPLE_NETWORK_RECEIVE_UNICAST 0x01 |
127 | #define EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST 0x02 |
127 | #define EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST 0x02 |
128 | #define EFI_SIMPLE_NETWORK_RECEIVE_BROADCAST 0x04 |
128 | #define EFI_SIMPLE_NETWORK_RECEIVE_BROADCAST 0x04 |
129 | #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08 |
129 | #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08 |
130 | #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10 |
130 | #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10 |
131 | 131 | ||
132 | /////////////////////////////////////////////////////////////////////////////// |
132 | /////////////////////////////////////////////////////////////////////////////// |
133 | // |
133 | // |
134 | 134 | ||
135 | #define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01 |
135 | #define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01 |
136 | #define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02 |
136 | #define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02 |
137 | #define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04 |
137 | #define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04 |
138 | #define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08 |
138 | #define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08 |
139 | 139 | ||
140 | /////////////////////////////////////////////////////////////////////////////// |
140 | /////////////////////////////////////////////////////////////////////////////// |
141 | // |
141 | // |
142 | #define MAX_MCAST_FILTER_CNT 16 |
142 | #define MAX_MCAST_FILTER_CNT 16 |
143 | typedef struct { |
143 | typedef struct { |
144 | UINT32 State; |
144 | UINT32 State; |
145 | UINT32 HwAddressSize; |
145 | UINT32 HwAddressSize; |
146 | UINT32 MediaHeaderSize; |
146 | UINT32 MediaHeaderSize; |
147 | UINT32 MaxPacketSize; |
147 | UINT32 MaxPacketSize; |
148 | UINT32 NvRamSize; |
148 | UINT32 NvRamSize; |
149 | UINT32 NvRamAccessSize; |
149 | UINT32 NvRamAccessSize; |
150 | UINT32 ReceiveFilterMask; |
150 | UINT32 ReceiveFilterMask; |
151 | UINT32 ReceiveFilterSetting; |
151 | UINT32 ReceiveFilterSetting; |
152 | UINT32 MaxMCastFilterCount; |
152 | UINT32 MaxMCastFilterCount; |
153 | UINT32 MCastFilterCount; |
153 | UINT32 MCastFilterCount; |
154 | EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT]; |
154 | EFI_MAC_ADDRESS MCastFilter[MAX_MCAST_FILTER_CNT]; |
155 | EFI_MAC_ADDRESS CurrentAddress; |
155 | EFI_MAC_ADDRESS CurrentAddress; |
156 | EFI_MAC_ADDRESS BroadcastAddress; |
156 | EFI_MAC_ADDRESS BroadcastAddress; |
157 | EFI_MAC_ADDRESS PermanentAddress; |
157 | EFI_MAC_ADDRESS PermanentAddress; |
158 | UINT8 IfType; |
158 | UINT8 IfType; |
159 | BOOLEAN MacAddressChangeable; |
159 | BOOLEAN MacAddressChangeable; |
160 | BOOLEAN MultipleTxSupported; |
160 | BOOLEAN MultipleTxSupported; |
161 | BOOLEAN MediaPresentSupported; |
161 | BOOLEAN MediaPresentSupported; |
162 | BOOLEAN MediaPresent; |
162 | BOOLEAN MediaPresent; |
163 | } EFI_SIMPLE_NETWORK_MODE; |
163 | } EFI_SIMPLE_NETWORK_MODE; |
164 | 164 | ||
165 | /////////////////////////////////////////////////////////////////////////////// |
165 | /////////////////////////////////////////////////////////////////////////////// |
166 | // |
166 | // |
167 | 167 | ||
168 | typedef |
168 | typedef |
169 | EFI_STATUS |
169 | EFI_STATUS |
170 | (EFIAPI *EFI_SIMPLE_NETWORK_START) ( |
170 | (EFIAPI *EFI_SIMPLE_NETWORK_START) ( |
171 | IN struct _EFI_SIMPLE_NETWORK *This |
171 | IN struct _EFI_SIMPLE_NETWORK *This |
172 | ); |
172 | ); |
173 | 173 | ||
174 | /////////////////////////////////////////////////////////////////////////////// |
174 | /////////////////////////////////////////////////////////////////////////////// |
175 | // |
175 | // |
176 | 176 | ||
177 | typedef |
177 | typedef |
178 | EFI_STATUS |
178 | EFI_STATUS |
179 | (EFIAPI *EFI_SIMPLE_NETWORK_STOP) ( |
179 | (EFIAPI *EFI_SIMPLE_NETWORK_STOP) ( |
180 | IN struct _EFI_SIMPLE_NETWORK *This |
180 | IN struct _EFI_SIMPLE_NETWORK *This |
181 | ); |
181 | ); |
182 | 182 | ||
183 | /////////////////////////////////////////////////////////////////////////////// |
183 | /////////////////////////////////////////////////////////////////////////////// |
184 | // |
184 | // |
185 | 185 | ||
186 | typedef |
186 | typedef |
187 | EFI_STATUS |
187 | EFI_STATUS |
188 | (EFIAPI *EFI_SIMPLE_NETWORK_INITIALIZE) ( |
188 | (EFIAPI *EFI_SIMPLE_NETWORK_INITIALIZE) ( |
189 | IN struct _EFI_SIMPLE_NETWORK *This, |
189 | IN struct _EFI_SIMPLE_NETWORK *This, |
190 | IN UINTN ExtraRxBufferSize OPTIONAL, |
190 | IN UINTN ExtraRxBufferSize OPTIONAL, |
191 | IN UINTN ExtraTxBufferSize OPTIONAL |
191 | IN UINTN ExtraTxBufferSize OPTIONAL |
192 | ); |
192 | ); |
193 | 193 | ||
194 | /////////////////////////////////////////////////////////////////////////////// |
194 | /////////////////////////////////////////////////////////////////////////////// |
195 | // |
195 | // |
196 | 196 | ||
197 | typedef |
197 | typedef |
198 | EFI_STATUS |
198 | EFI_STATUS |
199 | (EFIAPI *EFI_SIMPLE_NETWORK_RESET) ( |
199 | (EFIAPI *EFI_SIMPLE_NETWORK_RESET) ( |
200 | IN struct _EFI_SIMPLE_NETWORK *This, |
200 | IN struct _EFI_SIMPLE_NETWORK *This, |
201 | IN BOOLEAN ExtendedVerification |
201 | IN BOOLEAN ExtendedVerification |
202 | ); |
202 | ); |
203 | 203 | ||
204 | /////////////////////////////////////////////////////////////////////////////// |
204 | /////////////////////////////////////////////////////////////////////////////// |
205 | // |
205 | // |
206 | 206 | ||
207 | typedef |
207 | typedef |
208 | EFI_STATUS |
208 | EFI_STATUS |
209 | (EFIAPI *EFI_SIMPLE_NETWORK_SHUTDOWN) ( |
209 | (EFIAPI *EFI_SIMPLE_NETWORK_SHUTDOWN) ( |
210 | IN struct _EFI_SIMPLE_NETWORK *This |
210 | IN struct _EFI_SIMPLE_NETWORK *This |
211 | ); |
211 | ); |
212 | 212 | ||
213 | /////////////////////////////////////////////////////////////////////////////// |
213 | /////////////////////////////////////////////////////////////////////////////// |
214 | // |
214 | // |
215 | 215 | ||
216 | typedef |
216 | typedef |
217 | EFI_STATUS |
217 | EFI_STATUS |
218 | (EFIAPI *EFI_SIMPLE_NETWORK_RECEIVE_FILTERS) ( |
218 | (EFIAPI *EFI_SIMPLE_NETWORK_RECEIVE_FILTERS) ( |
219 | IN struct _EFI_SIMPLE_NETWORK *This, |
219 | IN struct _EFI_SIMPLE_NETWORK *This, |
220 | IN UINT32 Enable, |
220 | IN UINT32 Enable, |
221 | IN UINT32 Disable, |
221 | IN UINT32 Disable, |
222 | IN BOOLEAN ResetMCastFilter, |
222 | IN BOOLEAN ResetMCastFilter, |
223 | IN UINTN MCastFilterCnt OPTIONAL, |
223 | IN UINTN MCastFilterCnt OPTIONAL, |
224 | IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL |
224 | IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL |
225 | ); |
225 | ); |
226 | 226 | ||
227 | /////////////////////////////////////////////////////////////////////////////// |
227 | /////////////////////////////////////////////////////////////////////////////// |
228 | // |
228 | // |
229 | 229 | ||
230 | typedef |
230 | typedef |
231 | EFI_STATUS |
231 | EFI_STATUS |
232 | (EFIAPI *EFI_SIMPLE_NETWORK_STATION_ADDRESS) ( |
232 | (EFIAPI *EFI_SIMPLE_NETWORK_STATION_ADDRESS) ( |
233 | IN struct _EFI_SIMPLE_NETWORK *This, |
233 | IN struct _EFI_SIMPLE_NETWORK *This, |
234 | IN BOOLEAN Reset, |
234 | IN BOOLEAN Reset, |
235 | IN EFI_MAC_ADDRESS *New OPTIONAL |
235 | IN EFI_MAC_ADDRESS *New OPTIONAL |
236 | ); |
236 | ); |
237 | 237 | ||
238 | /////////////////////////////////////////////////////////////////////////////// |
238 | /////////////////////////////////////////////////////////////////////////////// |
239 | // |
239 | // |
240 | 240 | ||
241 | typedef |
241 | typedef |
242 | EFI_STATUS |
242 | EFI_STATUS |
243 | (EFIAPI *EFI_SIMPLE_NETWORK_STATISTICS) ( |
243 | (EFIAPI *EFI_SIMPLE_NETWORK_STATISTICS) ( |
244 | IN struct _EFI_SIMPLE_NETWORK *This, |
244 | IN struct _EFI_SIMPLE_NETWORK *This, |
245 | IN BOOLEAN Reset, |
245 | IN BOOLEAN Reset, |
246 | IN OUT UINTN *StatisticsSize OPTIONAL, |
246 | IN OUT UINTN *StatisticsSize OPTIONAL, |
247 | OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL |
247 | OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL |
248 | ); |
248 | ); |
249 | 249 | ||
250 | /////////////////////////////////////////////////////////////////////////////// |
250 | /////////////////////////////////////////////////////////////////////////////// |
251 | // |
251 | // |
252 | 252 | ||
253 | typedef |
253 | typedef |
254 | EFI_STATUS |
254 | EFI_STATUS |
255 | (EFIAPI *EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC) ( |
255 | (EFIAPI *EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC) ( |
256 | IN struct _EFI_SIMPLE_NETWORK *This, |
256 | IN struct _EFI_SIMPLE_NETWORK *This, |
257 | IN BOOLEAN IPv6, |
257 | IN BOOLEAN IPv6, |
258 | IN EFI_IP_ADDRESS *IP, |
258 | IN EFI_IP_ADDRESS *IP, |
259 | OUT EFI_MAC_ADDRESS *MAC |
259 | OUT EFI_MAC_ADDRESS *MAC |
260 | ); |
260 | ); |
261 | 261 | ||
262 | /////////////////////////////////////////////////////////////////////////////// |
262 | /////////////////////////////////////////////////////////////////////////////// |
263 | // |
263 | // |
264 | 264 | ||
265 | typedef |
265 | typedef |
266 | EFI_STATUS |
266 | EFI_STATUS |
267 | (EFIAPI *EFI_SIMPLE_NETWORK_NVDATA) ( |
267 | (EFIAPI *EFI_SIMPLE_NETWORK_NVDATA) ( |
268 | IN struct _EFI_SIMPLE_NETWORK *This, |
268 | IN struct _EFI_SIMPLE_NETWORK *This, |
269 | IN BOOLEAN ReadWrite, |
269 | IN BOOLEAN ReadWrite, |
270 | IN UINTN Offset, |
270 | IN UINTN Offset, |
271 | IN UINTN BufferSize, |
271 | IN UINTN BufferSize, |
272 | IN OUT VOID *Buffer |
272 | IN OUT VOID *Buffer |
273 | ); |
273 | ); |
274 | 274 | ||
275 | /////////////////////////////////////////////////////////////////////////////// |
275 | /////////////////////////////////////////////////////////////////////////////// |
276 | // |
276 | // |
277 | 277 | ||
278 | typedef |
278 | typedef |
279 | EFI_STATUS |
279 | EFI_STATUS |
280 | (EFIAPI *EFI_SIMPLE_NETWORK_GET_STATUS) ( |
280 | (EFIAPI *EFI_SIMPLE_NETWORK_GET_STATUS) ( |
281 | IN struct _EFI_SIMPLE_NETWORK *This, |
281 | IN struct _EFI_SIMPLE_NETWORK *This, |
282 | OUT UINT32 *InterruptStatus OPTIONAL, |
282 | OUT UINT32 *InterruptStatus OPTIONAL, |
283 | OUT VOID **TxBuf OPTIONAL |
283 | OUT VOID **TxBuf OPTIONAL |
284 | ); |
284 | ); |
285 | 285 | ||
286 | /////////////////////////////////////////////////////////////////////////////// |
286 | /////////////////////////////////////////////////////////////////////////////// |
287 | // |
287 | // |
288 | 288 | ||
289 | typedef |
289 | typedef |
290 | EFI_STATUS |
290 | EFI_STATUS |
291 | (EFIAPI *EFI_SIMPLE_NETWORK_TRANSMIT) ( |
291 | (EFIAPI *EFI_SIMPLE_NETWORK_TRANSMIT) ( |
292 | IN struct _EFI_SIMPLE_NETWORK *This, |
292 | IN struct _EFI_SIMPLE_NETWORK *This, |
293 | IN UINTN HeaderSize, |
293 | IN UINTN HeaderSize, |
294 | IN UINTN BufferSize, |
294 | IN UINTN BufferSize, |
295 | IN VOID *Buffer, |
295 | IN VOID *Buffer, |
296 | IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL, |
296 | IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL, |
297 | IN EFI_MAC_ADDRESS *DestAddr OPTIONAL, |
297 | IN EFI_MAC_ADDRESS *DestAddr OPTIONAL, |
298 | IN UINT16 *Protocol OPTIONAL |
298 | IN UINT16 *Protocol OPTIONAL |
299 | ); |
299 | ); |
300 | 300 | ||
301 | /////////////////////////////////////////////////////////////////////////////// |
301 | /////////////////////////////////////////////////////////////////////////////// |
302 | // |
302 | // |
303 | 303 | ||
304 | typedef |
304 | typedef |
305 | EFI_STATUS |
305 | EFI_STATUS |
306 | (EFIAPI *EFI_SIMPLE_NETWORK_RECEIVE) ( |
306 | (EFIAPI *EFI_SIMPLE_NETWORK_RECEIVE) ( |
307 | IN struct _EFI_SIMPLE_NETWORK *This, |
307 | IN struct _EFI_SIMPLE_NETWORK *This, |
308 | OUT UINTN *HeaderSize OPTIONAL, |
308 | OUT UINTN *HeaderSize OPTIONAL, |
309 | IN OUT UINTN *BufferSize, |
309 | IN OUT UINTN *BufferSize, |
310 | OUT VOID *Buffer, |
310 | OUT VOID *Buffer, |
311 | OUT EFI_MAC_ADDRESS *SrcAddr OPTIONAL, |
311 | OUT EFI_MAC_ADDRESS *SrcAddr OPTIONAL, |
312 | OUT EFI_MAC_ADDRESS *DestAddr OPTIONAL, |
312 | OUT EFI_MAC_ADDRESS *DestAddr OPTIONAL, |
313 | OUT UINT16 *Protocol OPTIONAL |
313 | OUT UINT16 *Protocol OPTIONAL |
314 | ); |
314 | ); |
315 | 315 | ||
316 | /////////////////////////////////////////////////////////////////////////////// |
316 | /////////////////////////////////////////////////////////////////////////////// |
317 | // |
317 | // |
318 | 318 | ||
319 | #define EFI_SIMPLE_NETWORK_INTERFACE_REVISION 0x00010000 |
319 | #define EFI_SIMPLE_NETWORK_INTERFACE_REVISION 0x00010000 |
320 | 320 | ||
321 | typedef struct _EFI_SIMPLE_NETWORK { |
321 | typedef struct _EFI_SIMPLE_NETWORK { |
322 | UINT64 Revision; |
322 | UINT64 Revision; |
323 | EFI_SIMPLE_NETWORK_START Start; |
323 | EFI_SIMPLE_NETWORK_START Start; |
324 | EFI_SIMPLE_NETWORK_STOP Stop; |
324 | EFI_SIMPLE_NETWORK_STOP Stop; |
325 | EFI_SIMPLE_NETWORK_INITIALIZE Initialize; |
325 | EFI_SIMPLE_NETWORK_INITIALIZE Initialize; |
326 | EFI_SIMPLE_NETWORK_RESET Reset; |
326 | EFI_SIMPLE_NETWORK_RESET Reset; |
327 | EFI_SIMPLE_NETWORK_SHUTDOWN Shutdown; |
327 | EFI_SIMPLE_NETWORK_SHUTDOWN Shutdown; |
328 | EFI_SIMPLE_NETWORK_RECEIVE_FILTERS ReceiveFilters; |
328 | EFI_SIMPLE_NETWORK_RECEIVE_FILTERS ReceiveFilters; |
329 | EFI_SIMPLE_NETWORK_STATION_ADDRESS StationAddress; |
329 | EFI_SIMPLE_NETWORK_STATION_ADDRESS StationAddress; |
330 | EFI_SIMPLE_NETWORK_STATISTICS Statistics; |
330 | EFI_SIMPLE_NETWORK_STATISTICS Statistics; |
331 | EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC MCastIpToMac; |
331 | EFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC MCastIpToMac; |
332 | EFI_SIMPLE_NETWORK_NVDATA NvData; |
332 | EFI_SIMPLE_NETWORK_NVDATA NvData; |
333 | EFI_SIMPLE_NETWORK_GET_STATUS GetStatus; |
333 | EFI_SIMPLE_NETWORK_GET_STATUS GetStatus; |
334 | EFI_SIMPLE_NETWORK_TRANSMIT Transmit; |
334 | EFI_SIMPLE_NETWORK_TRANSMIT Transmit; |
335 | EFI_SIMPLE_NETWORK_RECEIVE Receive; |
335 | EFI_SIMPLE_NETWORK_RECEIVE Receive; |
336 | EFI_EVENT WaitForPacket; |
336 | EFI_EVENT WaitForPacket; |
337 | EFI_SIMPLE_NETWORK_MODE *Mode; |
337 | EFI_SIMPLE_NETWORK_MODE *Mode; |
338 | } EFI_SIMPLE_NETWORK; |
338 | } EFI_SIMPLE_NETWORK; |
339 | 339 | ||
340 | #endif /* _EFINET_H */ |
340 | #endif /* _EFINET_H */ |
341 | 341 |