secgateway/Common/ret_errno.h

139 lines
4.7 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 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
#define RET_NOCMID 14
#define RET_SRCERR 15
/* NETCONFIG_MODULE 0x00010000 ~ 0x0001ffff*/
#define RET_IPINVALID (uint)((uint)NETCONFIG_MODULE<<16|1)
#define RET_BRNAMEERR (uint)((uint)NETCONFIG_MODULE<<16|1)
/* VLANCONFIG_MODULE 0x00050000 ~ 0x0005ffff*/
#define RET_VIDNUM_INVALID (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_VID_INVALID (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_VID_EXIST (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_VID_NOT_EXIST (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_INTERFACE_NOT_EXIST (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_ATTR_INVALID (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_OPTYPE_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_SYS_VCONFIG_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_SYS_IFCONFIG_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
#define RET_SYS_FILEOP_ERR (uint)((uint)VLAN_CONFIG_MODULE<<16|1)
/* STATIC_ROUTING_MODULE 0x00090000 ~ 0x0009ffff*/
#define RET_OPEN_FILE_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|1)
#define RET_EXEC_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|2)
#define RET_METRIC_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|3)
#define RET_NETMASK_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|4)
#define RET_EMPTY_STRING (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|5)
#define RET_WRONG_TYPE (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|6)
#define RET_VERSION_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|7)
#define RET_DESTIP_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|8)
#define RET_GATEWAY_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|9)
#define RET_GW_DEV_ERR (uint)((uint)STATIC_ROUTING_CONFIG_MODULE<<16|10)
#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_IPINVALID, "IpInvalid"},\
{ RET_BRNAMEERR, "BrNameInvalid"},\
\
{ 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"}\
}
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