secgateway/Common/ret_errno.h

154 lines
6.2 KiB
C
Raw Normal View History

#ifndef _RET_ERRNO_H
#define _RET_ERRNO_H
#include "config_manager.h"
/* error no, 32位前16位为模块ID后16位为模块错误码 */
typedef unsigned int 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
#define RET_NOCMID 14
#define RET_SRCERR 15
#define RET_JSONERR 16
/* NETCONFIG_MODULE 0x00010000 ~ 0x0001ffff*/
#define RET_IPINVALID (unsigned int)((unsigned int)NETCONFIG_MODULE<<16|1)
#define RET_BRNAMEERR (unsigned int)((unsigned int)NETCONFIG_MODULE<<16|2)
#define RET_NETMASKERR (unsigned int)((unsigned int)NETCONFIG_MODULE<<16|3)
/* VLANCONFIG_MODULE 0x00050000 ~ 0x0005ffff*/
#define RET_VIDNUM_INVALID (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|1)
#define RET_VID_INVALID (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|2)
#define RET_VID_EXIST (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|3)
#define RET_VID_NOT_EXIST (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|4)
#define RET_INTERFACE_NOT_EXIST (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|5)
#define RET_ATTR_INVALID (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|6)
#define RET_OPTYPE_ERR (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|7)
#define RET_SYS_VCONFIG_ERR (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|8)
#define RET_SYS_IFCONFIG_ERR (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|9)
#define RET_SYS_FILEOP_ERR (unsigned int)((unsigned int)VLAN_CONFIG_MODULE<<16|10)
/* STATIC_ROUTING_MODULE 0x00090000 ~ 0x0009ffff*/
#define RET_OPEN_FILE_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|1)
#define RET_EXEC_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|2)
#define RET_METRIC_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|3)
#define RET_NETMASK_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|4)
#define RET_EMPTY_STRING (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|5)
#define RET_WRONG_TYPE (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|6)
#define RET_VERSION_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|7)
#define RET_DESTIP_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|8)
#define RET_GATEWAY_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|9)
#define RET_GW_DEV_ERR (unsigned int)((unsigned int)STATIC_ROUTING_CONFIG_MODULE<<16|10)
/* LTE_CONFIG_MODULE 0x00070000 ~ 0x0007ffff*/
#define RET_EXEC_SHELL_ERR (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|1)
#define RET_NULL_INPUT_ERR (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|2)
#define RET_LTE_NO_MATCH_ERR (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|3)
#define RET_NO_LTE_MODULE_ERR (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|4)
#define RET_ALREADY_START_ERR (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|5)
#define RET_ALREADY_STOP_ERR (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|6)
#define RET_ANOTHER_IN_PROCESS (unsigned int)((unsigned int)LTE_CONFIG_MODULE<<16|7)
#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_NOCMID, "CanNotFindConfig"},\
{ RET_SRCERR, "ConfigSourceErr"},\
{ RET_JSONERR, "JsonFormatErr"},\
\
{ RET_IPINVALID, "IpInvalid"},\
{ RET_BRNAMEERR, "BrNameInvalid"},\
{ RET_NETMASKERR, "NetMaskInvalid"},\
\
{ RET_VIDNUM_INVALID, "VidNumInvalid"},\
{ RET_VID_INVALID, "VidValueInvalid"},\
{ RET_VID_EXIST, "VidHasExist"},\
{ RET_VID_NOT_EXIST, "VidHasNotExist"},\
{ RET_INTERFACE_NOT_EXIST, "InterfaceHasNotExist"},\
{ RET_ATTR_INVALID, "AttrInvalid"},\
{ RET_OPTYPE_ERR, "OperationTypeError"},\
{ RET_SYS_VCONFIG_ERR, "SystemVconfigError"},\
{ RET_SYS_IFCONFIG_ERR, "SystemIfconfigError"},\
{ RET_SYS_FILEOP_ERR, "SystemFileOperationError"},\
\
{ RET_OPEN_FILE_ERR, "CanNotOpenConfigFile"},\
{ RET_EXEC_ERR, "CanNotExecuateShell"},\
{ RET_METRIC_ERR, "InvalidMetric"},\
{ RET_NETMASK_ERR, "InvalidNetmask"},\
{ RET_EMPTY_STRING, "InputEmpty"},\
{ RET_WRONG_TYPE, "WrongType"},\
{ RET_VERSION_ERR, "InvalidProtocol"},\
{ RET_DESTIP_ERR, "InvalidDestIP"},\
{ RET_GATEWAY_ERR, "InvalidGateway"},\
{ RET_GW_DEV_ERR, "Gateway&DevEmpty"},\
\
{ RET_EXEC_SHELL_ERR, "CantExecShell"},\
{ RET_NULL_INPUT_ERR, "EmptyInput"},\
{ RET_LTE_NO_MATCH_ERR, "LTENoMatch"},\
{ RET_NO_LTE_MODULE_ERR, "NoLTEModule"},\
{ RET_ALREADY_START_ERR, "AlreadyStart"},\
{ RET_ALREADY_STOP_ERR, "AlreadyStop"},\
{ RET_ANOTHER_IN_PROCESS, "AnotherThreadIsRunning"}\
}
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