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_MAX_LOGON_PROCESS_NAME_LENGTH 127
18 #define LSASS_REQUEST_REGISTER_LOGON_PROCESS (1)
19 #define LSASS_REQUEST_CALL_AUTHENTICATION_PACKAGE (2)
20 #define LSASS_REQUEST_DEREGISTER_LOGON_PROCESS (3)
21 #define LSASS_REQUEST_LOGON_USER (4)
22 #define LSASS_REQUEST_LOOKUP_AUTHENTICATION_PACKAGE (5)
23 #define LSASS_REQUEST_MAXIMUM (6)
25 typedef struct _LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
27 ULONG PackageNameLength
;
29 } LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
,
30 *PLSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
;
32 typedef struct _LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
35 } LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
,
36 *PLSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
;
38 typedef struct _LSASS_DEREGISTER_LOGON_PROCESS_REQUEST
41 } LSASS_DEREGISTER_LOGON_PROCESS_REQUEST
,
42 *PLSASS_DEREGISTER_LOGON_PROCES_REQUEST
;
44 typedef struct _LSASS_DEREGISTER_LOGON_PROCESS_REPLY
47 } LSASS_DEREGISTER_LOGON_PROCESS_REPLY
,
48 *PLSASS_DEREGISTER_LOGON_PROCESS_REPLY
;
50 typedef struct _LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
52 ULONG AuthenticationPackage
;
55 } LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
,
56 *PLSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
;
58 typedef struct _LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
60 ULONG OutBufferLength
;
62 } LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
,
63 *PLSASS_CALL_AUTHENTICATION_PACKAGE_REPLY
;
65 typedef struct _LSASS_LOGON_USER_REQUEST
67 ULONG OriginNameLength
;
69 SECURITY_LOGON_TYPE LogonType
;
70 ULONG AuthenticationPackage
;
71 PVOID AuthenticationInformation
;
72 ULONG AuthenticationInformationLength
;
73 ULONG LocalGroupsCount
;
74 PSID_AND_ATTRIBUTES LocalGroups
;
75 TOKEN_SOURCE SourceContext
;
77 } LSASS_LOGON_USER_REQUEST
, *PLSASS_LOGON_USER_REQUEST
;
79 typedef struct _LSASS_LOGON_USER_REPLY
82 ULONG ProfileBufferLength
;
88 } LSASS_LOGON_USER_REPLY
, *PLSASS_LOGON_USER_REPLY
;
90 typedef struct _LSASS_REGISTER_LOGON_PROCESS_REQUEST
93 WCHAR LogonProcessNameBuffer
[127];
94 } LSASS_REGISTER_LOGON_PROCESS_REQUEST
, *PLSASS_REGISTER_LOGON_PROCESS_REQUEST
;
96 typedef struct _LSASS_REGISTER_LOGON_PROCESS_REPLY
98 LSA_OPERATIONAL_MODE OperationalMode
;
99 } LSASS_REGISTER_LOGON_PROCESS_REPLY
, *PLSASS_REGISTER_LOGON_PROCESS_REPLY
;
102 typedef struct _LSASS_CONNECT_DATA
105 LSA_OPERATIONAL_MODE OperationalMode
;
107 CHAR LogonProcessNameBuffer
[LSASS_MAX_LOGON_PROCESS_NAME_LENGTH
+ 1];
108 } LSASS_CONNECT_DATA
, *PLSASS_CONNECT_DATA
;
111 typedef union _LSASS_REQUEST
115 UCHAR LpcHeader
[sizeof(PORT_MESSAGE
)];
119 LSASS_REGISTER_LOGON_PROCESS_REQUEST RegisterLogonProcessRequest
;
120 LSASS_LOGON_USER_REQUEST LogonUserRequest
;
121 LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
122 CallAuthenticationPackageRequest
;
123 LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessRequest
;
124 LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
125 LookupAuthenticationPackageRequest
;
128 } LSASS_REQUEST
, *PLSASS_REQUEST
;
130 typedef struct _LSASS_REPLY
136 LSASS_REGISTER_LOGON_PROCESS_REPLY RegisterLogonProcessReply
;
137 LSASS_LOGON_USER_REPLY LogonUserReply
;
138 LSASS_CALL_AUTHENTICATION_PACKAGE_REPLY CallAuthenticationPackageReply
;
139 LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessReply
;
140 LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REPLY
141 LookupAuthenticationPackageReply
;
143 } LSASS_REPLY
, *PLSASS_REPLY
;
145 #endif /* __INCLUDE_LSASS_LSASS_H */