2019-08-21 03:04:20 +00:00
|
|
|
|
#ifndef _RET_ERRNO_H
|
|
|
|
|
#define _RET_ERRNO_H
|
|
|
|
|
|
|
|
|
|
#include "config_manager.h"
|
|
|
|
|
|
|
|
|
|
/* error no, 32位,前16位为模块ID,后16位为模块错误码 */
|
|
|
|
|
typedef uint ret_code;
|
|
|
|
|
|
|
|
|
|
|
2019-08-22 07:55:36 +00:00
|
|
|
|
/*0x00000000 ~ 0x0000ffff 为系统预留错误码,用于一般性系统错误,
|
|
|
|
|
例如内存不够,输入错误等*/
|
2019-08-21 03:04:20 +00:00
|
|
|
|
|
2019-08-22 07:55:36 +00:00
|
|
|
|
/*ret code 0x00000000 ~ 0x0000ffff*/
|
2019-08-21 03:04:20 +00:00
|
|
|
|
#define RET_OK 0
|
|
|
|
|
#define RET_ERR 1
|
|
|
|
|
#define RET_UNKNOWN 2
|
|
|
|
|
#define RET_SYSERR 3
|
|
|
|
|
#define RET_NOTFOUND 4
|
|
|
|
|
#define RET_TIMEOUT 5
|
|
|
|
|
|
|
|
|
|
#define RET_NULLP 6
|
|
|
|
|
#define RET_NOMEM 7
|
|
|
|
|
#define RET_CHKERR 8
|
|
|
|
|
#define RET_NOTSUPPORT 9
|
|
|
|
|
#define RET_INPUTERR 10
|
|
|
|
|
#define RET_EXIST 11
|
|
|
|
|
#define RET_FULL 12
|
|
|
|
|
#define RET_SENDERR 13
|
|
|
|
|
|
|
|
|
|
/* NETCONFIG_MODULE 0x00010000 ~ 0x0001ffff*/
|
|
|
|
|
#define RET_IPINVALID (uint)((uint)NETCONFIG_MODULE<<16|1)
|
|
|
|
|
#define RET_BRNAMEERR (uint)((uint)NETCONFIG_MODULE<<16|1)
|
|
|
|
|
|
2019-08-22 07:55:36 +00:00
|
|
|
|
#define ERR_STR_LEN 64
|
2019-08-21 03:04:20 +00:00
|
|
|
|
|
|
|
|
|
/* 错误码描述 */
|
|
|
|
|
#define RET_ERROR_DISC \
|
|
|
|
|
{ \
|
|
|
|
|
{ RET_OK, "OK" }, \
|
|
|
|
|
{ RET_ERR, "Error" },\
|
|
|
|
|
{ RET_UNKNOWN, "Unkown" },\
|
|
|
|
|
{ RET_SYSERR, "SystemError" },\
|
|
|
|
|
{ RET_NOTFOUND, "NotFound" }, \
|
|
|
|
|
{ RET_TIMEOUT, "Timeout" }, \
|
|
|
|
|
{ RET_NULLP, "NullPointer" } ,\
|
2019-08-22 07:55:36 +00:00
|
|
|
|
{ RET_NOMEM, "NotEnoughMemory"},\
|
2019-08-21 03:04:20 +00:00
|
|
|
|
{ RET_CHKERR, "CheckError"},\
|
|
|
|
|
{ RET_NOTSUPPORT, "NotSupport"},\
|
|
|
|
|
{ RET_INPUTERR, "InputError"},\
|
|
|
|
|
{ RET_EXIST, "AlreadyExist"},\
|
|
|
|
|
{ RET_FULL, "Full"},\
|
|
|
|
|
{ RET_SENDERR, "SendErr"},\
|
2019-08-22 07:55:36 +00:00
|
|
|
|
\
|
2019-08-21 03:04:20 +00:00
|
|
|
|
{ RET_IPINVALID, "IpInvalid"},\
|
|
|
|
|
{ RET_BRNAMEERR, "BrNameInvalid"}\
|
|
|
|
|
}
|
|
|
|
|
|
2019-08-22 07:55:36 +00:00
|
|
|
|
struct err_disc {
|
|
|
|
|
int code;
|
|
|
|
|
const char *name;
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
static inline char* ret_code_format(ret_code code, char* str) {
|
|
|
|
|
struct err_disc ret_err[] = RET_ERROR_DISC;
|
|
|
|
|
int len = sizeof(ret_err) / sizeof(struct err_disc);
|
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
for(i = 0; i < len; i++){
|
|
|
|
|
if(code == ret_err[i].code){
|
|
|
|
|
strcpy(str, ret_err[i].name);
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
2019-08-21 03:04:20 +00:00
|
|
|
|
#endif
|
|
|
|
|
|