3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS system libraries
5 * FILE: include/lsass/lsass.h
6 * PURPOSE: LSASS API declarations
11 #ifndef __INCLUDE_LSASS_LSASS_H
12 #define __INCLUDE_LSASS_LSASS_H
16 #define LSASS_REQUEST_REGISTER_LOGON_PROCESS (1)
17 #define LSASS_REQUEST_CALL_AUTHENTICATION_PACKAGE (2)
18 #define LSASS_REQUEST_DEREGISTER_LOGON_PROCESS (3)
19 #define LSASS_REQUEST_LOGON_USER (4)
20 #define LSASS_REQUEST_LOOKUP_AUTHENTICATION_PACKAGE (5)
21 #define LSASS_REQUEST_MAXIMUM (6)
23 typedef struct _LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
25 ULONG PackageNameLength
;
27 } LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
,
28 *PLSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
;
30 typedef struct _LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
33 } LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
,
34 *PLSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
;
36 typedef struct _LSASS_DEREGISTER_LOGON_PROCESS_REQUEST
38 } LSASS_DEREGISTER_LOGON_PROCESS_REQUEST
,
39 *PLSASS_DEREGISTER_LOGON_PROCES_REQUEST
;
41 typedef struct _LSASS_DEREGISTER_LOGON_PROCESS_REPLY
43 } LSASS_DEREGISTER_LOGON_PROCESS_REPLY
,
44 *PLSASS_DEREGISTER_LOGON_PROCESS_REPLY
;
46 typedef struct _LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
48 ULONG AuthenticationPackage
;
51 } LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
,
52 *PLSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
;
54 typedef struct _LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
56 ULONG OutBufferLength
;
58 } LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
,
59 *PLSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
;
61 typedef struct _LSASS_LOGON_USER_REQUEST
63 ULONG OriginNameLength
;
65 SECURITY_LOGON_TYPE LogonType
;
66 ULONG AuthenticationPackage
;
67 PVOID AuthenticationInformation
;
68 ULONG AuthenticationInformationLength
;
69 ULONG LocalGroupsCount
;
70 PSID_AND_ATTRIBUTES LocalGroups
;
71 TOKEN_SOURCE SourceContext
;
73 } LSASS_LOGON_USER_REQUEST
, *PLSASS_LOGON_USER_REQUEST
;
75 typedef struct _LSASS_LOGON_USER_REPLY
78 ULONG ProfileBufferLength
;
84 } LSASS_LOGON_USER_REPLY
, *PLSASS_LOGON_USER_REPLY
;
86 typedef struct _LSASS_REGISTER_LOGON_PROCESS_REQUEST
89 WCHAR LogonProcessNameBuffer
[127];
90 } LSASS_REGISTER_LOGON_PROCESS_REQUEST
, *PLSASS_REGISTER_LOGON_PROCESS_REQUEST
;
92 typedef struct _LSASS_REGISTER_LOGON_PROCESS_REPLY
94 LSA_OPERATIONAL_MODE OperationalMode
;
95 } LSASS_REGISTER_LOGON_PROCESS_REPLY
, *PLSASS_REGISTER_LOGON_PROCESS_REPLY
;
97 typedef union _LSASS_REQUEST
101 UCHAR LpcHeader
[sizeof(PORT_MESSAGE
)];
105 LSASS_REGISTER_LOGON_PROCESS_REQUEST RegisterLogonProcessRequest
;
106 LSASS_LOGON_USER_REQUEST LogonUserRequest
;
107 LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
108 CallAuthenticationPackageRequest
;
109 LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessRequest
;
110 LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
111 LookupAuthenticationPackageRequest
;
114 } LSASS_REQUEST
, *PLSASS_REQUEST
;
116 typedef struct _LSASS_REPLY
122 LSASS_REGISTER_LOGON_PROCESS_REPLY RegisterLogonProcessReply
;
123 LSASS_LOGON_USER_REPLY LogonUserReply
;
124 LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY CallAuthenticationPackageReply
;
125 LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessReply
;
126 LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
127 LookupAuthenticationPackageReply
;
129 } LSASS_REPLY
, *PLSASS_REPLY
;
131 #endif /* __INCLUDE_LSASS_LSASS_H */