ReactOS 0.4.15-dev-7924-g5949c20
subauth.h
Go to the documentation of this file.
1#ifndef _SUBAUTH_H
2#define _SUBAUTH_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7#ifndef NT_SUCCESS
8#define NT_SUCCESS(x) ((x)>=0)
9#define STATUS_SUCCESS 0
10#endif
11#define CYPHER_BLOCK_LENGTH 8
12#define USER_SESSION_KEY_LENGTH (CYPHER_BLOCK_LENGTH*2)
13#define CLEAR_BLOCK_LENGTH 8
14#define MSV1_0_PASSTHRU 1
15#define MSV1_0_GUEST_LOGON 2
16#define MSV1_0_VALIDATION_LOGOFF_TIME 1
17#define MSV1_0_VALIDATION_KICKOFF_TIME 2
18#define MSV1_0_VALIDATION_LOGON_SERVER 4
19#define MSV1_0_VALIDATION_LOGON_DOMAIN 8
20#define MSV1_0_VALIDATION_SESSION_KEY 16
21#define MSV1_0_VALIDATION_USER_FLAGS 32
22#define MSV1_0_VALIDATION_USER_ID 64
23#define MSV1_0_SUBAUTH_ACCOUNT_DISABLED 1
24#define MSV1_0_SUBAUTH_PASSWORD 2
25#define MSV1_0_SUBAUTH_WORKSTATIONS 4
26#define MSV1_0_SUBAUTH_LOGON_HOURS 8
27#define MSV1_0_SUBAUTH_ACCOUNT_EXPIRY 16
28#define MSV1_0_SUBAUTH_PASSWORD_EXPIRY 32
29#define MSV1_0_SUBAUTH_ACCOUNT_TYPE 64
30#define MSV1_0_SUBAUTH_LOCKOUT 128
31#define NEXT_FREE_ACCOUNT_CONTROL_BIT 131072
32#define SAM_DAYS_PER_WEEK 7
33#define SAM_HOURS_PER_WEEK 168
34#define SAM_MINUTES_PER_WEEK 10080
35#define STATUS_INVALID_INFO_CLASS 0xC0000003L
36#define STATUS_NO_SUCH_USER 0xC0000064L
37#define STATUS_WRONG_PASSWORD 0xC000006AL
38#define STATUS_PASSWORD_RESTRICTION 0xC000006CL
39#define STATUS_LOGON_FAILURE 0xC000006DL
40#define STATUS_ACCOUNT_RESTRICTION 0xC000006EL
41#define STATUS_INVALID_LOGON_HOURS 0xC000006FL
42#define STATUS_INVALID_WORKSTATION 0xC0000070L
43#define STATUS_PASSWORD_EXPIRED 0xC0000071L
44#define STATUS_ACCOUNT_DISABLED 0xC0000072L
45#define STATUS_INSUFFICIENT_RESOURCES 0xC000009AL
46#define STATUS_ACCOUNT_EXPIRED 0xC0000193L
47#define STATUS_PASSWORD_MUST_CHANGE 0xC0000224L
48#define STATUS_ACCOUNT_LOCKED_OUT 0xC0000234L
49#define USER_ACCOUNT_DISABLED 1
50#define USER_HOME_DIRECTORY_REQUIRED 2
51#define USER_PASSWORD_NOT_REQUIRED 4
52#define USER_TEMP_DUPLICATE_ACCOUNT 8
53#define USER_NORMAL_ACCOUNT 16
54#define USER_MNS_LOGON_ACCOUNT 32
55#define USER_INTERDOMAIN_TRUST_ACCOUNT 64
56#define USER_WORKSTATION_TRUST_ACCOUNT 128
57#define USER_SERVER_TRUST_ACCOUNT 256
58#define USER_DONT_EXPIRE_PASSWORD 512
59#define USER_ACCOUNT_AUTO_LOCKED 1024
60#define USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED 2048
61#define USER_SMARTCARD_REQUIRED 4096
62#define USER_TRUSTED_FOR_DELEGATION 8192
63#define USER_NOT_DELEGATED 16384
64#define USER_USE_DES_KEY_ONLY 32768
65#define USER_DONT_REQUIRE_PREAUTH 65536
66#define USER_MACHINE_ACCOUNT_MASK 448
67#define USER_ACCOUNT_TYPE_MASK 472
68#define USER_ALL_PARAMETERS 2097152
69#if !defined(_NTDEF_H) && !defined(_NTSECAPI_H)
71typedef struct _UNICODE_STRING {
76typedef struct _STRING {
81#endif
83typedef struct _OLD_LARGE_INTEGER {
93typedef struct _CYPHER_BLOCK {
96typedef struct _CLEAR_BLOCK {
99typedef struct _LM_OWF_PASSWORD {
102typedef struct _USER_SESSION_KEY {
108typedef struct _LOGON_HOURS {
112typedef struct _SR_SECURITY_DESCRIPTOR {
116#pragma pack(push,4)
117typedef struct _USER_ALL_INFORMATION {
152#pragma pack(pop)
203#ifdef __cplusplus
204}
205#endif
206#endif /* _SUBAUTH_H */
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
Definition: bufpool.h:45
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
PUCHAR LogonHours
Definition: ntsam.h:503
USHORT UnitsPerWeek
Definition: ntsam.h:502
LARGE_INTEGER KickoffTime
Definition: subauth.h:155
USER_SESSION_KEY SessionKey
Definition: subauth.h:158
LARGE_INTEGER LogoffTime
Definition: subauth.h:154
UNICODE_STRING LogonServer
Definition: subauth.h:156
UNICODE_STRING LogonDomainName
Definition: subauth.h:157
UNICODE_STRING PackageName
Definition: subauth.h:178
NETLOGON_LOGON_IDENTITY_INFO Identity
Definition: subauth.h:177
NT_OWF_PASSWORD NtOwfPassword
Definition: subauth.h:174
NETLOGON_LOGON_IDENTITY_INFO Identity
Definition: subauth.h:172
LM_OWF_PASSWORD LmOwfPassword
Definition: subauth.h:173
UNICODE_STRING UserName
Definition: subauth.h:168
OLD_LARGE_INTEGER LogonId
Definition: subauth.h:167
UNICODE_STRING LogonDomainName
Definition: subauth.h:165
UNICODE_STRING Workstation
Definition: subauth.h:169
LM_CHALLENGE LmChallenge
Definition: subauth.h:184
STRING NtChallengeResponse
Definition: subauth.h:185
STRING LmChallengeResponse
Definition: subauth.h:186
NETLOGON_LOGON_IDENTITY_INFO Identity
Definition: subauth.h:183
NT_OWF_PASSWORD NtOwfPassword
Definition: subauth.h:191
NETLOGON_LOGON_IDENTITY_INFO Identity
Definition: subauth.h:189
LM_OWF_PASSWORD LmOwfPassword
Definition: subauth.h:190
PUCHAR SecurityDescriptor
Definition: ntsam.h:509
USHORT MaximumLength
Definition: env_spec_w32.h:370
ULONG PrimaryGroupId
Definition: ntsam.h:707
UNICODE_STRING ProfilePath
Definition: ntsam.h:697
UNICODE_STRING HomeDirectory
Definition: ntsam.h:694
UNICODE_STRING FullName
Definition: ntsam.h:693
BOOLEAN PrivateDataSensitive
Definition: ntsam.h:718
LARGE_INTEGER AccountExpires
Definition: ntsam.h:689
LARGE_INTEGER PasswordMustChange
Definition: ntsam.h:691
USHORT CountryCode
Definition: ntsam.h:713
LOGON_HOURS LogonHours
Definition: ntsam.h:710
UNICODE_STRING UserComment
Definition: ntsam.h:700
LARGE_INTEGER PasswordLastSet
Definition: ntsam.h:688
UNICODE_STRING AdminComment
Definition: ntsam.h:698
ULONG UserAccountControl
Definition: ntsam.h:708
BOOLEAN LmPasswordPresent
Definition: ntsam.h:715
LARGE_INTEGER PasswordCanChange
Definition: ntsam.h:690
UNICODE_STRING ScriptPath
Definition: ntsam.h:696
LARGE_INTEGER LastLogon
Definition: ntsam.h:686
UNICODE_STRING Parameters
Definition: ntsam.h:701
USHORT BadPasswordCount
Definition: ntsam.h:711
UNICODE_STRING WorkStations
Definition: ntsam.h:699
BOOLEAN PasswordExpired
Definition: ntsam.h:717
UNICODE_STRING LmPassword
Definition: ntsam.h:702
LARGE_INTEGER LastLogoff
Definition: ntsam.h:687
UNICODE_STRING NtPassword
Definition: ntsam.h:703
UNICODE_STRING PrivateData
Definition: ntsam.h:704
BOOLEAN NtPasswordPresent
Definition: ntsam.h:716
UNICODE_STRING HomeDirectoryDrive
Definition: ntsam.h:695
UNICODE_STRING UserName
Definition: ntsam.h:692
SR_SECURITY_DESCRIPTOR SecurityDescriptor
Definition: ntsam.h:705
CLEAR_BLOCK * PLM_CHALLENGE
Definition: subauth.h:105
struct _SR_SECURITY_DESCRIPTOR * PSR_SECURITY_DESCRIPTOR
struct _SR_SECURITY_DESCRIPTOR SR_SECURITY_DESCRIPTOR
struct _NETLOGON_LOGON_IDENTITY_INFO * PNETLOGON_LOGON_IDENTITY_INFO
struct _CLEAR_BLOCK CLEAR_BLOCK
#define CLEAR_BLOCK_LENGTH
Definition: subauth.h:13
struct _STRING * PSTRING
struct _LOGON_HOURS LOGON_HOURS
NTSTATUS NTAPI Msv1_0SubAuthenticationRoutine(NETLOGON_LOGON_INFO_CLASS, PVOID, ULONG, PUSER_ALL_INFORMATION, PULONG, PULONG, PBOOLEAN, PLARGE_INTEGER, PLARGE_INTEGER)
struct _CLEAR_BLOCK * PCLEAR_BLOCK
struct _NETLOGON_NETWORK_INFO * PNETLOGON_NETWORK_INFO
struct _NETLOGON_SERVICE_INFO NETLOGON_SERVICE_INFO
struct _NETLOGON_SERVICE_INFO * PNETLOGON_SERVICE_INFO
LM_CHALLENGE * PNT_CHALLENGE
Definition: subauth.h:107
LONG * PNTSTATUS
Definition: subauth.h:70
struct _USER_SESSION_KEY * PUSER_SESSION_KEY
struct _MSV1_0_VALIDATION_INFO MSV1_0_VALIDATION_INFO
struct _USER_ALL_INFORMATION USER_ALL_INFORMATION
PVOID SAM_HANDLE
Definition: subauth.h:82
LM_OWF_PASSWORD * PNT_OWF_PASSWORD
Definition: subauth.h:106
enum _NETLOGON_LOGON_INFO_CLASS NETLOGON_LOGON_INFO_CLASS
LM_OWF_PASSWORD NT_OWF_PASSWORD
Definition: subauth.h:106
NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineGeneric(PVOID, ULONG, PULONG, PVOID *)
#define CYPHER_BLOCK_LENGTH
Definition: subauth.h:11
struct _CYPHER_BLOCK CYPHER_BLOCK
LONG NTSTATUS
Definition: subauth.h:70
struct _MSV1_0_VALIDATION_INFO * PMSV1_0_VALIDATION_INFO
_NETLOGON_LOGON_INFO_CLASS
Definition: subauth.h:87
@ NetlogonGenericInformation
Definition: subauth.h:89
@ NetlogonNetworkTransitiveInformation
Definition: subauth.h:90
@ NetlogonInteractiveInformation
Definition: subauth.h:88
@ NetlogonInteractiveTransitiveInformation
Definition: subauth.h:90
@ NetlogonServiceTransitiveInformation
Definition: subauth.h:91
@ NetlogonNetworkInformation
Definition: subauth.h:88
@ NetlogonServiceInformation
Definition: subauth.h:89
struct _OLD_LARGE_INTEGER OLD_LARGE_INTEGER
struct _OLD_LARGE_INTEGER * POLD_LARGE_INTEGER
NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS, PVOID, ULONG, PUSER_ALL_INFORMATION, SAM_HANDLE, PMSV1_0_VALIDATION_INFO, PULONG)
struct _NETLOGON_GENERIC_INFO * PNETLOGON_GENERIC_INFO
struct _UNICODE_STRING * PUNICODE_STRING
struct _CYPHER_BLOCK * PCYPHER_BLOCK
struct _USER_SESSION_KEY USER_SESSION_KEY
struct _LM_OWF_PASSWORD LM_OWF_PASSWORD
struct _NETLOGON_NETWORK_INFO NETLOGON_NETWORK_INFO
LM_CHALLENGE NT_CHALLENGE
Definition: subauth.h:107
struct _LOGON_HOURS * PLOGON_HOURS
struct _UNICODE_STRING UNICODE_STRING
struct _STRING STRING
struct _NETLOGON_INTERACTIVE_INFO * PNETLOGON_INTERACTIVE_INFO
struct _NETLOGON_LOGON_IDENTITY_INFO NETLOGON_LOGON_IDENTITY_INFO
PVOID * PSAM_HANDLE
Definition: subauth.h:82
CLEAR_BLOCK LM_CHALLENGE
Definition: subauth.h:105
struct _LM_OWF_PASSWORD * PLM_OWF_PASSWORD
struct _NETLOGON_INTERACTIVE_INFO NETLOGON_INTERACTIVE_INFO
struct _NETLOGON_GENERIC_INFO NETLOGON_GENERIC_INFO
struct _USER_ALL_INFORMATION * PUSER_ALL_INFORMATION
NTSTATUS NTAPI Msv1_0SubAuthenticationFilter(NETLOGON_LOGON_INFO_CLASS, PVOID, ULONG, PUSER_ALL_INFORMATION, PULONG, PULONG, PBOOLEAN, PLARGE_INTEGER, PLARGE_INTEGER)
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
char CHAR
Definition: xmlstorage.h:175