X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FNetwork%2FSnpDxe%2FStop.c;h=c0590e64d33f0b634688003e3e277eea54934dae;hp=63725237b7c465916812e44e2675185af27d6cad;hb=9cff2f8d3687aeed765e1ee787c18ce70ae500bc;hpb=a1dbee50f5e8e9cdcc02c2fa73501aebb44c98ca diff --git a/MdeModulePkg/Universal/Network/SnpDxe/Stop.c b/MdeModulePkg/Universal/Network/SnpDxe/Stop.c index 63725237b7..c0590e64d3 100644 --- a/MdeModulePkg/Universal/Network/SnpDxe/Stop.c +++ b/MdeModulePkg/Universal/Network/SnpDxe/Stop.c @@ -1,62 +1,58 @@ /** @file -Copyright (c) 2004 - 2007, 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 + Implementation of stopping a network interface. + +Copyright (c) 2004 - 2007, 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: - stop.c - -Abstract: - -Revision history: - 2000-Feb-09 M(f)J Genesis. - **/ #include "Snp.h" /** - this routine calls undi to stop the interface and changes the snp state - - @param snp pointer to snp driver structure + Call UNDI to stop the interface and changes the snp state. + @param Snp Pointer to snp driver structure + + @retval EFI_SUCCESS The network interface was stopped. + @retval EFI_DEVICE_ERROR SNP is not initialized. **/ EFI_STATUS -pxe_stop ( - SNP_DRIVER *snp +PxeStop ( + SNP_DRIVER *Snp ) { - snp->cdb.OpCode = PXE_OPCODE_STOP; - snp->cdb.OpFlags = PXE_OPFLAGS_NOT_USED; - snp->cdb.CPBsize = PXE_CPBSIZE_NOT_USED; - snp->cdb.DBsize = PXE_DBSIZE_NOT_USED; - snp->cdb.CPBaddr = PXE_CPBADDR_NOT_USED; - snp->cdb.DBaddr = PXE_DBADDR_NOT_USED; - snp->cdb.StatCode = PXE_STATCODE_INITIALIZE; - snp->cdb.StatFlags = PXE_STATFLAGS_INITIALIZE; - snp->cdb.IFnum = snp->if_num; - snp->cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST; + Snp->Cdb.OpCode = PXE_OPCODE_STOP; + Snp->Cdb.OpFlags = PXE_OPFLAGS_NOT_USED; + Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED; + Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED; + Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED; + Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED; + Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE; + Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE; + Snp->Cdb.IFnum = Snp->IfNum; + Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST; // // Issue UNDI command // DEBUG ((EFI_D_NET, "\nsnp->undi.stop() ")); - (*snp->issue_undi32_command) ((UINT64)(UINTN) &snp->cdb); + (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb); - if (snp->cdb.StatCode != PXE_STATCODE_SUCCESS) { + if (Snp->Cdb.StatCode != PXE_STATCODE_SUCCESS) { DEBUG ( (EFI_D_WARN, "\nsnp->undi.stop() %xh:%xh\n", - snp->cdb.StatCode, - snp->cdb.StatFlags) + Snp->Cdb.StatCode, + Snp->Cdb.StatFlags) ); return EFI_DEVICE_ERROR; @@ -64,39 +60,51 @@ pxe_stop ( // // Set simple network state to Started and return success. // - snp->mode.State = EfiSimpleNetworkStopped; + Snp->Mode.State = EfiSimpleNetworkStopped; return EFI_SUCCESS; } /** - This is the SNP interface routine for stopping the interface. - This routine basically retrieves snp structure, checks the SNP state and - calls the pxe_stop routine to actually stop the undi interface - - @param this context pointer - + Changes the state of a network interface from "started" to "stopped." + + This function stops a network interface. This call is only valid if the network + interface is in the started state. If the network interface was successfully + stopped, then EFI_SUCCESS will be returned. + + @param This A pointer to the EFI_SIMPLE_NETWORK_PROTOCOL + instance. + + + @retval EFI_SUCCESS The network interface was stopped. + @retval EFI_NOT_STARTED The network interface has not been started. + @retval EFI_INVALID_PARAMETER This parameter was NULL or did not point to a + valid EFI_SIMPLE_NETWORK_PROTOCOL structure. + @retval EFI_DEVICE_ERROR The command could not be sent to the network + interface. + @retval EFI_UNSUPPORTED This function is not supported by the network + interface. **/ EFI_STATUS EFIAPI -snp_undi32_stop ( - IN EFI_SIMPLE_NETWORK_PROTOCOL *this +SnpUndi32Stop ( + IN EFI_SIMPLE_NETWORK_PROTOCOL *This ) { - SNP_DRIVER *snp; + SNP_DRIVER *Snp; EFI_TPL OldTpl; EFI_STATUS Status; - if (this == NULL) { + if (This == NULL) { return EFI_INVALID_PARAMETER; } - snp = EFI_SIMPLE_NETWORK_DEV_FROM_THIS (this); + Snp = EFI_SIMPLE_NETWORK_DEV_FROM_THIS (This); OldTpl = gBS->RaiseTPL (TPL_CALLBACK); - switch (snp->mode.State) { + switch (Snp->Mode.State) { case EfiSimpleNetworkStarted: break; @@ -109,7 +117,7 @@ snp_undi32_stop ( goto ON_EXIT; } - Status = pxe_stop (snp); + Status = PxeStop (Snp); ON_EXIT: gBS->RestoreTPL (OldTpl);