80 lines
2.0 KiB
C
80 lines
2.0 KiB
C
#ifndef _RET_ERRNO_H
|
||
#define _RET_ERRNO_H
|
||
|
||
#include "config_manager.h"
|
||
|
||
/* error no, 32位,前16位为模块ID,后16位为模块错误码 */
|
||
typedef uint ret_code;
|
||
|
||
|
||
/*0x00000000 ~ 0x0000ffff 为系统预留错误码,用于一般性系统错误,
|
||
例如内存不够,输入错误等*/
|
||
|
||
/*ret code 0x00000000 ~ 0x0000ffff*/
|
||
#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)
|
||
|
||
#define ERR_STR_LEN 64
|
||
|
||
/* 错误码描述 */
|
||
#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" } ,\
|
||
{ RET_NOMEM, "NotEnoughMemory"},\
|
||
{ RET_CHKERR, "CheckError"},\
|
||
{ RET_NOTSUPPORT, "NotSupport"},\
|
||
{ RET_INPUTERR, "InputError"},\
|
||
{ RET_EXIST, "AlreadyExist"},\
|
||
{ RET_FULL, "Full"},\
|
||
{ RET_SENDERR, "SendErr"},\
|
||
\
|
||
{ RET_IPINVALID, "IpInvalid"},\
|
||
{ RET_BRNAMEERR, "BrNameInvalid"}\
|
||
}
|
||
|
||
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;
|
||
}
|
||
|
||
#endif
|
||
|