blob: 5d7b52c06e7efc7f2c437d2491a397302626d4f3 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2
3Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
4
5This program and the accompanying materials
6are licensed and made available under the terms and conditions
7of the BSD License which accompanies this distribution. The
8full text of the license may be found at
9http://opensource.org/licenses/bsd-license.php
10
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14**/
15
16#include <Uefi.h>
17#include <Library/DebugLib.h>
18
19/**
20 This function will save confidential information to lockbox.
21
22 @param Guid the guid to identify the confidential information
23 @param Buffer the address of the confidential information
24 @param Length the length of the confidential information
25
26 @retval RETURN_SUCCESS the information is saved successfully.
27 @retval RETURN_INVALID_PARAMETER the Guid is NULL, or Buffer is NULL, or Length is 0
28 @retval RETURN_ALREADY_STARTED the requested GUID already exist.
29 @retval RETURN_OUT_OF_RESOURCES no enough resource to save the information.
30 @retval RETURN_ACCESS_DENIED it is too late to invoke this interface
31 @retval RETURN_NOT_STARTED it is too early to invoke this interface
32 @retval RETURN_UNSUPPORTED the service is not supported by implementaion.
33**/
34RETURN_STATUS
35EFIAPI
36SaveLockBox (
37 IN GUID *Guid,
38 IN VOID *Buffer,
39 IN UINTN Length
40 )
41{
42 return RETURN_SUCCESS;
43}
44
45/**
46 This function will set lockbox attributes.
47
48 @param Guid the guid to identify the confidential information
49 @param Attributes the attributes of the lockbox
50
51 @retval RETURN_SUCCESS the information is saved successfully.
52 @retval RETURN_INVALID_PARAMETER attributes is invalid.
53 @retval RETURN_NOT_FOUND the requested GUID not found.
54 @retval RETURN_ACCESS_DENIED it is too late to invoke this interface
55 @retval RETURN_NOT_STARTED it is too early to invoke this interface
56 @retval RETURN_UNSUPPORTED the service is not supported by implementaion.
57**/
58RETURN_STATUS
59EFIAPI
60SetLockBoxAttributes (
61 IN GUID *Guid,
62 IN UINT64 Attributes
63 )
64{
65 return RETURN_SUCCESS;
66}
67
68/**
69 This function will update confidential information to lockbox.
70
71 @param Guid the guid to identify the original confidential information
72 @param Offset the offset of the original confidential information
73 @param Buffer the address of the updated confidential information
74 @param Length the length of the updated confidential information
75
76 @retval RETURN_SUCCESS the information is saved successfully.
77 @retval RETURN_INVALID_PARAMETER the Guid is NULL, or Buffer is NULL, or Length is 0.
78 @retval RETURN_NOT_FOUND the requested GUID not found.
79 @retval RETURN_BUFFER_TOO_SMALL the original buffer to too small to hold new information.
80 @retval RETURN_ACCESS_DENIED it is too late to invoke this interface
81 @retval RETURN_NOT_STARTED it is too early to invoke this interface
82 @retval RETURN_UNSUPPORTED the service is not supported by implementaion.
83**/
84RETURN_STATUS
85EFIAPI
86UpdateLockBox (
87 IN GUID *Guid,
88 IN UINTN Offset,
89 IN VOID *Buffer,
90 IN UINTN Length
91 )
92{
93 return RETURN_SUCCESS;
94}
95
96/**
97 This function will restore confidential information from lockbox.
98
99 @param Guid the guid to identify the confidential information
100 @param Buffer the address of the restored confidential information
101 NULL means restored to original address, Length MUST be NULL at same time.
102 @param Length the length of the restored confidential information
103
104 @retval RETURN_SUCCESS the information is restored successfully.
105 @retval RETURN_INVALID_PARAMETER the Guid is NULL, or one of Buffer and Length is NULL.
106 @retval RETURN_WRITE_PROTECTED Buffer and Length are NULL, but the LockBox has no
107 LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE attribute.
108 @retval RETURN_BUFFER_TOO_SMALL the Length is too small to hold the confidential information.
109 @retval RETURN_NOT_FOUND the requested GUID not found.
110 @retval RETURN_NOT_STARTED it is too early to invoke this interface
111 @retval RETURN_ACCESS_DENIED not allow to restore to the address
112 @retval RETURN_UNSUPPORTED the service is not supported by implementaion.
113**/
114RETURN_STATUS
115EFIAPI
116RestoreLockBox (
117 IN GUID *Guid,
118 IN VOID *Buffer, OPTIONAL
119 IN OUT UINTN *Length OPTIONAL
120 )
121{
122 return RETURN_SUCCESS;
123}
124
125/**
126 This function will restore confidential information from all lockbox which have RestoreInPlace attribute.
127
128 @retval RETURN_SUCCESS the information is restored successfully.
129 @retval RETURN_NOT_STARTED it is too early to invoke this interface
130 @retval RETURN_UNSUPPORTED the service is not supported by implementaion.
131**/
132RETURN_STATUS
133EFIAPI
134RestoreAllLockBoxInPlace (
135 VOID
136 )
137{
138 return RETURN_SUCCESS;
139}