pppoefsm.h
来自「pppoe client」· C头文件 代码 · 共 58 行
H
58 行
//********************************************************************
// 日期: 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 + =
减小字号Ctrl + -
显示快捷键?