⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pppoepkt.h

📁 pppoe client
💻 H
字号:

//********************************************************************
//	日期:	2004/08/24 - 24:8:2004   22:23
//	名前:	tiamo
//	描述:	pppoe
//*********************************************************************

#pragma once

// public
extern "C"
{
	// insert tag in packet <= DISPATCH_LEVEL
	VOID PacketInsertTag(USHORT ucTag,PPACKET pPacket,PUCHAR pBuffer,USHORT usLen,PUCHAR *ppOutBuffer);

	// prepare packet for send <= DISPATCH_LEVEL
	VOID PreparePacketForSend(PPACKET pPacket);

	// build packet for send <= DISPATCH_LEVEL
	PPACKET BuildPacketForSend(PCHANNEL pChannel,PNDIS_PACKET pOrgPacket);

	// initialize packet member pointers <= DISPATCH_LEVEL
	BOOLEAN InitializePacketForRecved(PPACKET pPacket);

	// ndis recved ndis packet to our packet <= DISPATCH_LEVEL
	PPACKET ConvertRecvedNdisPacket(PBIND_CONTEXT pBind,PNDIS_PACKET pNdisPacket,PBOOLEAN pNeedCallReturn);

	// fast check frame
	BOOLEAN FastCheckIsPPPoEFrame(PPPPOE_FRAME pFrame,ULONG ulSize);

	// full check packet
	BOOLEAN CheckIsPPPoEPacket(PPACKET pPacket);

	// create packet from recved
	PPACKET ReuseRecvedPacketBuffer(PBIND_CONTEXT pBind,PNDIS_PACKET pNdisPacket,PPPPOE_FRAME pFrame,UINT uLen);

	// get tag from buffer
	VOID RetrieveTag(USHORT usTag,PPACKET pPacket,PUCHAR *ppBuffer,PUSHORT pBufferLen,BOOLEAN bSaveToPacket);

	// get error tags
	VOID RetrieveErrorTag(PPACKET pPacket);

	// get service name from buffer
	VOID RetrieveServiceName(PPACKET pPacket,PUCHAR *ppBuffer,PUSHORT pBufferLen,PUCHAR pStart,USHORT usTotalLen);

	// verify ac cookie
	BOOLEAN VerifyACCookie(PPACKET pPacket);

	// verify service name
	BOOLEAN VerifyServiceName(PUCHAR pServiceName,USHORT usServiceNameLen,PPACKET pPacket,BOOLEAN bStrict);

	// build a PADI to send
	PPACKET InitializePADIToSend(PUCHAR pServiceName,USHORT usServiceName,PUCHAR pHostUnique,USHORT usHostUnique);

	// build a PADO to send
	PPACKET InitializePADOToSend(PPACKET pRecvedPacket,PUCHAR pSelfMac,PUCHAR pServiceName,USHORT usServiceName,PUCHAR pACName,USHORT usACNameLen,BOOLEAN bSetACCookie);

	// build PADR to send
	PPACKET InitializePADRToSend(PPACKET pRecvedPacket,PUCHAR pServiceName,USHORT usServiceName,PUCHAR pHostUnique,USHORT usHostUnique);

	// build PADS to send
	PPACKET InitializePADSToSend(PPACKET pRecvedPacket,USHORT usSessionId);

	// build PADT to send
	PPACKET InitializePADTToSend(PUCHAR pDstAddr,PUCHAR pSrcAddr,USHORT usSession);

	// send error PADS
	VOID SendPADSWithError(USHORT usTag,PBIND_CONTEXT pBind,PPACKET pRecvedPacket);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -