X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=SecurityPkg%2FUserIdentification%2FUserProfileManagerDxe%2FUserProfileManager.h;h=5ab5457a8f64573b0d0641f8944641d3a9165283;hp=bff953960267974807967c0dbf5c8ffbb9ce4d54;hb=c0cb1e1a72bccb5c83d7a36a8e52a38002b18671;hpb=a0c56a8219ec268d8ac4e051035f1636545cc478 diff --git a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h index bff9539602..5ab5457a8f 100644 --- a/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h +++ b/SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h @@ -1,7 +1,7 @@ /** @file The header file for user profile manager driver. -Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -21,8 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include -#include -#include +#include #include #include @@ -44,7 +43,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // typedef struct { UINTN Count; - EFI_USER_CREDENTIAL_PROTOCOL *Provider[1]; + EFI_USER_CREDENTIAL2_PROTOCOL *Provider[1]; } CREDENTIAL_PROVIDER_INFO; // @@ -140,6 +139,7 @@ extern USER_INFO mUserInfo; extern USER_PROFILE_MANAGER_CALLBACK_INFO *mCallbackInfo; +extern EFI_USER_PROFILE_HANDLE mModifyUser; /** Get string by string id from HII Interface. @@ -254,7 +254,7 @@ AddIdentityPolicyItem ( /** Save the identity policy and update UI with it. - This funciton will verify the new identity policy, in current implementation, + This function will verify the new identity policy, in current implementation, the identity policy can be: T, P & P & P & ..., P | P | P | ... Here, "T" means "True", "P" means "Credential Provider", "&" means "and", "|" means "or". Other identity policies are not supported. @@ -378,5 +378,67 @@ GetUserNameInput ( IN OUT UINTN *UserNameLen, OUT CHAR16 *UserName ); + +/** + Find the specified info in User profile by the InfoType. + + @param[in] User Handle of the user whose information will be searched. + @param[in] InfoType The user information type to find. + @param[out] UserInfo Points to user information handle found. + + @retval EFI_SUCCESS Find the user information successfully. + @retval Others Fail to find the user information. + +**/ +EFI_STATUS +FindInfoByType ( + IN EFI_USER_PROFILE_HANDLE User, + IN UINT8 InfoType, + OUT EFI_USER_INFO_HANDLE *UserInfo + ); + +/** + Convert the identity policy to a unicode string and update the Hii database + IpStringId string with it. + + @param[in] Ip Points to identity policy. + @param[in] IpLen The identity policy length. + @param[in] IpStringId String ID in the HII database to be replaced. + +**/ +VOID +ResolveIdentityPolicy ( + IN UINT8 *Ip, + IN UINTN IpLen, + IN EFI_STRING_ID IpStringId + ); + +/** + Expand access policy memory size. + + @param[in] ValidLen The valid access policy length. + @param[in] ExpandLen The length that is needed to expand. + +**/ +VOID +ExpandMemory ( + IN UINTN ValidLen, + IN UINTN ExpandLen + ); + +/** + Delete User's credental from all the providers that exist in User's identity policy. + + @param[in] IdentityPolicy Point to User's identity policy. + @param[in] IdentityPolicyLen The length of the identity policy. + @param[in] User Points to user profile. + +**/ +VOID +DeleteCredentialFromProviders ( + IN UINT8 *IdentityPolicy, + IN UINTN IdentityPolicyLen, + IN EFI_USER_PROFILE_HANDLE User + ); #endif