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