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

📄 pppoefsm.h

📁 pppoe client
💻 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 + -