1 /** @file
2   Provides services to display completion progress when processing a
3   firmware update that updates the firmware image in a firmware device.
4   A platform may provide its own instance of this library class to custoimize
5   how a user is informed of completion progress.
6 
7   Copyright (c) 2016, Microsoft Corporation
8   Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
9 
10   All rights reserved.
11   SPDX-License-Identifier: BSD-2-Clause-Patent
12 
13 **/
14 
15 #ifndef __DISPLAY_PROGRESS_LIB__
16 #define __DISPLAY_PROGRESS_LIB__
17 
18 #include <Protocol/GraphicsOutput.h>
19 
20 /**
21   Indicates the current completion progress of a firmware update.
22 
23   @param[in] Completion  A value between 0 and 100 indicating the current
24                          completion progress of a firmware update.  This
25                          value must the the same or higher than previous
26                          calls to this service.  The first call of 0 or a
27                          value of 0 after reaching a value of 100 resets
28                          the progress indicator to 0.
29   @param[in] Color       Color of the progress indicator.  Only used when
30                          Completion is 0 to set the color of the progress
31                          indicator.  If Color is NULL, then the default color
32                          is used.
33 
34   @retval EFI_SUCCESS            Progress displayed successfully.
35   @retval EFI_INVALID_PARAMETER  Completion is not in range 0..100.
36   @retval EFI_INVALID_PARAMETER  Completion is less than Completion value from
37                                  a previous call to this service.
38   @retval EFI_NOT_READY          The device used to indicate progress is not
39                                  available.
40 **/
41 EFI_STATUS
42 EFIAPI
43 DisplayUpdateProgress (
44   IN UINTN                                Completion,
45   IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION  *Color       OPTIONAL
46   );
47 
48 #endif
49