1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _MSCHAPP_H_ 7 #define _MSCHAPP_H_ 8 9 #ifndef _NTCRYPT_ 10 #define CYPHER_BLOCK_LENGTH 8 11 12 typedef struct _CYPHER_BLOCK { 13 CHAR data[CYPHER_BLOCK_LENGTH]; 14 }CYPHER_BLOCK; 15 16 typedef struct _LM_OWF_PASSWORD { 17 CYPHER_BLOCK data[2]; 18 } LM_OWF_PASSWORD; 19 20 typedef LM_OWF_PASSWORD *PLM_OWF_PASSWORD; 21 typedef LM_OWF_PASSWORD NT_OWF_PASSWORD; 22 typedef NT_OWF_PASSWORD *PNT_OWF_PASSWORD; 23 24 typedef struct _SAMPR_ENCRYPTED_USER_PASSWORD { 25 UCHAR Buffer[(256 *2) + 4 ]; 26 } SAMPR_ENCRYPTED_USER_PASSWORD,*PSAMPR_ENCRYPTED_USER_PASSWORD; 27 28 typedef struct _ENCRYPTED_LM_OWF_PASSWORD { 29 CYPHER_BLOCK data[2]; 30 }; 31 32 typedef ENCRYPTED_LM_OWF_PASSWORD ENCRYPTED_NT_OWF_PASSWORD; 33 #endif 34 35 extern WINADVAPI DWORD WINAPI MSChapSrvChangePassword(LPWSTR ServerName,LPWSTR UserName,BOOLEAN LmOldPresent,PLM_OWF_PASSWORD LmOldOwfPassword,PLM_OWF_PASSWORD LmNewOwfPassword,PNT_OWF_PASSWORD NtOldOwfPassword,PNT_OWF_PASSWORD NtNewOwfPassword); 36 extern WINADVAPI DWORD WINAPI MSChapSrvChangePassword2(LPWSTR ServerName,LPWSTR UserName,PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldNt,PENCRYPTED_NT_OWF_PASSWORD OldNtOwfPasswordEncryptedWithNewNt,BOOLEAN LmPresent,PSAMPR_ENCRYPTED_USER_PASSWORD NewPasswordEncryptedWithOldLm,PENCRYPTED_LM_OWF_PASSWORD OldLmOwfPasswordEncryptedWithNewLmOrNt); 37 #endif 38