📄 pppoefsm.h
字号:
//********************************************************************
// 日期: 2004/08/25 - 25:8:2004 15:29
// 名前: tiamo
// 描述: pppoe fsm
//*********************************************************************
#pragma once
// FSM state
#define FSM_IDLE 0x0
#define FSM_CLIENT_SEND_PADI 0x1
#define FSM_CLIENT_WAIT_FOR_PADO 0x2
#define FSM_CLIENT_SEND_PADR 0x3
#define FSM_CLIENT_WAIT_FOR_PADS 0x4
#define FSM_SERVER_SEND_PADS 0x5
#define FSM_SERVER_WAIT_FOR_ANSWER 0x6
#define FSM_SERVER_ANSWER_OK 0x7
#define FSM_SESSION 0x8
#define FSM_DEAD 0x9
extern "C"
{
// indicate recved packets DISPATCH_LEVEL
VOID IndicateRecvedPackets(PTIMER_ITEM pItem,PVOID pContext,PVOID pCancelContext);
// schedule indicate recved packets DISPATCH_LEVEL
VOID ScheduleIndicateRecvedPacketTimer(PCHANNEL pChannel);
// process recved packets DISPATCH_LEVEL
VOID ProcessRecvedPacket(PBIND_CONTEXT pBind,PPACKET pPacket);
// process ctrl packets DISPATCH_LEVEL
VOID ProcessCtrlPacket(PBIND_CONTEXT pBind,PPACKET pPacket);
// client send PADI DISPATCH_LEVEL
VOID ClientSendPADI(PCHANNEL pChannel,PBIND_CONTEXT pBind,PPACKET pRecvedPacket);
// wait for PADO DISPATCH_LEVEL
VOID ClientWaitForPADO(PCHANNEL pChannel,PBIND_CONTEXT pBind,PPACKET pRecvedPacket);
// wait for PADS DISPATCH_LEVEL
VOID ClientWaitForPADS(PCHANNEL pChannel,PBIND_CONTEXT pBind,PPACKET pRecvedPacket);
// fsm run DISPATCH_LEVEL
VOID FsmRun(PCHANNEL pChannel,PBIND_CONTEXT pBind,PPACKET pRecvedPacket);
// create host unique <= DISPATCH_LEVEL
VOID CreateUniqueValue(PCHANNEL pChannel,PLARGE_INTEGER pUnique,PUSHORT pusLen);
// send PADR time out DISPATCH_LEVEL
VOID FsmSendPADRTimeOut(PTIMER_ITEM pItem,PVOID pContext,PVOID pCancelContext);
// send PADI time out DISPATCH_LEVEL
VOID FsmSendPADITimeOut(PTIMER_ITEM pItem,PVOID pContext,PVOID pCancelContext);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -