Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygensubauth.h
Go to the documentation of this file.
00001 #ifndef _SUBAUTH_H 00002 #define _SUBAUTH_H 00003 00004 #ifdef __cplusplus 00005 extern "C" { 00006 #endif 00007 #ifndef NT_SUCCESS 00008 #define NT_SUCCESS(x) ((x)>=0) 00009 #define STATUS_SUCCESS 0 00010 #endif 00011 #define CYPHER_BLOCK_LENGTH 8 00012 #define USER_SESSION_KEY_LENGTH (CYPHER_BLOCK_LENGTH*2) 00013 #define CLEAR_BLOCK_LENGTH 8 00014 #define MSV1_0_PASSTHRU 1 00015 #define MSV1_0_GUEST_LOGON 2 00016 #define MSV1_0_VALIDATION_LOGOFF_TIME 1 00017 #define MSV1_0_VALIDATION_KICKOFF_TIME 2 00018 #define MSV1_0_VALIDATION_LOGON_SERVER 4 00019 #define MSV1_0_VALIDATION_LOGON_DOMAIN 8 00020 #define MSV1_0_VALIDATION_SESSION_KEY 16 00021 #define MSV1_0_VALIDATION_USER_FLAGS 32 00022 #define MSV1_0_VALIDATION_USER_ID 64 00023 #define MSV1_0_SUBAUTH_ACCOUNT_DISABLED 1 00024 #define MSV1_0_SUBAUTH_PASSWORD 2 00025 #define MSV1_0_SUBAUTH_WORKSTATIONS 4 00026 #define MSV1_0_SUBAUTH_LOGON_HOURS 8 00027 #define MSV1_0_SUBAUTH_ACCOUNT_EXPIRY 16 00028 #define MSV1_0_SUBAUTH_PASSWORD_EXPIRY 32 00029 #define MSV1_0_SUBAUTH_ACCOUNT_TYPE 64 00030 #define MSV1_0_SUBAUTH_LOCKOUT 128 00031 #define NEXT_FREE_ACCOUNT_CONTROL_BIT 131072 00032 #define SAM_DAYS_PER_WEEK 7 00033 #define SAM_HOURS_PER_WEEK 168 00034 #define SAM_MINUTES_PER_WEEK 10080 00035 #define STATUS_INVALID_INFO_CLASS 0xC0000003L 00036 #define STATUS_NO_SUCH_USER 0xC0000064L 00037 #define STATUS_WRONG_PASSWORD 0xC000006AL 00038 #define STATUS_PASSWORD_RESTRICTION 0xC000006CL 00039 #define STATUS_LOGON_FAILURE 0xC000006DL 00040 #define STATUS_ACCOUNT_RESTRICTION 0xC000006EL 00041 #define STATUS_INVALID_LOGON_HOURS 0xC000006FL 00042 #define STATUS_INVALID_WORKSTATION 0xC0000070L 00043 #define STATUS_PASSWORD_EXPIRED 0xC0000071L 00044 #define STATUS_ACCOUNT_DISABLED 0xC0000072L 00045 #define STATUS_INSUFFICIENT_RESOURCES 0xC000009AL 00046 #define STATUS_ACCOUNT_EXPIRED 0xC0000193L 00047 #define STATUS_PASSWORD_MUST_CHANGE 0xC0000224L 00048 #define STATUS_ACCOUNT_LOCKED_OUT 0xC0000234L 00049 #define USER_ACCOUNT_DISABLED 1 00050 #define USER_HOME_DIRECTORY_REQUIRED 2 00051 #define USER_PASSWORD_NOT_REQUIRED 4 00052 #define USER_TEMP_DUPLICATE_ACCOUNT 8 00053 #define USER_NORMAL_ACCOUNT 16 00054 #define USER_MNS_LOGON_ACCOUNT 32 00055 #define USER_INTERDOMAIN_TRUST_ACCOUNT 64 00056 #define USER_WORKSTATION_TRUST_ACCOUNT 128 00057 #define USER_SERVER_TRUST_ACCOUNT 256 00058 #define USER_DONT_EXPIRE_PASSWORD 512 00059 #define USER_ACCOUNT_AUTO_LOCKED 1024 00060 #define USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED 2048 00061 #define USER_SMARTCARD_REQUIRED 4096 00062 #define USER_TRUSTED_FOR_DELEGATION 8192 00063 #define USER_NOT_DELEGATED 16384 00064 #define USER_USE_DES_KEY_ONLY 32768 00065 #define USER_DONT_REQUIRE_PREAUTH 65536 00066 #define USER_MACHINE_ACCOUNT_MASK 448 00067 #define USER_ACCOUNT_TYPE_MASK 472 00068 #define USER_ALL_PARAMETERS 2097152 00069 #if !defined(_NTDEF_H) && !defined(_NTSECAPI_H) 00070 typedef LONG NTSTATUS, *PNTSTATUS; 00071 typedef struct _UNICODE_STRING { 00072 USHORT Length; 00073 USHORT MaximumLength; 00074 PWSTR Buffer; 00075 } UNICODE_STRING, *PUNICODE_STRING; 00076 typedef struct _STRING { 00077 USHORT Length; 00078 USHORT MaximumLength; 00079 PCHAR Buffer; 00080 } STRING, *PSTRING; 00081 #endif 00082 typedef PVOID SAM_HANDLE, *PSAM_HANDLE; 00083 typedef struct _OLD_LARGE_INTEGER { 00084 ULONG LowPart; 00085 LONG HighPart; 00086 } OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER; 00087 typedef enum _NETLOGON_LOGON_INFO_CLASS { 00088 NetlogonInteractiveInformation = 1,NetlogonNetworkInformation, 00089 NetlogonServiceInformation,NetlogonGenericInformation, 00090 NetlogonInteractiveTransitiveInformation,NetlogonNetworkTransitiveInformation, 00091 NetlogonServiceTransitiveInformation 00092 } NETLOGON_LOGON_INFO_CLASS; 00093 typedef struct _CYPHER_BLOCK { 00094 CHAR data[CYPHER_BLOCK_LENGTH]; 00095 } CYPHER_BLOCK, *PCYPHER_BLOCK; 00096 typedef struct _CLEAR_BLOCK { 00097 CHAR data[CLEAR_BLOCK_LENGTH]; 00098 } CLEAR_BLOCK, *PCLEAR_BLOCK; 00099 typedef struct _LM_OWF_PASSWORD { 00100 CYPHER_BLOCK data[2]; 00101 } LM_OWF_PASSWORD, *PLM_OWF_PASSWORD; 00102 typedef struct _USER_SESSION_KEY { 00103 CYPHER_BLOCK data[2]; 00104 } USER_SESSION_KEY, *PUSER_SESSION_KEY; 00105 typedef CLEAR_BLOCK LM_CHALLENGE, *PLM_CHALLENGE; 00106 typedef LM_OWF_PASSWORD NT_OWF_PASSWORD, *PNT_OWF_PASSWORD; 00107 typedef LM_CHALLENGE NT_CHALLENGE, *PNT_CHALLENGE; 00108 typedef struct _LOGON_HOURS { 00109 USHORT UnitsPerWeek; 00110 PUCHAR LogonHours; 00111 } LOGON_HOURS, *PLOGON_HOURS; 00112 typedef struct _SR_SECURITY_DESCRIPTOR { 00113 ULONG Length; 00114 PUCHAR SecurityDescriptor; 00115 } SR_SECURITY_DESCRIPTOR, *PSR_SECURITY_DESCRIPTOR; 00116 #pragma pack(push,4) 00117 typedef struct _USER_ALL_INFORMATION { 00118 LARGE_INTEGER LastLogon; 00119 LARGE_INTEGER LastLogoff; 00120 LARGE_INTEGER PasswordLastSet; 00121 LARGE_INTEGER AccountExpires; 00122 LARGE_INTEGER PasswordCanChange; 00123 LARGE_INTEGER PasswordMustChange; 00124 UNICODE_STRING UserName; 00125 UNICODE_STRING FullName; 00126 UNICODE_STRING HomeDirectory; 00127 UNICODE_STRING HomeDirectoryDrive; 00128 UNICODE_STRING ScriptPath; 00129 UNICODE_STRING ProfilePath; 00130 UNICODE_STRING AdminComment; 00131 UNICODE_STRING WorkStations; 00132 UNICODE_STRING UserComment; 00133 UNICODE_STRING Parameters; 00134 UNICODE_STRING LmPassword; 00135 UNICODE_STRING NtPassword; 00136 UNICODE_STRING PrivateData; 00137 SR_SECURITY_DESCRIPTOR SecurityDescriptor; 00138 ULONG UserId; 00139 ULONG PrimaryGroupId; 00140 ULONG UserAccountControl; 00141 ULONG WhichFields; 00142 LOGON_HOURS LogonHours; 00143 USHORT BadPasswordCount; 00144 USHORT LogonCount; 00145 USHORT CountryCode; 00146 USHORT CodePage; 00147 BOOLEAN LmPasswordPresent; 00148 BOOLEAN NtPasswordPresent; 00149 BOOLEAN PasswordExpired; 00150 BOOLEAN PrivateDataSensitive; 00151 } USER_ALL_INFORMATION, *PUSER_ALL_INFORMATION; 00152 #pragma pack(pop) 00153 typedef struct _MSV1_0_VALIDATION_INFO { 00154 LARGE_INTEGER LogoffTime; 00155 LARGE_INTEGER KickoffTime; 00156 UNICODE_STRING LogonServer; 00157 UNICODE_STRING LogonDomainName; 00158 USER_SESSION_KEY SessionKey; 00159 BOOLEAN Authoritative; 00160 ULONG UserFlags; 00161 ULONG WhichFields; 00162 ULONG UserId; 00163 } MSV1_0_VALIDATION_INFO, *PMSV1_0_VALIDATION_INFO; 00164 typedef struct _NETLOGON_LOGON_IDENTITY_INFO { 00165 UNICODE_STRING LogonDomainName; 00166 ULONG ParameterControl; 00167 OLD_LARGE_INTEGER LogonId; 00168 UNICODE_STRING UserName; 00169 UNICODE_STRING Workstation; 00170 } NETLOGON_LOGON_IDENTITY_INFO, *PNETLOGON_LOGON_IDENTITY_INFO; 00171 typedef struct _NETLOGON_INTERACTIVE_INFO { 00172 NETLOGON_LOGON_IDENTITY_INFO Identity; 00173 LM_OWF_PASSWORD LmOwfPassword; 00174 NT_OWF_PASSWORD NtOwfPassword; 00175 } NETLOGON_INTERACTIVE_INFO, *PNETLOGON_INTERACTIVE_INFO; 00176 typedef struct _NETLOGON_GENERIC_INFO { 00177 NETLOGON_LOGON_IDENTITY_INFO Identity; 00178 UNICODE_STRING PackageName; 00179 ULONG DataLength; 00180 PUCHAR LogonData; 00181 } NETLOGON_GENERIC_INFO, *PNETLOGON_GENERIC_INFO; 00182 typedef struct _NETLOGON_NETWORK_INFO { 00183 NETLOGON_LOGON_IDENTITY_INFO Identity; 00184 LM_CHALLENGE LmChallenge; 00185 STRING NtChallengeResponse; 00186 STRING LmChallengeResponse; 00187 } NETLOGON_NETWORK_INFO, *PNETLOGON_NETWORK_INFO; 00188 typedef struct _NETLOGON_SERVICE_INFO { 00189 NETLOGON_LOGON_IDENTITY_INFO Identity; 00190 LM_OWF_PASSWORD LmOwfPassword; 00191 NT_OWF_PASSWORD NtOwfPassword; 00192 } NETLOGON_SERVICE_INFO, *PNETLOGON_SERVICE_INFO; 00193 NTSTATUS NTAPI Msv1_0SubAuthenticationRoutine(NETLOGON_LOGON_INFO_CLASS,PVOID, 00194 ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG, 00195 PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER); 00196 NTSTATUS NTAPI Msv1_0SubAuthenticationFilter(NETLOGON_LOGON_INFO_CLASS,PVOID, 00197 ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG, 00198 PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER); 00199 NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineGeneric(PVOID,ULONG,PULONG,PVOID*); 00200 NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS,PVOID, 00201 ULONG,PUSER_ALL_INFORMATION,SAM_HANDLE, 00202 PMSV1_0_VALIDATION_INFO,PULONG); 00203 #ifdef __cplusplus 00204 } 00205 #endif 00206 #endif /* _SUBAUTH_H */ Generated on Sat May 26 2012 04:31:13 for ReactOS by
1.7.6.1
|