]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h
Update UID drivers to align with latest UEFI spec 2.3.1.
[mirror_edk2.git] / SecurityPkg / UserIdentification / UserProfileManagerDxe / UserProfileManager.h
index 9013d2f88fbe9ec5e08ccb91fa9a2a8bef421953..fc0efaa4f51864120580b9c3390c0abe02c8fffe 100644 (file)
@@ -140,6 +140,7 @@ extern USER_INFO                           mUserInfo;
 \r
 extern USER_PROFILE_MANAGER_CALLBACK_INFO  *mCallbackInfo;\r
 \r
+extern EFI_USER_PROFILE_HANDLE             mModifyUser;\r
 \r
 /**\r
   Get string by string id from HII Interface.\r
@@ -378,5 +379,67 @@ GetUserNameInput (
   IN OUT  UINTN         *UserNameLen,\r
      OUT  CHAR16        *UserName\r
   );\r
+\r
+/**\r
+  Find the specified info in User profile by the InfoType.\r
+\r
+  @param[in]  User         Handle of the user whose information will be searched.\r
+  @param[in]  InfoType     The user information type to find.\r
+  @param[out] UserInfo     Points to user information handle found.\r
+  \r
+  @retval EFI_SUCCESS      Find the user information successfully.\r
+  @retval Others           Fail to find the user information.\r
+\r
+**/\r
+EFI_STATUS\r
+FindInfoByType (\r
+  IN  EFI_USER_PROFILE_HANDLE                   User,\r
+  IN  UINT8                                     InfoType,\r
+  OUT EFI_USER_INFO_HANDLE                      *UserInfo\r
+  );\r
+\r
+/**\r
+  Convert the identity policy to a unicode string and update the Hii database\r
+  IpStringId string with it.\r
+\r
+  @param[in]  Ip         Points to identity policy.\r
+  @param[in]  IpLen      The identity policy length.\r
+  @param[in]  IpStringId String ID in the HII database to be replaced.\r
+\r
+**/\r
+VOID\r
+ResolveIdentityPolicy (\r
+  IN  UINT8                                     *Ip,\r
+  IN  UINTN                                     IpLen,\r
+  IN  EFI_STRING_ID                             IpStringId\r
+  );\r
+\r
+/**\r
+  Expand access policy memory size.\r
+\r
+  @param[in] ValidLen       The valid access policy length.\r
+  @param[in] ExpandLen      The length that is needed to expand.\r
+    \r
+**/\r
+VOID\r
+ExpandMemory (\r
+  IN      UINTN                                 ValidLen,\r
+  IN      UINTN                                 ExpandLen\r
+  );\r
+\r
+/**\r
+  Delete User's credental from all the providers that exist in User's identity policy.\r
+  \r
+  @param[in]  IdentityPolicy     Point to User's identity policy.\r
+  @param[in]  IdentityPolicyLen  The length of the identity policy.\r
+  @param[in]  User               Points to user profile.\r
+\r
+**/\r
+VOID\r
+DeleteCredentialFromProviders (\r
+  IN     UINT8                                *IdentityPolicy,\r
+  IN     UINTN                                 IdentityPolicyLen,\r
+  IN     EFI_USER_PROFILE_HANDLE               User \r
+  );\r
   \r
 #endif\r