// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Inntlm.pas' rev: 10.00

#ifndef InntlmHPP
#define InntlmHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Insslopensslheaders.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Inntlm
{
//-- type declarations -------------------------------------------------------
#pragma pack(push,1)
struct type_1_message_header
{
	
public:
	char protocol[8];
	Byte _type;
	Byte pad[3];
	Word flags;
	Byte pad2[2];
	Word dom_len1;
	Word dom_len2;
	unsigned dom_off;
	Word host_len1;
	Word host_len2;
	unsigned host_off;
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct type_2_message_header
{
	
public:
	char protocol[8];
	Byte _type;
	Byte Pad[7];
	Word msg_len;
	Byte Pad2[2];
	Word flags;
	Byte Pad3[2];
	char nonce[8];
	Byte pad4[8];
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct type_3_message_header
{
	
public:
	char protocol[8];
	unsigned _type;
	Word lm_resp_len1;
	Word lm_resp_len2;
	unsigned lm_resp_off;
	Word nt_resp_len1;
	Word nt_resp_len2;
	unsigned nt_resp_off;
	Word dom_len1;
	Word dom_len2;
	unsigned dom_off;
	Word user_len1;
	Word user_len2;
	unsigned user_off;
	Word host_len1;
	Word host_len2;
	unsigned host_off;
	unsigned zero;
	unsigned msg_len;
	unsigned flags;
} ;
#pragma pack(pop)

typedef Insslopensslheaders::des_ks_struct *Pdes_key_schedule;

//-- var, const, procedure ---------------------------------------------------
extern PACKAGE AnsiString __fastcall BuildType1Message(AnsiString ADomain, AnsiString AHost);
extern PACKAGE AnsiString __fastcall BuildType3Message(WideString ADomain, WideString AHost, WideString AUsername, AnsiString APassword, AnsiString ANonce);

}	/* namespace Inntlm */
using namespace Inntlm;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Inntlm
