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

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

#ifndef IdrawfunctionsHPP
#define IdrawfunctionsHPP

#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 <Idglobal.hpp>	// Pascal unit
#include <Idrawheaders.hpp>	// Pascal unit
#include <Idstack.hpp>	// Pascal unit

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

namespace Idrawfunctions
{
//-- type declarations -------------------------------------------------------
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall IdRawBuildArp(const Word AHwAddressFormat, const Word AProtocolFormat, const Byte AHwAddressLen, const Byte AProtocolLen, const Word AnOpType, Idrawheaders::TIdEtherAddr* ASenderHw, Idrawheaders::TIdInAddr* ASenderPr, Idrawheaders::TIdEtherAddr* ATargetHw, Idrawheaders::TIdInAddr* ATargetPr, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildDns(const Word AnId, const Word AFlags, const Word ANumQuestions, const Word ANumAnswerRecs, const Word ANumAuthRecs, const Word ANumAddRecs, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildEthernet(Idrawheaders::TIdEtherAddr* ADest, Idrawheaders::TIdEtherAddr* ASource, Word AType, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIp(Word ALen, Byte ATos, Word AnId, Word AFrag, Byte ATtl, Byte AProtocol, Idrawheaders::TIdInAddr* ASource, Idrawheaders::TIdInAddr* ADest, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer, const int AIdx = 0x0);
extern PACKAGE void __fastcall IdRawBuildIcmpEcho(Byte AType, Byte ACode, Word AnId, Word ASeq, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIcmpMask(Byte AType, Byte ACode, Word AnId, Word ASeq, unsigned AMask, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIcmpUnreach(Byte AType, Byte ACode, Word AnOrigLen, Byte AnOrigTos, Word AnOrigId, Word AnOrigFrag, Byte AnOrigTtl, Byte AnOrigProtocol, Idrawheaders::TIdInAddr* AnOrigSource, Idrawheaders::TIdInAddr* AnOrigDest, const int AnOrigPayload, const int APayloadSize, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIcmpTimeExceed(const Byte AType, const Byte ACode, const Word AnOrigLen, const Byte AnOrigTos, const Word AnOrigId, const Word AnOrigFrag, const Byte AnOrigTtl, const Byte AnOrigProtocol, const Idrawheaders::TIdInAddr* AnOrigSource, const Idrawheaders::TIdInAddr* AnOrigDest, const Idglobal::TBytes AnOrigPayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIcmpTimestamp(const Byte AType, const Byte ACode, const Word AnId, const Word ASeq, const unsigned AnOtime, const unsigned AnRtime, const unsigned ATtime, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIcmpRedirect(const Byte AType, const Byte ACode, Idrawheaders::TIdInAddr* AGateway, const Word AnOrigLen, const Byte AnOrigTos, const Word AnOrigId, const Word AnOrigFrag, const Byte AnOrigTtl, const Byte AnOrigProtocol, Idrawheaders::TIdInAddr* AnOrigSource, Idrawheaders::TIdInAddr* AnOrigDest, const Idglobal::TBytes AnOrigPayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildIgmp(Byte AType, Byte ACode, Idrawheaders::TIdInAddr* AnIp, const int APayload, const int APayloadSize, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildRip(const Byte ACommand, const Byte AVersion, const Word ARoutingDomain, const Word AnAddressFamily, const Word ARoutingTag, const unsigned AnAddr, const unsigned AMask, const unsigned ANextHop, const unsigned AMetric, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildTcp(const Word ASourcePort, const Word ADestPort, const unsigned ASeq, const unsigned AnAck, const Byte AControl, const Word AWindowSize, const Word AnUrgent, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);
extern PACKAGE void __fastcall IdRawBuildUdp(const Word ASourcePort, const Word ADestPort, const Idglobal::TBytes APayload, Idglobal::TBytes &VBuffer);

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

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