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

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

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

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

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