]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Sockets/WebServer/BootServicesTable.c
AppPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / AppPkg / Applications / Sockets / WebServer / BootServicesTable.c
CommitLineData
9f7f5161 1/**
2 @file
3 Display the boot services table
4684b66f 4
bcb96695
MK
5 Copyright (c) 2011-2012, Intel Corporation. All rights reserved.
6 SPDX-License-Identifier: BSD-2-Clause-Patent
4684b66f 7
8**/
9
10#include <WebServer.h>
11
12/**
13 Respond with the boot services table
14
15 @param [in] SocketFD The socket's file descriptor to add to the list.
16 @param [in] pPort The WSDT_PORT structure address
17 @param [out] pbDone Address to receive the request completion status
18
19 @retval EFI_SUCCESS The request was successfully processed
20
21**/
22EFI_STATUS
23BootServicesTablePage (
24 IN int SocketFD,
25 IN WSDT_PORT * pPort,
26 OUT BOOLEAN * pbDone
27 )
28{
29 EFI_STATUS Status;
30
31 DBG_ENTER ( );
32
33 //
34 // Send the boot services page
35 //
36 for ( ; ; ) {
37 //
38 // Send the page and table header
39 //
40 Status = TableHeader ( SocketFD, pPort, L"Boot Services Table", gBS );
41 if ( EFI_ERROR ( Status )) {
42 break;
43 }
44
45 ///
46 /// The table header for the EFI Boot Services Table.
47 ///
48 Status = EfiTableHeader ( SocketFD,
49 pPort,
50 &gBS->Hdr );
51 if ( EFI_ERROR ( Status )) {
52 break;
53 }
54
55 //
56 // Task Priority Services
57 //
58 Status = RowPointer ( SocketFD,
59 pPort,
60 "RaiseTPL",
61 (CONST VOID *)gBS->RaiseTPL,
62 NULL );
63 if ( EFI_ERROR ( Status )) {
64 break;
65 }
66 Status = RowPointer ( SocketFD,
67 pPort,
68 "RestoreTPL",
69 (CONST VOID *)gBS->RestoreTPL,
70 NULL );
71 if ( EFI_ERROR ( Status )) {
72 break;
73 }
74
75 //
76 // Memory Services
77 //
78 Status = RowPointer ( SocketFD,
79 pPort,
80 "AllocatePages",
81 (CONST VOID *)gBS->AllocatePages,
82 NULL );
83 if ( EFI_ERROR ( Status )) {
84 break;
85 }
86 Status = RowPointer ( SocketFD,
87 pPort,
88 "FreePages",
89 (CONST VOID *)gBS->FreePages,
90 NULL );
91 if ( EFI_ERROR ( Status )) {
92 break;
93 }
94 Status = RowPointer ( SocketFD,
95 pPort,
96 "GetMemoryMap",
97 (CONST VOID *)gBS->GetMemoryMap,
98 NULL );
99 if ( EFI_ERROR ( Status )) {
100 break;
101 }
102 Status = RowPointer ( SocketFD,
103 pPort,
104 "AllocatePool",
105 (CONST VOID *)gBS->AllocatePool,
106 NULL );
107 if ( EFI_ERROR ( Status )) {
108 break;
109 }
110 Status = RowPointer ( SocketFD,
111 pPort,
112 "FreePool",
113 (CONST VOID *)gBS->FreePool,
114 NULL );
115 if ( EFI_ERROR ( Status )) {
116 break;
117 }
118
119 //
120 // Event & Timer Services
121 //
122 Status = RowPointer ( SocketFD,
123 pPort,
124 "CreateEvent",
125 (CONST VOID *)gBS->CreateEvent,
126 NULL );
127 if ( EFI_ERROR ( Status )) {
128 break;
129 }
130 Status = RowPointer ( SocketFD,
131 pPort,
132 "SetTimer",
133 (CONST VOID *)gBS->SetTimer,
134 NULL );
135 if ( EFI_ERROR ( Status )) {
136 break;
137 }
138 Status = RowPointer ( SocketFD,
139 pPort,
140 "WaitForEvent",
141 (CONST VOID *)gBS->WaitForEvent,
142 NULL );
143 if ( EFI_ERROR ( Status )) {
144 break;
145 }
146 Status = RowPointer ( SocketFD,
147 pPort,
148 "SignalEvent",
149 (CONST VOID *)gBS->SignalEvent,
150 NULL );
151 if ( EFI_ERROR ( Status )) {
152 break;
153 }
154 Status = RowPointer ( SocketFD,
155 pPort,
156 "CloseEvent",
157 (CONST VOID *)gBS->CloseEvent,
158 NULL );
159 if ( EFI_ERROR ( Status )) {
160 break;
161 }
162 Status = RowPointer ( SocketFD,
163 pPort,
164 "CheckEvent",
165 (CONST VOID *)gBS->CheckEvent,
166 NULL );
167 if ( EFI_ERROR ( Status )) {
168 break;
169 }
170
171 //
172 // Protocol Handler Services
173 //
174 Status = RowPointer ( SocketFD,
175 pPort,
176 "InstallProtocolInterface",
177 (CONST VOID *)gBS->InstallProtocolInterface,
178 NULL );
179 if ( EFI_ERROR ( Status )) {
180 break;
181 }
182 Status = RowPointer ( SocketFD,
183 pPort,
184 "ReinstallProtocolInterface",
185 (CONST VOID *)gBS->ReinstallProtocolInterface,
186 NULL );
187 if ( EFI_ERROR ( Status )) {
188 break;
189 }
190 Status = RowPointer ( SocketFD,
191 pPort,
192 "UninstallProtocolInterface",
193 (CONST VOID *)gBS->UninstallProtocolInterface,
194 NULL );
195 if ( EFI_ERROR ( Status )) {
196 break;
197 }
198 Status = RowPointer ( SocketFD,
199 pPort,
200 "HandleProtocol",
201 (CONST VOID *)gBS->HandleProtocol,
202 NULL );
203 if ( EFI_ERROR ( Status )) {
204 break;
205 }
206 Status = RowPointer ( SocketFD,
207 pPort,
208 "Reserved",
209 (CONST VOID *)gBS->Reserved,
210 NULL );
211 if ( EFI_ERROR ( Status )) {
212 break;
213 }
214 Status = RowPointer ( SocketFD,
215 pPort,
216 "RegisterProtocolNotify",
217 (CONST VOID *)gBS->RegisterProtocolNotify,
218 NULL );
219 if ( EFI_ERROR ( Status )) {
220 break;
221 }
222 Status = RowPointer ( SocketFD,
223 pPort,
224 "LocateHandle",
225 (CONST VOID *)gBS->LocateHandle,
226 NULL );
227 if ( EFI_ERROR ( Status )) {
228 break;
229 }
230 Status = RowPointer ( SocketFD,
231 pPort,
232 "LocateDevicePath",
233 (CONST VOID *)gBS->LocateDevicePath,
234 NULL );
235 if ( EFI_ERROR ( Status )) {
236 break;
237 }
238 Status = RowPointer ( SocketFD,
239 pPort,
240 "InstallConfigurationTable",
241 (CONST VOID *)gBS->InstallConfigurationTable,
242 NULL );
243 if ( EFI_ERROR ( Status )) {
244 break;
245 }
246
247 //
248 // Image Services
249 //
250 Status = RowPointer ( SocketFD,
251 pPort,
252 "LoadImage",
253 (CONST VOID *)gBS->LoadImage,
254 NULL );
255 if ( EFI_ERROR ( Status )) {
256 break;
257 }
258 Status = RowPointer ( SocketFD,
259 pPort,
260 "StartImage",
261 (CONST VOID *)gBS->StartImage,
262 NULL );
263 if ( EFI_ERROR ( Status )) {
264 break;
265 }
266 Status = RowPointer ( SocketFD,
267 pPort,
268 "Exit",
269 (CONST VOID *)gBS->Exit,
270 NULL );
271 if ( EFI_ERROR ( Status )) {
272 break;
273 }
274 Status = RowPointer ( SocketFD,
275 pPort,
276 "UnloadImage",
277 (CONST VOID *)gBS->UnloadImage,
278 NULL );
279 if ( EFI_ERROR ( Status )) {
280 break;
281 }
282 Status = RowPointer ( SocketFD,
283 pPort,
284 "ExitBootServices",
285 (CONST VOID *)gBS->ExitBootServices,
286 NULL );
287 if ( EFI_ERROR ( Status )) {
288 break;
289 }
290
291 //
292 // Miscellaneous Services
293 //
294 Status = RowPointer ( SocketFD,
295 pPort,
296 "GetNextMonotonicCount",
297 (CONST VOID *)gBS->GetNextMonotonicCount,
298 NULL );
299 if ( EFI_ERROR ( Status )) {
300 break;
301 }
302 Status = RowPointer ( SocketFD,
303 pPort,
304 "Stall",
305 (CONST VOID *)gBS->Stall,
306 NULL );
307 if ( EFI_ERROR ( Status )) {
308 break;
309 }
310 Status = RowPointer ( SocketFD,
311 pPort,
312 "SetWatchdogTimer",
313 (CONST VOID *)gBS->SetWatchdogTimer,
314 NULL );
315 if ( EFI_ERROR ( Status )) {
316 break;
317 }
318
319 //
320 // DriverSupport Services
321 //
322 Status = RowPointer ( SocketFD,
323 pPort,
324 "ConnectController",
325 (CONST VOID *)gBS->ConnectController,
326 NULL );
327 if ( EFI_ERROR ( Status )) {
328 break;
329 }
330 Status = RowPointer ( SocketFD,
331 pPort,
332 "DisconnectController",
333 (CONST VOID *)gBS->DisconnectController,
334 NULL );
335 if ( EFI_ERROR ( Status )) {
336 break;
337 }
338
339 //
340 // Open and Close Protocol Services
341 //
342 Status = RowPointer ( SocketFD,
343 pPort,
344 "OpenProtocol",
345 (CONST VOID *)gBS->OpenProtocol,
346 NULL );
347 if ( EFI_ERROR ( Status )) {
348 break;
349 }
350 Status = RowPointer ( SocketFD,
351 pPort,
352 "CloseProtocol",
353 (CONST VOID *)gBS->CloseProtocol,
354 NULL );
355 if ( EFI_ERROR ( Status )) {
356 break;
357 }
358 Status = RowPointer ( SocketFD,
359 pPort,
360 "OpenProtocolInformation",
361 (CONST VOID *)gBS->OpenProtocolInformation,
362 NULL );
363 if ( EFI_ERROR ( Status )) {
364 break;
365 }
366
367 //
368 // Library Services
369 //
370 Status = RowPointer ( SocketFD,
371 pPort,
372 "ProtocolsPerHandle",
373 (CONST VOID *)gBS->ProtocolsPerHandle,
374 NULL );
375 if ( EFI_ERROR ( Status )) {
376 break;
377 }
378 Status = RowPointer ( SocketFD,
379 pPort,
380 "LocateHandleBuffer",
381 (CONST VOID *)gBS->LocateHandleBuffer,
382 NULL );
383 if ( EFI_ERROR ( Status )) {
384 break;
385 }
386 Status = RowPointer ( SocketFD,
387 pPort,
388 "LocateProtocol",
389 (CONST VOID *)gBS->LocateProtocol,
390 NULL );
391 if ( EFI_ERROR ( Status )) {
392 break;
393 }
394 Status = RowPointer ( SocketFD,
395 pPort,
396 "InstallMultipleProtocolInterfaces",
397 (CONST VOID *)gBS->InstallMultipleProtocolInterfaces,
398 NULL );
399 if ( EFI_ERROR ( Status )) {
400 break;
401 }
402 Status = RowPointer ( SocketFD,
403 pPort,
404 "UninstallMultipleProtocolInterfaces",
405 (CONST VOID *)gBS->UninstallMultipleProtocolInterfaces,
406 NULL );
407 if ( EFI_ERROR ( Status )) {
408 break;
409 }
410
411 //
412 // 32-bit CRC Services
413 //
414 Status = RowPointer ( SocketFD,
415 pPort,
416 "CalculateCrc32",
417 (CONST VOID *)gBS->CalculateCrc32,
418 NULL );
419 if ( EFI_ERROR ( Status )) {
420 break;
421 }
422
423 //
424 // Miscellaneous Services
425 //
426 Status = RowPointer ( SocketFD,
427 pPort,
428 "CopyMem",
429 (CONST VOID *)gBS->CopyMem,
430 NULL );
431 if ( EFI_ERROR ( Status )) {
432 break;
433 }
434 Status = RowPointer ( SocketFD,
435 pPort,
436 "SetMem",
437 (CONST VOID *)gBS->SetMem,
438 NULL );
439 if ( EFI_ERROR ( Status )) {
440 break;
441 }
442 Status = RowPointer ( SocketFD,
443 pPort,
444 "CreateEventEx",
445 (CONST VOID *)gBS->CreateEventEx,
446 NULL );
447 if ( EFI_ERROR ( Status )) {
448 break;
449 }
450
451 //
452 // Build the table trailer
453 //
454 Status = TableTrailer ( SocketFD,
455 pPort,
456 pbDone );
457 break;
458 }
459
460 //
461 // Return the operation status
462 //
463 DBG_EXIT_STATUS ( Status );
464 return Status;
465}