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

📄 pppoe_stack.h

📁 这同样是FS8610相关的代码.看起来不错啊.
💻 H
字号:
/**
 * \addtogroup pppoe
 * @{
 */

/**
 * \file pppoe_stack.h
 * \brief  PPPoE stack Functions Defination 
 * \author Jane Gao <jgao@fameg.com>
 */
 
/*
 ******************************************************************************
 *	Copyright (c) 2006  FameG Shanghai, Inc. All rights reserved.
 *
 * This is unpublished proprietary source code of FameG Shanghai,  Inc.
 *
 * The copyright notice above does not evidence any actual or intended
 * publication of such source code.
 ******************************************************************************
 */
/*
 ******************************************************************************
 * Project:  T4 L4MCU FPGA verification
 * Filename: pppoe_stack.h
 * Date:	 04/03/06
 * Purpose:  L4HStacke Engine PPPoE Stack Functions Defination 
 * Author:   Jane Gao
 ******************************************************************************
 */
#ifndef	_PPPOE_STACK_H
#define 	_PPPOE_STACK_H

/*===============================================*
 *              Include Files                    *
 *===============================================*/
#include "user_config.h"
#include "kernel/system.h" 
#include "pppoe/pppoe.h"

//#if	INCLUDE_PPPOE_STACK

/*===============================================*
 *              Macro Defines                    *
 *===============================================*/
#define PPPOE_WATCHDOG_ENABLE 1

#define PADI 0
#define PADO 1
#define PADR 2
#define PADS 3
#define LCP 4
#define PAP 5
//#define PAP_ACK 6
//#define PAP_NAK 7
#define CHAP 8
//#define CHAP_CHALLENGE 9
//#define CHAP_SUCCESS 10
//#define CHAP_FAILED 11
#define NCP 12
//#define IP 13

/*LCP NCP(IPCP) CODE Types*/
#define CONFIGURE_REQUEST 0x01
#define CONFIGURE_ACK 0x02
#define CONFIGURE_NAK 0x03
#define CONFIGURE_REJECT 0x04
#define TERMINATE_REQUEST 0x05
#define TERMINATE_ACK 0x06
#define CODE_REJECT 0x07
#define PROTOCOL_REJECT 0x08
#define ECHO_REQUEST 0x09
#define ECHO_REPLY 0x0A
#define DISCARD_REQUEST 0x0B


/*LCP Option Types*/
#define MRU 0x01 //Maximum_Receive_Unite
#define AUTH_PROTOCOL 0x03 //Authentication protocol
//#define QUALITY_PROTOCOL 0x04
#define MAGIC_NUM 0x05// magic number
//#define CALL_BACK 0x0D //
//#define STAC_ELEC 0x11//LZS
//#define M_E_D 0x13 //MultiLink Endpoint Discriminator

#define	AUTH_OK	1
#define	AUTH_FAIL	2


/*for ppp_header*/
#define LCP_PROTOCOL 0xC021
#define PAP_PROTOCOL 0xC023
//#define CHAP_PROTOCOL 0xC223
#define IPCP_PROTOCOL 0x8021

#define RP_MASK 0x3c


#if 0
typedef struct _tx_channel_data
{
    UINT8 macctrl_lenl;       /* CH_TDSC00 */
    UINT8 ip_lb_lenh;         /* CH_TDSC01 */
    UINT8 pkttype_ctrl;       /* CH_TDSC02 */
    UINT8 protocol_ctrl;      /* CH_TDSC03 */
    UINT8 tcp_ctrl;           /* CH_TDSC04 */
    UINT8 pppoe_ctrl;         /* CH_TDSC05 */
    UINT8 tos_lnurg0;         /* CH_TDSC06 */
    UINT8 ttl_lnurg1;         /* CH_TDSC07 */
    UINT8 icmp_dip0;          /* CH_TDSC08 */
    UINT8 icmp_dip1;          /* CH_TDSC09 */
    UINT8 icmp_dip2;          /* CH_TDSC10 */
    UINT8 icmp_dip3;          /* CH_TDSC11 */
    UINT8 udp_dp0;            /* CH_TDSC12 */
    UINT8 udp_dp1;            /* CH_TDSC13 */
    UINT8 udp_ck0;            /* CH_TDSC14 */
    UINT8 udp_ck1;            /* CH_TDSC15 */
    UINT8 payload[1];		/* playload offset */
} tx_channel_data_T;


typedef struct _rx_channel_data
{
    UINT8 error_type;         /* CH_RDSC00 */
    UINT8 link_type;          /* CH_RDSC01 */
    UINT8 payload_lenl;       /* CH_RDSC02 */
    UINT8 pkt_type_lenh;      /* CH_RDSC03 */
    UINT8 address_type;       /* CH_RDSC04 */
    UINT8 ip_tcp_flag;        /* CH_RDSC05 */
    UINT8 ip_tcp_opt;         /* CH_RDSC06 */
    UINT8 ip_tos;             /* CH_RDSC07 */
    UINT8 type_tcp_up0;       /* CH_RDSC08 */
    UINT8 code_tcp_up1;       /* CH_RDSC09 */
    UINT8 udp_rsp0;           /* CH_RDSC10 */
    UINT8 udp_rsp1;           /* CH_RDSC11 */
    UINT8 udp_rsip0;          /* CH_RDSC12 */
    UINT8 udp_rsip1;          /* CH_RDSC13 */
    UINT8 udp_rsip2;          /* CH_RDSC14 */
    UINT8 udp_rsip3;          /* CH_RDSC15 */
    UINT8	payload[1];		/* playload offset */	
} rx_channel_data_T;


/** PPPoE protocol header */
typedef struct _pppoe_header
{
	UINT8	ver_type;	/**< High 4-bit: version; Low 4-bit: type */
	UINT8	code_num;   /**< Code field */
	UINT16	session_id;	/**< Session ID, network byte order, big-endian */
	UINT16	length;		/**< payload length, network byte order, big-endian */
} pppoe_header_T;
#endif

//extern UINT8 XDATA pppoe_restart_timer;
//extern UINT8 auth_ok;
//extern UINT32 desip;
//extern UINT8 pppoe_timer;
//extern UINT8 watchdog_timer;
//extern UINT8 pppoe_closed;

/*===============================================*
 *              Function Prototype declaration                    *
 *===============================================*/

void pppoe_restart_init(void);
void pppoe_init(void);

UINT8 pppoe_build_link(void);
void pppoe_connect(UINT8 * peerID, UINT8 * peerPWD);

UINT8 pppoe_disconnect(void);
UINT8 pppoe_check_rebuild(void);

void pppoe_run(void);
void pppoe_int_handler(void);


#if PPPOE_WATCHDOG_ENABLE
void check_watchdog_timer(void);
void watchdog_reset(void);
#endif
	
//#endif	/* INCLUDE_PPPOE_STACK */

#endif	/*_PPPOE_STACK_H */
/** @} */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -