EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index
Data Structures | Defines | Functions | Variables

SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManager.h File Reference

#include <Uefi.h>
#include <Guid/GlobalVariable.h>
#include <Guid/MdeModuleHii.h>
#include <Protocol/HiiConfigAccess.h>
#include <Protocol/DevicePathToText.h>
#include <Protocol/UserCredential2.h>
#include <Protocol/UserManager.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DevicePathLib.h>
#include <Library/DebugLib.h>
#include <Library/UefiLib.h>
#include <Library/PrintLib.h>
#include <Library/HiiLib.h>
#include "UserProfileManagerData.h"

Go to the source code of this file.

Data Structures

struct  CREDENTIAL_PROVIDER_INFO
struct  USER_INFO
struct  USER_INFO_ACCESS
struct  USER_PROFILE_MANAGER_CALLBACK_INFO
struct  HII_VENDOR_DEVICE_PATH

Defines

#define USER_NAME_LENGTH   17
#define USER_PROFILE_MANAGER_SIGNATURE   SIGNATURE_32 ('U', 'P', 'M', 'S')

Functions

CHAR16GetStringById (IN EFI_STRING_ID Id)
VOID CallAddUser (VOID)
VOID SelectUserToModify (VOID)
VOID SelectUserToDelete (VOID)
VOID DeleteUser (IN UINT8 UserIndex)
VOID AddUserToForm (IN EFI_USER_PROFILE_HANDLE User, IN UINT16 Index, IN VOID *OpCodeHandle)
VOID ModifyUserInfo (IN UINT8 UserIndex)
VOID ModifyUserName (VOID)
VOID ModifyIdentityPolicy (VOID)
VOID AddIdentityPolicyItem (VOID)
VOID SaveIdentityPolicy (VOID)
VOID ModidyAccessPolicy (VOID)
VOID SaveAccessPolicy (VOID)
EFI_STATUS GetAccessRight (OUT UINT32 *AccessRight)
VOID DisplayLoadPermit (VOID)
VOID DisplayLoadForbid (VOID)
VOID DisplayConnectPermit (VOID)
VOID DisplayConnectForbid (VOID)
VOID DeleteFromForbidLoad (IN UINT16 DriverIndex)
VOID AddToForbidLoad (IN UINT16 DriverIndex)
EFI_STATUS GetUserNameInput (IN OUT UINTN *UserNameLen, OUT CHAR16 *UserName)
EFI_STATUS FindInfoByType (IN EFI_USER_PROFILE_HANDLE User, IN UINT8 InfoType, OUT EFI_USER_INFO_HANDLE *UserInfo)
VOID ResolveIdentityPolicy (IN UINT8 *Ip, IN UINTN IpLen, IN EFI_STRING_ID IpStringId)
VOID ExpandMemory (IN UINTN ValidLen, IN UINTN ExpandLen)
VOID DeleteCredentialFromProviders (IN UINT8 *IdentityPolicy, IN UINTN IdentityPolicyLen, IN EFI_USER_PROFILE_HANDLE User)

Variables

UINT8 UserProfileManagerVfrBin []
UINT8 UserProfileManagerStrings []
EFI_USER_MANAGER_PROTOCOLmUserManager
CREDENTIAL_PROVIDER_INFOmProviderInfo
UINT8 mProviderChoice
UINT8 mConncetLogical
USER_INFO_ACCESS mAccessInfo
USER_INFO mUserInfo
USER_PROFILE_MANAGER_CALLBACK_INFOmCallbackInfo
EFI_USER_PROFILE_HANDLE mModifyUser

Detailed Description

The header file for user profile manager driver.

Copyright (c) 2009 - 2011, 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 http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Definition in file UserProfileManager.h.


Define Documentation

#define USER_NAME_LENGTH   17

Definition at line 40 of file UserProfileManager.h.

#define USER_PROFILE_MANAGER_SIGNATURE   SIGNATURE_32 ('U', 'P', 'M', 'S')

Definition at line 88 of file UserProfileManager.h.


Function Documentation

VOID AddIdentityPolicyItem ( VOID  )

Update the mUserInfo.NewIdentityPolicy and UI when 'add option' is pressed.

Update the mUserInfo.NewIdentityPolicy, and UI when 'add option' is pressed.

Definition at line 490 of file ModifyIdentityPolicy.c.

VOID AddToForbidLoad ( IN UINT16  DriverIndex)

Add the specified device path by DriverIndex to the forbid device path list (mAccessInfo.LoadForbid).

Parameters:
[in]DriverIndexThe index of driver saved in driver options.

Definition at line 643 of file ModifyAccessPolicy.c.

VOID AddUserToForm ( IN EFI_USER_PROFILE_HANDLE  User,
IN UINT16  Index,
IN VOID *  OpCodeHandle 
)

Add a username item in form.

Parameters:
[in]UserPoints to the user profile whose username is added.
[in]IndexThe index of the user in the user name list.
[in]OpCodeHandlePoints to container for dynamic created opcodes.

Add a username item in form.

Parameters:
[in]UserPoints to the user profile whose username is added.
[in]IndexThe index of the user in the user name list
[in]OpCodeHandlePoints to container for dynamic created opcodes.

Definition at line 125 of file UserProfileDelete.c.

VOID CallAddUser ( VOID  )

Add a new user profile into the user profile database.

Definition at line 304 of file UserProfileAdd.c.

VOID DeleteCredentialFromProviders ( IN UINT8 IdentityPolicy,
IN UINTN  IdentityPolicyLen,
IN EFI_USER_PROFILE_HANDLE  User 
)

Delete User's credental from all the providers that exist in User's identity policy.

Parameters:
[in]IdentityPolicyPoint to User's identity policy.
[in]IdentityPolicyLenThe length of the identity policy.
[in]UserPoints to user profile.

Definition at line 135 of file ModifyIdentityPolicy.c.

VOID DeleteFromForbidLoad ( IN UINT16  DriverIndex)

Delete the specified device path by DriverIndex from the forbid device path list (mAccessInfo.LoadForbid).

Parameters:
[in]DriverIndexThe index of driver in a forbidden device path list.

Delete the specified device path by DriverIndex from the forbid device path list (mAccessInfo.LoadForbid).

Parameters:
[in]DriverIndexThe index of driver in forbidden device path list.

Definition at line 596 of file ModifyAccessPolicy.c.

VOID DeleteUser ( IN UINT8  UserIndex)

Delete the user specified by UserIndex in user profile database.

Parameters:
[in]UserIndexThe index of user in the user name list to be deleted.

Definition at line 181 of file UserProfileDelete.c.

VOID DisplayConnectForbid ( VOID  )

Display the forbid connect device path list.

Definition at line 575 of file ModifyAccessPolicy.c.

VOID DisplayConnectPermit ( VOID  )

Display the permit connect device path.

Definition at line 557 of file ModifyAccessPolicy.c.

VOID DisplayLoadForbid ( VOID  )

Display the forbid load device path list (mAccessInfo.LoadForbid).

Definition at line 479 of file ModifyAccessPolicy.c.

VOID DisplayLoadPermit ( VOID  )

Display the permit load device path in the loadable device path list.

Definition at line 325 of file ModifyAccessPolicy.c.

VOID ExpandMemory ( IN UINTN  ValidLen,
IN UINTN  ExpandLen 
)

Expand access policy memory size.

Parameters:
[in]ValidLenThe valid access policy length.
[in]ExpandLenThe length that is needed to expand.

Definition at line 1084 of file UserProfileModify.c.

EFI_STATUS FindInfoByType ( IN EFI_USER_PROFILE_HANDLE  User,
IN UINT8  InfoType,
OUT EFI_USER_INFO_HANDLE UserInfo 
)

Find the specified info in User profile by the InfoType.

Parameters:
[in]UserHandle of the user whose information will be searched.
[in]InfoTypeThe user information type to find.
[out]UserInfoPoints to user information handle found.
Return values:
EFI_SUCCESSFind the user information successfully.
OthersFail to find the user information.

Definition at line 763 of file UserProfileModify.c.

EFI_STATUS GetAccessRight ( OUT UINT32 AccessRight)

Get current user's access rights.

Parameters:
[out]AccessRightPoints to the buffer used for user's access rights.
Return values:
EFI_SUCCESSGet current user access rights successfully.
othersFail to get current user access rights.

Get current user's access right.

Parameters:
[out]AccessRightPoints to the buffer used for user's access right.
Return values:
EFI_SUCCESSGet current user access right successfully.
othersFail to get current user access right.

Definition at line 1385 of file UserProfileModify.c.

CHAR16* GetStringById ( IN EFI_STRING_ID  Id)

Get string by string id from HII Interface.

Parameters:
[in]IdString ID to get the string from.
Return values:
CHAR16* String from ID.
NULLIf error occurs.

Get string by string id from HII Interface

Parameters:
IdString ID.
Return values:
CHAR16* String from ID.
NULLIf error occurs.

Definition at line 38 of file SetupBrowser.c.

EFI_STATUS GetUserNameInput ( IN OUT UINTN UserNameLen,
OUT CHAR16 UserName 
)

Get user name from the popup windows.

Parameters:
[in,out]UserNameLenOn entry, point to the buffer lengh of UserName. On exit, point to the input user name length.
[out]UserNameThe buffer to hold the input user name.
Return values:
EFI_ABORTEDIt is given up by pressing 'ESC' key.
EFI_NOT_READYNot a valid input at all.
EFI_SUCCESSGet a user name successfully.

Get user name from the popup windows.

Parameters:
[in,out]UserNameLenOn entry, point to UserName buffer lengh, in bytes. On exit, point to input user name length, in bytes.
[out]UserNameThe buffer to hold the input user name.
Return values:
EFI_ABORTEDIt is given up by pressing 'ESC' key.
EFI_NOT_READYNot a valid input at all.
EFI_SUCCESSGet a user name successfully.

Definition at line 31 of file UserProfileAdd.c.

VOID ModidyAccessPolicy ( VOID  )

Display modify user access policy form

In this form, access right, access setu,p and access boot order are dynamically added. Load devicepath and connect devicepath are displayed too.

Display modify user access policy form.

In this form, access right, access setup and access boot order are dynamically added. Load devicepath and connect devicepath are displayed too.

Definition at line 842 of file UserProfileModify.c.

VOID ModifyIdentityPolicy ( VOID  )

Display the form of modifying user identity policy.

Display the form of the modifying user identity policy.

Definition at line 1215 of file UserProfileModify.c.

VOID ModifyUserInfo ( IN UINT8  UserIndex)

Display modify user information form

In this form, username, create Date, usage date, usage count, identity policy, and access policy are displayed.

Parameters:
[in]UserIndexThe index of the user in display list to modify.

Display modify user information form.

This form displays, username, create Date, usage date, usage count, identity policy, and access policy.

Parameters:
[in]UserIndexThe index of the user in display list to modify.

Definition at line 472 of file UserProfileModify.c.

VOID ModifyUserName ( VOID  )

Get the username from user input and update username string in Hii database with it.

Get the username from user input, and update username string in the Hii database with it.

Definition at line 1115 of file UserProfileModify.c.

VOID ResolveIdentityPolicy ( IN UINT8 Ip,
IN UINTN  IpLen,
IN EFI_STRING_ID  IpStringId 
)

Convert the identity policy to a unicode string and update the Hii database IpStringId string with it.

Parameters:
[in]IpPoints to identity policy.
[in]IpLenThe identity policy length.
[in]IpStringIdString ID in the HII database to be replaced.

Definition at line 369 of file UserProfileModify.c.

VOID SaveAccessPolicy ( VOID  )

Collect all the access policy data to mUserInfo.AccessPolicy, and save it to user profile.

Definition at line 23 of file ModifyAccessPolicy.c.

VOID SaveIdentityPolicy ( VOID  )

Save the identity policy and update UI with it.

This funciton 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.

Definition at line 419 of file ModifyIdentityPolicy.c.

VOID SelectUserToDelete ( VOID  )

Display user select form, cab select a user to delete.

Definition at line 268 of file UserProfileDelete.c.

VOID SelectUserToModify ( VOID  )

Display user select form; can select a user to modify.

Display user select form, cab select a user to modify.

Definition at line 24 of file UserProfileModify.c.


Variable Documentation

Definition at line 24 of file UserProfileManager.c.

Definition at line 20 of file IScsiConfig.c.

Definition at line 23 of file UserProfileManager.c.

Definition at line 17 of file UserProfileModify.c.

Definition at line 22 of file UserProfileManager.c.

Definition at line 21 of file UserProfileManager.c.

Definition at line 25 of file UserProfileManager.c.

Definition at line 41 of file Expression.c.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines