17#ifndef __USER_MANAGER_H__
18#define __USER_MANAGER_H__
23#define EFI_USER_MANAGER_PROTOCOL_GUID \
25 0x6fd5b00c, 0xd426, 0x4283, { 0x98, 0x87, 0x6c, 0xf5, 0xcf, 0x1c, 0xb1, 0xfe } \
28#define EFI_EVENT_GROUP_USER_PROFILE_CHANGED \
30 0xbaf1e6de, 0x209e, 0x4adb, { 0x8d, 0x96, 0xfd, 0x8b, 0x71, 0xf3, 0xf6, 0x83 } \
40#define EFI_USER_INFO_STORAGE 0x000F
41#define EFI_USER_INFO_STORAGE_VOLATILE 0x0000
42#define EFI_USER_INFO_STORAGE_CREDENTIAL_NV 0x0001
43#define EFI_USER_INFO_STORAGE_PLATFORM_NV 0x0002
45#define EFI_USER_INFO_ACCESS 0x0070
46#define EFI_USER_INFO_PUBLIC 0x0010
47#define EFI_USER_INFO_PRIVATE 0x0020
48#define EFI_USER_INFO_PROTECTED 0x0030
49#define EFI_USER_INFO_EXCLUSIVE 0x0080
81#define EFI_USER_CREDENTIAL_CLASS_UNKNOWN \
82 { 0x5cf32e68, 0x7660, 0x449b, { 0x80, 0xe6, 0x7e, 0xa3, 0x6e, 0x3, 0xf6, 0xa8 } }
83#define EFI_USER_CREDENTIAL_CLASS_PASSWORD \
84 { 0xf8e5058c, 0xccb6, 0x4714, { 0xb2, 0x20, 0x3f, 0x7e, 0x3a, 0x64, 0xb, 0xd1 } }
85#define EFI_USER_CREDENTIAL_CLASS_SMART_CARD \
86 { 0x5f03ba33, 0x8c6b, 0x4c24, { 0xaa, 0x2e, 0x14, 0xa2, 0x65, 0x7b, 0xd4, 0x54 } }
87#define EFI_USER_CREDENTIAL_CLASS_FINGERPRINT \
88 { 0x32cba21f, 0xf308, 0x4cbc, { 0x9a, 0xb5, 0xf5, 0xa3, 0x69, 0x9f, 0x4, 0x4a } }
89#define EFI_USER_CREDENTIAL_CLASS_HANDPRINT \
90 { 0x5917ef16, 0xf723, 0x4bb9, { 0xa6, 0x4b, 0xd8, 0xc5, 0x32, 0xf4, 0xd8, 0xb5 } }
91#define EFI_USER_CREDENTIAL_CLASS_SECURE_CARD \
92 { 0x8a6b4a83, 0x42fe, 0x45d2, { 0xa2, 0xef, 0x46, 0xf0, 0x6c, 0x7d, 0x98, 0x52 } }
95#define EFI_CREDENTIAL_CAPABILITIES_ENROLL 0x0000000000000001
101#define EFI_CREDENTIAL_LOGON_FLAG_AUTO 0x00000001
102#define EFI_CREDENTIAL_LOGON_FLAG_DEFAULT 0x00000002
111#define EFI_USER_INFO_EMPTY_RECORD 0x00
115#define EFI_USER_INFO_NAME_RECORD 0x01
120#define EFI_USER_INFO_CREATE_DATE_RECORD 0x02
125#define EFI_USER_INFO_USAGE_DATE_RECORD 0x03
130#define EFI_USER_INFO_USAGE_COUNT_RECORD 0x04
135#define EFI_USER_INFO_IDENTIFIER_RECORD 0x05
140#define EFI_USER_INFO_CREDENTIAL_TYPE_RECORD 0x06
145#define EFI_USER_INFO_CREDENTIAL_TYPE_NAME_RECORD 0x07
150#define EFI_USER_INFO_CREDENTIAL_PROVIDER_RECORD 0x08
155#define EFI_USER_INFO_CREDENTIAL_PROVIDER_NAME_RECORD 0x09
160#define EFI_USER_INFO_PKCS11_RECORD 0x0A
165#define EFI_USER_INFO_CBEFF_RECORD 0x0B
170#define EFI_USER_INFO_FAR_RECORD 0x0C
176#define EFI_USER_INFO_RETRY_RECORD 0x0D
181#define EFI_USER_INFO_ACCESS_POLICY_RECORD 0x0E
198#define EFI_USER_INFO_ACCESS_FORBID_LOAD 0x00000001
206#define EFI_USER_INFO_ACCESS_PERMIT_LOAD 0x00000002
210#define EFI_USER_INFO_ACCESS_ENROLL_SELF 0x00000003
214#define EFI_USER_INFO_ACCESS_ENROLL_OTHERS 0x00000004
218#define EFI_USER_INFO_ACCESS_MANAGE 0x00000005
222#define EFI_USER_INFO_ACCESS_SETUP 0x00000006
226#define EFI_USER_INFO_ACCESS_SETUP_ADMIN_GUID \
227 { 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee } }
228#define EFI_USER_INFO_ACCESS_SETUP_NORMAL_GUID \
229 { 0x1db29ae0, 0x9dcb, 0x43bc, { 0x8d, 0x87, 0x5d, 0xa1, 0x49, 0x64, 0xdd, 0xe2 } }
230#define EFI_USER_INFO_ACCESS_SETUP_RESTRICTED_GUID \
231 { 0xbdb38125, 0x4d63, 0x49f4, { 0x82, 0x12, 0x61, 0xcf, 0x5a, 0x19, 0xa, 0xf8 } }
236#define EFI_USER_INFO_ACCESS_FORBID_CONNECT 0x00000007
240#define EFI_USER_INFO_ACCESS_PERMIT_CONNECT 0x00000008
244#define EFI_USER_INFO_ACCESS_BOOT_ORDER 0x00000009
247#define EFI_USER_INFO_ACCESS_BOOT_ORDER_MASK 0x0000000F
251#define EFI_USER_INFO_ACCESS_BOOT_ORDER_INSERT 0x00000000
255#define EFI_USER_INFO_ACCESS_BOOT_ORDER_APPEND 0x00000001
259#define EFI_USER_INFO_ACCESS_BOOT_ORDER_REPLACE 0x00000002
264#define EFI_USER_INFO_ACCESS_BOOT_ORDER_NODEFAULT 0x00000010
269#define EFI_USER_INFO_IDENTITY_POLICY_RECORD 0x0F
279#define EFI_USER_INFO_IDENTITY_FALSE 0x00
280#define EFI_USER_INFO_IDENTITY_TRUE 0x01
281#define EFI_USER_INFO_IDENTITY_CREDENTIAL_TYPE 0x02
282#define EFI_USER_INFO_IDENTITY_CREDENTIAL_PROVIDER 0x03
283#define EFI_USER_INFO_IDENTITY_NOT 0x10
284#define EFI_USER_INFO_IDENTITY_AND 0x11
285#define EFI_USER_INFO_IDENTITY_OR 0x12
290#define EFI_USER_INFO_GUID_RECORD 0xFF
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define CONST
Definition Base.h:327
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_HANDLE
Definition UefiBaseType.h:37
UINT32 EFI_CREDENTIAL_LOGON_FLAGS
Definition UserManager.h:100
EFI_TIME EFI_USER_INFO_CREATE_DATE
Definition UserManager.h:121
EFI_GUID gEfiUserInfoAccessSetupNormalGuid
CHAR16 * EFI_USER_INFO_NAME
Definition UserManager.h:116
EFI_GUID gEfiEventUserProfileChangedGuid
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_FIND)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN OUT EFI_USER_PROFILE_HANDLE *User, IN OUT EFI_USER_INFO_HANDLE *UserInfo OPTIONAL, IN CONST EFI_USER_INFO *Info, IN UINTN InfoSize)
Definition UserManager.h:437
EFI_USER_INFO_ACCESS_CONTROL EFI_USER_INFO_ACCESS_POLICY
Definition UserManager.h:188
EFI_GUID gEfiUserInfoAccessSetupRestrictedGuid
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_SET_INFO)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN EFI_USER_PROFILE_HANDLE User, IN OUT EFI_USER_INFO_HANDLE *UserInfo, IN CONST EFI_USER_INFO *Info, IN UINTN InfoSize)
Definition UserManager.h:543
EFI_GUID gEfiUserManagerProtocolGuid
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_CURRENT)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, OUT EFI_USER_PROFILE_HANDLE *CurrentUser)
Definition UserManager.h:378
EFI_GUID gEfiUserCredentialClassHandprintGuid
UINT8 EFI_USER_INFO_FAR
Definition UserManager.h:171
EFI_GUID EFI_USER_INFO_CREDENTIAL_PROVIDER
Definition UserManager.h:151
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_IDENTIFY)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, OUT EFI_USER_PROFILE_HANDLE *User)
Definition UserManager.h:401
EFI_GUID gEfiUserCredentialClassFingerprintGuid
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_DELETE_INFO)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN EFI_USER_PROFILE_HANDLE User, IN EFI_USER_INFO_HANDLE UserInfo)
Definition UserManager.h:566
EFI_GUID gEfiUserInfoAccessSetupAdminGuid
UINT32 EFI_USER_INFO_ACCESS_BOOT_ORDER_HDR
Definition UserManager.h:245
EFI_TIME EFI_USER_INFO_USAGE_DATE
Definition UserManager.h:126
UINT64 EFI_CREDENTIAL_CAPABILITIES
Definition UserManager.h:94
UINT8 EFI_USER_INFO_IDENTIFIER[16]
Definition UserManager.h:136
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_GET_INFO)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN EFI_USER_PROFILE_HANDLE User, IN EFI_USER_INFO_HANDLE UserInfo, OUT EFI_USER_INFO *Info, IN OUT UINTN *InfoSize)
Definition UserManager.h:503
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_NOTIFY)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN EFI_HANDLE Changed)
Definition UserManager.h:469
EFI_GUID gEfiUserCredentialClassSecureCardGuid
EFI_GUID EFI_USER_INFO_GUID
Definition UserManager.h:291
UINT16 EFI_USER_INFO_ATTRIBS
Definition UserManager.h:39
CHAR16 * EFI_USER_INFO_CREDENTIAL_PROVIDER_NAME
Definition UserManager.h:156
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_GET_NEXT_INFO)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN EFI_USER_PROFILE_HANDLE User, IN OUT EFI_USER_INFO_HANDLE *UserInfo)
Definition UserManager.h:589
EFI_GUID EFI_USER_INFO_CREDENTIAL_TYPE
Definition UserManager.h:141
UINT8 EFI_USER_INFO_RETRY
Definition UserManager.h:177
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_GET_NEXT)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN OUT EFI_USER_PROFILE_HANDLE *User)
Definition UserManager.h:362
VOID * EFI_USER_INFO_CBEFF
Definition UserManager.h:166
EFI_GUID gEfiUserCredentialClassSmartCardGuid
VOID * EFI_USER_PROFILE_HANDLE
Definition UserManager.h:33
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_CREATE)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, OUT EFI_USER_PROFILE_HANDLE *User)
Definition UserManager.h:320
UINT64 EFI_USER_INFO_USAGE_COUNT
Definition UserManager.h:131
VOID * EFI_USER_INFO_HANDLE
Definition UserManager.h:34
EFI_GUID gEfiUserCredentialClassUnknownGuid
EFI_GUID gEfiUserCredentialClassPasswordGuid
EFI_STATUS(EFIAPI * EFI_USER_PROFILE_DELETE)(IN CONST EFI_USER_MANAGER_PROTOCOL *This, IN EFI_USER_PROFILE_HANDLE User)
Definition UserManager.h:339
CHAR16 * EFI_USER_INFO_CREDENTIAL_TYPE_NAME
Definition UserManager.h:146
#define VOID
Definition acefi.h:190
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition UefiBaseType.h:72
Definition UserManager.h:183
UINT32 Size
Specifies the size of the user access control record, in bytes, including this header.
Definition UserManager.h:185
UINT32 Type
Specifies the type of user access control.
Definition UserManager.h:184
Definition UserManager.h:271
UINT32 Type
Specifies either an operator or a data item.
Definition UserManager.h:272
UINT32 Length
The length of this block, in bytes, including this header.
Definition UserManager.h:273
Definition UserManager.h:297
UINT64 Size
Total size of the user information table, in bytes.
Definition UserManager.h:298
Definition UserManager.h:54
EFI_USER_INFO_ATTRIBS InfoAttribs
Definition UserManager.h:71
EFI_GUID Credential
Definition UserManager.h:59
UINT8 InfoType
Definition UserManager.h:63
UINT32 InfoSize
Definition UserManager.h:75
UINT8 Reserved1
Definition UserManager.h:67
Definition UserManager.h:598
EFI_USER_PROFILE_CURRENT Current
Definition UserManager.h:602
EFI_USER_PROFILE_NOTIFY Notify
Definition UserManager.h:605
EFI_USER_PROFILE_SET_INFO SetInfo
Definition UserManager.h:607
EFI_USER_PROFILE_IDENTIFY Identify
Definition UserManager.h:603
EFI_USER_PROFILE_DELETE_INFO DeleteInfo
Definition UserManager.h:608
EFI_USER_PROFILE_FIND Find
Definition UserManager.h:604
EFI_USER_PROFILE_CREATE Create
Definition UserManager.h:599
EFI_USER_PROFILE_GET_NEXT GetNext
Definition UserManager.h:601
EFI_USER_PROFILE_GET_INFO GetInfo
Definition UserManager.h:606
EFI_USER_PROFILE_GET_NEXT_INFO GetNextInfo
Definition UserManager.h:609
EFI_USER_PROFILE_DELETE Delete
Definition UserManager.h:600