1 /**
2 @file
3 Exit response page
4
5 Copyright (c) 2011-2012, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #include <WebServer.h>
17
18
19 /**
20 Respond with the Exit page
21
22 @param [in] SocketFD The socket's file descriptor to add to the list.
23 @param [in] pPort The WSDT_PORT structure address
24 @param [out] pbDone Address to receive the request completion status
25
26 @retval EFI_SUCCESS The request was successfully processed
27
28 **/
29 EFI_STATUS
ExitPage(IN int SocketFD,IN WSDT_PORT * pPort,OUT BOOLEAN * pbDone)30 ExitPage (
31 IN int SocketFD,
32 IN WSDT_PORT * pPort,
33 OUT BOOLEAN * pbDone
34 )
35 {
36 EFI_STATUS Status;
37
38 DBG_ENTER ( );
39
40 //
41 // Send the Hello World page
42 //
43 for ( ; ; ) {
44 //
45 // Tell the web-server to exit
46 //
47 mWebServer.bRunning = FALSE;
48
49 //
50 // Send the page header
51 //
52 Status = HttpPageHeader ( SocketFD, pPort, L"Exit" );
53 if ( EFI_ERROR ( Status )) {
54 break;
55 }
56
57 //
58 // Send the page body
59 //
60 Status = HttpSendAnsiString ( SocketFD,
61 pPort,
62 "<h1>Exit</h1>\r\n"
63 "<p>\r\n"
64 " Exiting the web-server application.\r\n"
65 "</p>\r\n" );
66 if ( EFI_ERROR ( Status )) {
67 break;
68 }
69
70 //
71 // Send the page trailer
72 //
73 Status = HttpPageTrailer ( SocketFD, pPort, pbDone );
74 break;
75 }
76
77 //
78 // Return the operation status
79 //
80 DBG_EXIT_STATUS ( Status );
81 return Status;
82 }
83