VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/StdLib/EfiSocketLib/Init.c@ 57260

Last change on this file since 57260 was 48674, checked in by vboxsync, 11 years ago

EFI: Export newly imported tinaocore UEFI sources to OSE.

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1/** @file
2 Implement the constructor and destructor for the EFI socket library
3
4 Copyright (c) 2011, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#include "Socket.h"
16
17
18/**
19 EFI Socket Library Constructor
20
21 This routine supports an implementation dependent constructor
22 depending upon whether the library is linked to a socket
23 application or the SocketDxe driver. The following modules
24 declare the redirection for the constructor in ::mpfnEslConstructor:
25 <ul>
26 <li>StdLib/EfiSocketLib/UseSocketLib.c - Application links against EfiSocketLib</li>
27 <li>StdLib/SocketDxe/EntryUnload.c - SocketDxe links against EfiSocketLib</li>
28 </ul>
29
30 The EfiSocketLib.inf file lists ::EslConstructor as the CONSTRUCTOR
31 in the [Defines] section. As a result, this routine is called by
32 the ProcessLibraryConstructorList routine of the AutoGen.c module
33 in the Build directory associated with the socket application or
34 the SocketDxe driver.
35
36 @retval EFI_SUCCESS The socket layer initialization was successful
37
38 **/
39EFI_STATUS
40EFIAPI
41EslConstructor (
42 VOID
43 )
44{
45 EFI_STATUS Status;
46
47 DBG_ENTER ( );
48
49 //
50 // Assume success
51 //
52 Status = EFI_SUCCESS;
53
54 //
55 // Call the image dependent constructor if available
56 //
57 if ( NULL != mpfnEslConstructor ) {
58 Status = mpfnEslConstructor ( );
59 }
60
61 //
62 // Return the constructor status
63 //
64 DBG_EXIT_STATUS ( Status );
65 return Status;
66}
67
68
69/**
70 EFI Socket Library Destructor
71
72 This routine supports an implementation dependent destructor
73 depending upon whether the library is linked to a socket
74 application or the SocketDxe driver. The following modules
75 declare the redirection for the destructor in ::mpfnEslDestructor:
76 <ul>
77 <li>StdLib/EfiSocketLib/UseSocketLib.c - Application links against EfiSocketLib</li>
78 <li>StdLib/SocketDxe/EntryUnload.c - SocketDxe links against EfiSocketLib</li>
79 </ul>
80
81 The EfiSocketLib.inf file lists ::EslDestructor as the DESTRUCTOR
82 in the [Defines] section. As a result, this routine is called by
83 the ProcessLibraryDestructorList routine of the AutoGen.c module
84 in the Build directory associated with the socket application or
85 the SocketDxe driver.
86
87 @retval EFI_SUCCESS The socket layer shutdown was successful
88
89 **/
90EFI_STATUS
91EFIAPI
92EslDestructor (
93 VOID
94 )
95{
96 EFI_STATUS Status;
97
98 DBG_ENTER ( );
99
100 //
101 // Assume success
102 //
103 Status = EFI_SUCCESS;
104
105 //
106 // Call the image dependent destructor if available
107 //
108 if ( NULL != mpfnEslDestructor ) {
109 Status = mpfnEslDestructor ( );
110 }
111
112 //
113 // Return the constructor status
114 //
115 DBG_EXIT_STATUS ( Status );
116 return Status;
117}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette