ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

subauth.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.