master
 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
12typedef struct _CYPHER_BLOCK {
13  CHAR data[CYPHER_BLOCK_LENGTH];
14}CYPHER_BLOCK;
15
16typedef struct _LM_OWF_PASSWORD {
17  CYPHER_BLOCK data[2];
18} LM_OWF_PASSWORD;
19
20typedef LM_OWF_PASSWORD *PLM_OWF_PASSWORD;
21typedef LM_OWF_PASSWORD NT_OWF_PASSWORD;
22typedef NT_OWF_PASSWORD *PNT_OWF_PASSWORD;
23
24typedef struct _SAMPR_ENCRYPTED_USER_PASSWORD {
25  UCHAR Buffer[(256 *2) + 4 ];
26} SAMPR_ENCRYPTED_USER_PASSWORD,*PSAMPR_ENCRYPTED_USER_PASSWORD;
27
28typedef struct _ENCRYPTED_LM_OWF_PASSWORD {
29  CYPHER_BLOCK data[2];
30};
31
32typedef ENCRYPTED_LM_OWF_PASSWORD ENCRYPTED_NT_OWF_PASSWORD;
33#endif
34
35extern 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);
36extern 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