/* * Copyright 1994 by OpenVision Technologies, Inc. * * Permission to use, copy, modify, distribute, and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appears in all copies and * that both that copyright notice and this permission notice appear in * supporting documentation, and that the name of OpenVision not be used * in advertising or publicity pertaining to distribution of the software * without specific, written prior permission. OpenVision makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _NTLM_CLIENT_STRUCTS_H_ #define _NTLM_CLIENT_STRUCTS_H_ typedef struct _FLAGMAPPING { PCHAR name; DWORD value; PCHAR realname; } FLAGMAPPING, *PFLAGMAPPING; typedef struct _NTLM_MESSAGE { UCHAR NtlmSignature[8]; DWORD MessageType; } NTLM_MESSAGE, *PNTLM_MESSAGE; typedef struct _NTLM_NEGOTIATE_MESSAGE { UCHAR NtlmSignature[8]; DWORD MessageType; DWORD NtlmFlags; // Optional Supplied Domain NTLM_SEC_BUFFER // Optional Supplied Workstation NTLM_SEC_BUFFER // Optional OS Version 8 bytes // Optional Data } NTLM_NEGOTIATE_MESSAGE, *PNTLM_NEGOTIATE_MESSAGE; typedef struct _NTLM_CHALLENGE_MESSAGE { UCHAR NtlmSignature[8]; DWORD MessageType; NTLM_SEC_BUFFER Target; DWORD NtlmFlags; UCHAR Challenge[8]; // Optional Context 8 bytes // Optional Target Information NTLM_SEC_BUFFER // Optional OS Version 8 bytes // Optional Data } NTLM_CHALLENGE_MESSAGE, *PNTLM_CHALLENGE_MESSAGE; typedef struct _NTLM_RESPONSE_MESSAGE { UCHAR NtlmSignature[8]; DWORD MessageType; NTLM_SEC_BUFFER LmResponse; NTLM_SEC_BUFFER NtResponse; NTLM_SEC_BUFFER AuthTargetName; NTLM_SEC_BUFFER UserName; NTLM_SEC_BUFFER Workstation; // Optional Session Key NTLM_SEC_BUFFER // Optional Flags 4 bytes // Optional OS Version 8 bytes // Optional Data } NTLM_RESPONSE_MESSAGE, *PNTLM_RESPONSE_MESSAGE; #endif //_NTLM_CLIENT_STRUCTS_H_