📄 ppp.h
字号:
/**---------------------版权 (c)----------------------------------------------------------***
*** 作者:颜章健 ***
*** 邮件:jenkinyan@163.com ***
*** ***
***---------------------File Info---------------------------------------------------------***
*** 创 建 人: 颜章健 ***
*** 创建日期: 2008-03-08 ***
*** 创建版本: ***
*** 文件描述: ***
***---------------------------------------------------------------------------------------***
*** 修 订 人: ***
*** 修订日期: ***
*** 修订版本: ***
*** 修订描述 ***
***---------------------------------------------------------------------------------------**/
// PPP数据帧类型
#define PPPF_IP 0x0021 // IP数据帧
#define PPPF_NCP 0x8021 // NCP数据帧
#define PPPF_PAP 0xc023 // PAP数据帧
#define PPPF_LCP 0xc021 // LCP数据帧
#define PPPF_CHAP 0xc223 // CHAP数据帧
// PPP状态
#define PPPS_CLOSED 1 // 关闭状态
#define PPPS_LCP 2 // 链路控制协商阶段阶段
#define PPPS_PAP 3 // 密码验证阶段
#define PPPS_CHAP 4 // 密码验证阶段
#define PPPS_NCP 5 // 网络控制协商阶段
#define PPPS_OPENED 6 // 打开状态
typedef struct _PPP_HEAD_S
{
uint8 Addr; // 地址域
uint8 Ctrl; // 控制域
uint16 Prot; // 协议域
}PPP_HEAD_S;
typedef union _PPP_HEAD
{
PPP_HEAD_S s;
uint8 b[4];
}PPP_HEAD;
typedef struct _LINK_CFG
{
uint8 Ip[5]; // 约定Ip[4] 用于表示Ip 是否有效,1:有效,0:无效
uint8 Mask[5]; // 约定Mask[4] 用于表示Mask是否有效,1:有效,0:无效
uint8 Gate[5]; // 约定Gate[4] 用于表示Gate是否有效,1:有效,0:无效
uint8 DNS1[5]; // 约定DNS1[4] 用于表示DNS1是否有效,1:有效,0:无效
uint8 DNS2[5]; // 约定DNS2[4] 用于表示DNS2是否有效,1:有效,0:无效
char Username[32]; // 约定UserName[0] 表示用户名长度
char Password[32]; // 约定Password[0] 表示密码长度
uint16 MRU; // 最大接收单元
//uint16 MaxTerminate;
//uint16 MaxConfiguare;
//uint16 MaxFailure;
}LINK_CFG;
typedef struct _LINK_LAYER
{
uint8 State; // PPP状态
LINK_CFG Config; // 配置选项
uint8 *Rxd; // 接收指针
uint16 Rxl; // 接收长度
// 数据操作
void (*PutFrame)(uint16 /*Protocol*/,NET_PKT */*Packet*/);
void (*Close)(void);
void (*Open)(void);
void (*Hook)(uint8 */*Rxd*/, uint16 /*Rxl*/);
}LINK_LAYER;
// 链路层API
void LinkLayerInit(void);
void PppReceiveTask(void);
/********************************************************************************************
*** 文件结束 ***
********************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -