lwip协议栈函数返回值定义

转自:http://blog.csdn.net/zhzht19861011/article/details/6617903

作者:zhzht19861011

在lwip1.3.0/src/include/lwip/err.h中定义。

数据类型:typedef s8_t err_t

#define ERR_OK 0 /* 没有错误,万事OK*/
#define ERR_MEM -1 /* 存储器输出错误*/
#define ERR_BUF -2 /* 缓冲区错误*/
#define ERR_RTE -3 /* 路由问题*/

#define ERR_IS_FATAL(e) ((e) < ERR_RTE)

#define ERR_ABRT -4 /* 链接中止*/
#define ERR_RST -5 /* 链接复位*/
#define ERR_CLSD -6 /* 链接关闭*/
#define ERR_CONN -7 /* 不能链接*/

#define ERR_VAL -8 /* 值非法*/

#define ERR_ARG -9 /* 参数非法*/

#define ERR_USE -10 /* 地址正在使用*/

#define ERR_IF -11 /* 底层网络接口错误*/
#define ERR_ISCONN -12 /* 已经链接*/

#define ERR_TIMEOUT -13 /* 超时*/

#define ERR_INPROGRESS -14 /* 操作正在进行*/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个设置错误标志的函数和一个清除错误标志的函数的示例代码: ```c void set_error_flag(ERRFlag_t* error_flag, ERR_DEV_t error) { switch (error) { case ERR_compr: error_flag->err_compr = 1; break; case ERRcompr_OffInl: error_flag->errcompr_OffInl = 1; break; case ERRcompr_OffTime: error_flag->errcompr_OffTime = 1; break; case ERR_ACwater_SW: error_flag->err_ACwater_SW = 1; break; case ERR_low_Pressure: error_flag->err_low_Pressure = 1; break; case ERR_high_Pressure: error_flag->err_high_Pressure = 1; break; case ERR_exhaust_temp_SW: error_flag->err_exhaust_temp_SW = 1; break; case ERR_Crank_status: error_flag->err_Crank_status = 1; break; case ERR_ACwater_temp: error_flag->err_ACwater_temp = 1; break; case ERR_Frost_Protect: error_flag->err_Frost_Protect = 1; break; case ERR_envTemp: error_flag->err_envTemp = 1; break; default: // 未知错误类型 break; } } void clear_error_flag(ERRFlag_t* error_flag, ERR_DEV_t error) { switch (error) { case ERR_compr: error_flag->err_compr = 0; break; case ERRcompr_OffInl: error_flag->errcompr_OffInl = 0; break; case ERRcompr_OffTime: error_flag->errcompr_OffTime = 0; break; case ERR_ACwater_SW: error_flag->err_ACwater_SW = 0; break; case ERR_low_Pressure: error_flag->err_low_Pressure = 0; break; case ERR_high_Pressure: error_flag->err_high_Pressure = 0; break; case ERR_exhaust_temp_SW: error_flag->err_exhaust_temp_SW = 0; break; case ERR_Crank_status: error_flag->err_Crank_status = 0; break; case ERR_ACwater_temp: error_flag->err_ACwater_temp = 0; break; case ERR_Frost_Protect: error_flag->err_Frost_Protect = 0; break; case ERR_envTemp: error_flag->err_envTemp = 0; break; default: // 未知错误类型 break; } } ``` 在这个示例中,`set_error_flag` 函数用于设置错误标志,根据传入的错误类型参数,将对应的错误标志位设置为1。`clear_error_flag` 函数用于清除错误标志,根据传入的错误类型参数,将对应的错误标志位清零。 请注意,这里使用了枚举类型 `ERR_DEV_t` 来表示错误类型,并且结构体 `ERRFlag_t` 中使用了位域来表示每个错误标志位。这样可以节省内存空间,并且使得代码更加易读和可维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值