2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: include/lsass/lsass.h
5 * PURPOSE: LSASS API declarations
10 #ifndef __INCLUDE_LSASS_LSASS_H
11 #define __INCLUDE_LSASS_LSASS_H
15 #define LSASS_MAX_LOGON_PROCESS_NAME_LENGTH 127
16 #define LSASS_MAX_PACKAGE_NAME_LENGTH 127
18 typedef enum _LSA_API_NUMBER
20 LSASS_REQUEST_CALL_AUTHENTICATION_PACKAGE
,
21 LSASS_REQUEST_DEREGISTER_LOGON_PROCESS
,
22 LSASS_REQUEST_LOGON_USER
,
23 LSASS_REQUEST_LOOKUP_AUTHENTICATION_PACKAGE
,
24 LSASS_REQUEST_ENUM_LOGON_SESSIONS
,
26 } LSA_API_NUMBER
, *PLSA_API_NUMBER
;
29 typedef struct _LSA_CONNECTION_INFO
32 LSA_OPERATIONAL_MODE OperationalMode
;
34 CHAR LogonProcessNameBuffer
[LSASS_MAX_LOGON_PROCESS_NAME_LENGTH
+ 1];
36 } LSA_CONNECTION_INFO
, *PLSA_CONNECTION_INFO
;
39 typedef struct _LSA_LOGON_USER_MSG
45 LSA_STRING OriginName
;
46 SECURITY_LOGON_TYPE LogonType
;
47 ULONG AuthenticationPackage
;
48 PVOID AuthenticationInformation
;
49 ULONG AuthenticationInformationLength
;
50 PTOKEN_GROUPS LocalGroups
;
51 ULONG LocalGroupsCount
;
52 TOKEN_SOURCE SourceContext
;
58 ULONG ProfileBufferLength
;
65 } LSA_LOGON_USER_MSG
, *PLSA_LOGON_USER_MSG
;
68 typedef struct _LSA_CALL_AUTHENTICATION_PACKAGE_MSG
74 ULONG AuthenticationPackage
;
75 PVOID ProtocolSubmitBuffer
;
76 ULONG SubmitBufferLength
;
80 PVOID ProtocolReturnBuffer
;
81 ULONG ReturnBufferLength
;
82 NTSTATUS ProtocolStatus
;
85 } LSA_CALL_AUTHENTICATION_PACKAGE_MSG
, *PLSA_CALL_AUTHENTICATION_PACKAGE_MSG
;
88 typedef struct _LSA_DEREGISTER_LOGON_PROCESS_MSG
101 } LSA_DEREGISTER_LOGON_PROCESS_MSG
, *PLSA_DEREGISTER_LOGON_PROCESS_MSG
;
104 typedef struct _LSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG
110 ULONG PackageNameLength
;
111 CHAR PackageName
[LSASS_MAX_PACKAGE_NAME_LENGTH
+ 1];
118 } LSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG
, *PLSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG
;
121 typedef struct _LSA_ENUM_LOGON_SESSIONS_MSG
131 ULONG LogonSessionCount
;
132 ULONG LogonSessionBufferLength
;
133 PVOID LogonSessionBuffer
;
136 } LSA_ENUM_LOGON_SESSIONS_MSG
, *PLSA_ENUM_LOGON_SESSIONS_MSG
;
139 typedef struct _LSA_API_MSG
144 LSA_CONNECTION_INFO ConnectInfo
;
147 LSA_API_NUMBER ApiNumber
;
151 LSA_LOGON_USER_MSG LogonUser
;
152 LSA_CALL_AUTHENTICATION_PACKAGE_MSG CallAuthenticationPackage
;
153 LSA_DEREGISTER_LOGON_PROCESS_MSG DeregisterLogonProcess
;
154 LSA_LOOKUP_AUTHENTICATION_PACKAGE_MSG LookupAuthenticationPackage
;
155 LSA_ENUM_LOGON_SESSIONS_MSG EnumLogonSessions
;
159 } LSA_API_MSG
, *PLSA_API_MSG
;
161 #define LSA_PORT_DATA_SIZE(c) (sizeof(ULONG)+sizeof(NTSTATUS)+sizeof(c))
162 #define LSA_PORT_MESSAGE_SIZE (sizeof(LSA_API_MSG))
164 #endif /* __INCLUDE_LSASS_LSASS_H */