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
39 } LSASS_DEREGISTER_LOGON_PROCESS_REQUEST
,
40 *PLSASS_DEREGISTER_LOGON_PROCES_REQUEST
;
42 typedef struct _LSASS_DEREGISTER_LOGON_PROCESS_REPLY
45 } LSASS_DEREGISTER_LOGON_PROCESS_REPLY
,
46 *PLSASS_DEREGISTER_LOGON_PROCESS_REPLY
;
48 typedef struct _LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
50 ULONG AuthenticationPackage
;
53 } LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
,
54 *PLSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
;
56 typedef struct _LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
58 ULONG OutBufferLength
;
60 } LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
,
61 *PLSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
;
63 typedef struct _LSASS_LOGON_USER_REQUEST
65 ULONG OriginNameLength
;
67 SECURITY_LOGON_TYPE LogonType
;
68 ULONG AuthenticationPackage
;
69 PVOID AuthenticationInformation
;
70 ULONG AuthenticationInformationLength
;
71 ULONG LocalGroupsCount
;
72 PSID_AND_ATTRIBUTES LocalGroups
;
73 TOKEN_SOURCE SourceContext
;
75 } LSASS_LOGON_USER_REQUEST
, *PLSASS_LOGON_USER_REQUEST
;
77 typedef struct _LSASS_LOGON_USER_REPLY
80 ULONG ProfileBufferLength
;
86 } LSASS_LOGON_USER_REPLY
, *PLSASS_LOGON_USER_REPLY
;
88 typedef struct _LSASS_REGISTER_LOGON_PROCESS_REQUEST
91 WCHAR LogonProcessNameBuffer
[127];
92 } LSASS_REGISTER_LOGON_PROCESS_REQUEST
, *PLSASS_REGISTER_LOGON_PROCESS_REQUEST
;
94 typedef struct _LSASS_REGISTER_LOGON_PROCESS_REPLY
96 LSA_OPERATIONAL_MODE OperationalMode
;
97 } LSASS_REGISTER_LOGON_PROCESS_REPLY
, *PLSASS_REGISTER_LOGON_PROCESS_REPLY
;
99 typedef union _LSASS_REQUEST
103 UCHAR LpcHeader
[sizeof(PORT_MESSAGE
)];
107 LSASS_REGISTER_LOGON_PROCESS_REQUEST RegisterLogonProcessRequest
;
108 LSASS_LOGON_USER_REQUEST LogonUserRequest
;
109 LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
110 CallAuthenticationPackageRequest
;
111 LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessRequest
;
112 LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
113 LookupAuthenticationPackageRequest
;
116 } LSASS_REQUEST
, *PLSASS_REQUEST
;
118 typedef struct _LSASS_REPLY
124 LSASS_REGISTER_LOGON_PROCESS_REPLY RegisterLogonProcessReply
;
125 LSASS_LOGON_USER_REPLY LogonUserReply
;
126 LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY CallAuthenticationPackageReply
;
127 LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessReply
;
128 LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
129 LookupAuthenticationPackageReply
;
131 } LSASS_REPLY
, *PLSASS_REPLY
;
133 #endif /* __INCLUDE_LSASS_LSASS_H */