14 Star 9 Fork 0

zhangruoxu/demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
route_data.h 3.39 KB
一键复制 编辑 原始数据 按行查看 历史
zhangruoxu 提交于 2023-11-23 16:52 . 添加头文件守护
#ifndef ROUTE_DATA_H__
#define ROUTE_DATA_H__
typedef struct tagRouteData
{
UINT32 uiDstNetwork; // 目的地址
UINT32 uiMask; // 子网掩码
UINT16 usPrefixLen; // 前缀长度
UINT16 usProtocol; // 协议: ROUTE_PROTOCOL_XXX
UINT16 usIfNum; // 出接口
UINT32 uiNexthop; // 下一跳
struct tagRouteData* pstNextRoute;
} ROUTE_DATA_S;
typedef struct tagRouteDevice
{
UINT16 usDeviceId; /*路由器设备ID*/
ROUTE_DATA_S stRouteList; /*路由单链表*/
struct tagRouteDevice* pstNextDevice;
} ROUTE_DEVICE_S;
INT32 RouteData_Init(VOID); // 初始化函数
/*
*description: 添加路由器设备
* input: UINT32 uiDeviceId 路由器设备id
* output: 添加路由器设备成功/失败
* return: 错误码
* tip: IN是空宏,表示改参数是输入
* author 丁通
*/
INT32 RouteData_AddDevice(IN UINT16 usDeviceId);
/*
*description; 删除路由器设备
* input: UINT32 uiDeviceId 路由器设备id
* output: 删除路由器设备成功/失败
* return: 错误码
* tip: IN是空宏,表示改参数是输入
* author 丁通
*/
INT32 RouteData_DelDevice(IN UINT16 usDeviceId);
/*
* description: 查找路由器设备
* input: UINT32 uiDeviceRouterId 路由器设备id
* output: 添加路由设备成功/失败
* return: 错误码
* tip: IN是空宏,表示改参数是输入
* author: 丁通
*/
ROUTE_DEVICE_S* RouteData_FindDevice(UINT16 usDeviceId);
/*
description: 添加路由器的静态路由
input: IN ROUTE_DEVICE_S * pstRouteDevice 路由器设备数据结构指针
UINT32 uiDstNetwork 目的网络地址
UINT32 uiMask 子网掩码
UINT16 uiIfNum 接口编号
UINT32 uiNexthop 下一跳
output: 添加成功/失败
return: TRUE/FALSE
tip IN是空宏,表示参数的输入
author 丁通
*/
INT32 RouteData_AddRoute(IN ROUTE_DEVICE_S* pstRouteDevice,
IN UINT32 uiDstNetwork, IN UINT32 uiMask, IN UINT16 usProtocol,
IN UINT16 usIfNum, IN UINT32 uiNexthop);
/*
description: 删除路由器的静态路由
input: IN ROUTE_DEVICE_S * pstRouteDevice 路由器设备数据结构指针
UINT32 uiDstNetwork 目的网络地址
UINT32 uiMask 子网掩码
output: 删除成功/失败
return: TRUN/FALSE
tip: IN是空宏,表示参数的输入
author 丁通
*/
INT32 RouteData_DelRoute(ROUTE_DEVICE_S* pstRouteDevice, UINT32 uiDstNetwork, UINT32 uiMask, UINT16 usProtocol, UINT16 usIfNum, UINT32 uiNexthop);
/*
decription: 查找所有路由
input: IN UINT32 uiDeviceId 路由器的id
output: 显示网络目标,子网掩码,协议,接口 ,下一跳
tip: IN是空宏,表示改参数是输入
author 丁通
*/
INT32 RouteData_Print(IN ROUTE_DEVICE_S* pstRouteDevice);
/*
decription: 根据目的网络查找路由表,显示出接口、下一跳
input: UINT32 uiDstNetwork 目的网络地址
output: 出接口 ,下一跳
tip: IN是空宏,表示改参数是输入
author: 丁通
*/
ROUTE_DATA_S* RouteData_BestMatch(IN ROUTE_DEVICE_S* pstRouteDevice, UINT32 uiDstNetwork);
#endif // !ROUTE_DATA_H__
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangruoxudada/demo.git
git@gitee.com:zhangruoxudada/demo.git
zhangruoxudada
demo
demo
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385