📄 pppoepkt.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 + -