summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Universal/Network/Snp32_64/Dxe/WaitForPacket.c
diff options
context:
space:
mode:
Diffstat (limited to 'EdkModulePkg/Universal/Network/Snp32_64/Dxe/WaitForPacket.c')
-rw-r--r--EdkModulePkg/Universal/Network/Snp32_64/Dxe/WaitForPacket.c100
1 files changed, 0 insertions, 100 deletions
diff --git a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/WaitForPacket.c b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/WaitForPacket.c
deleted file mode 100644
index 51a3bb856f..0000000000
--- a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/WaitForPacket.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*++
-Copyright (c) 2006, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which 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.
-
-Module name:
- WaitForPacket.c
-
-Abstract:
- Event handler to check for available packet.
-
---*/
-
-
-#include "Snp.h"
-
-VOID
-EFIAPI
-SnpWaitForPacketNotify (
- EFI_EVENT Event,
- VOID *SnpPtr
- )
-/*++
-
-Routine Description:
-
-Arguments:
-
-Returns:
-
---*/
-{
- PXE_DB_GET_STATUS PxeDbGetStatus;
-
- //
- // Do nothing if either parameter is a NULL pointer.
- //
- if (Event == NULL || SnpPtr == NULL) {
- return ;
- }
- //
- // Do nothing if the SNP interface is not initialized.
- //
- switch (((SNP_DRIVER *) SnpPtr)->mode.State) {
- case EfiSimpleNetworkInitialized:
- break;
-
- case EfiSimpleNetworkStopped:
- case EfiSimpleNetworkStarted:
- default:
- return ;
- }
- //
- // Fill in CDB for UNDI GetStatus().
- //
- ((SNP_DRIVER *) SnpPtr)->cdb.OpCode = PXE_OPCODE_GET_STATUS;
- ((SNP_DRIVER *) SnpPtr)->cdb.OpFlags = 0;
- ((SNP_DRIVER *) SnpPtr)->cdb.CPBsize = PXE_CPBSIZE_NOT_USED;
- ((SNP_DRIVER *) SnpPtr)->cdb.CPBaddr = PXE_CPBADDR_NOT_USED;
- ((SNP_DRIVER *) SnpPtr)->cdb.DBsize = sizeof (UINT32) * 2;
- ((SNP_DRIVER *) SnpPtr)->cdb.DBaddr = (UINT64) (UINTN) (((SNP_DRIVER *) SnpPtr)->db);
- ((SNP_DRIVER *) SnpPtr)->cdb.StatCode = PXE_STATCODE_INITIALIZE;
- ((SNP_DRIVER *) SnpPtr)->cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;
- ((SNP_DRIVER *) SnpPtr)->cdb.IFnum = ((SNP_DRIVER *) SnpPtr)->if_num;
- ((SNP_DRIVER *) SnpPtr)->cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;
-
- //
- // Clear contents of DB buffer.
- //
- ZeroMem (((SNP_DRIVER *) SnpPtr)->db, sizeof (UINT32) * 2);
-
- //
- // Issue UNDI command and check result.
- //
- (*((SNP_DRIVER *) SnpPtr)->issue_undi32_command) ((UINT64) (UINTN) &((SNP_DRIVER *) SnpPtr)->cdb);
-
- if (((SNP_DRIVER *) SnpPtr)->cdb.StatCode != EFI_SUCCESS) {
- return ;
- }
- //
- // We might have a packet. Check the receive length and signal
- // the event if the length is not zero.
- //
- CopyMem (
- &PxeDbGetStatus,
- ((SNP_DRIVER *) SnpPtr)->db,
- sizeof (UINT32) * 2
- );
-
- if (PxeDbGetStatus.RxFrameLen != 0) {
- gBS->SignalEvent (Event);
- }
-}
-
-/* eof - WaitForPacket.c */