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 + -
显示快捷键?