#ifndef _COMMON_H #define _COMMON_H #ifndef TRUE #define TRUE (1) #endif #ifndef FALSE #define FALSE (0) #endif #define MAX_NAME_LEN (32 * 4) #define MAX_SESSION (32 + 1) #define MAX_PATH (256) #define MAX_PAGE_ITEMS (100) #define MAX_REGEX_LEN (4096) #endif #define GET_FILE_SIZE(path, size) \ do { \ struct stat st; \ memset(&st, 0, sizeof(struct stat)); \ if (stat(path, &st) != 0) { \ size = -1; \ } else { \ size = st.st_size; \ } \ } while (0) #if OBJECT_DEMO #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 #define RET_USED 17 static inline char *get_err_message(int err) { if(err < 0) { err = -err; } switch(err) { case RET_OK: return "OK"; case RET_ERR: return "Error"; case RET_UNKNOWN: return "Unkown"; case RET_SYSERR: return "SystemError"; case RET_NOTFOUND: return "NotFound"; case RET_TIMEOUT: return "Timeout"; case RET_NULLP: return "NullPointer" ; case RET_NOMEM: return "NotEnoughMemory"; case RET_CHKERR: return "CheckError"; case RET_NOTSUPPORT: return "NotSupport"; case RET_INPUTERR: return "InputError"; case RET_EXIST: return "AlreadyExist"; case RET_FULL: return "Full"; case RET_SENDERR: return "SendErr"; case RET_NOCMID: return "CanNotFindConfig"; case RET_SRCERR: return "ConfigSourceErr"; case RET_JSONERR: return "JsonFormatErr"; case RET_USED: return "ItemUsed"; #if 0 case RET_IPINVALID: return "IpInvalid"; case RET_BRNAMEERR: return "BrNameInvalid"; case RET_VIDNUM_INVALID: return "VidNumInvalid"; case RET_VID_INVALID: return "VidValueInvalid"; case RET_VID_EXIST: return "VidHasExist"; case RET_VID_NOT_EXIST: return "VidHasNotExist"; case RET_INTERFACE_NOT_EXIST: return "InterfaceHasNotExist"; case RET_ATTR_INVALID: return "AttrInvalid"; case RET_OPTYPE_ERR: return "OperationTypeError"; case RET_SYS_VCONFIG_ERR: return "SystemVconfigError"; case RET_SYS_IFCONFIG_ERR: return "SystemIfconfigError"; case RET_SYS_FILEOP_ERR: return "SystemFileOperationError"; case RET_OPEN_FILE_ERR: return "CanNotOpenConfigFile"; case RET_EXEC_ERR: return "CanNotExecuateShell"; case RET_METRIC_ERR: return "InvalidMetric"; case RET_NETMASK_ERR: return "InvalidNetmask"; case RET_EMPTY_STRING: return "InputEmpty"; case RET_WRONG_TYPE: return "WrongType"; case RET_VERSION_ERR: return "InvalidProtocol"; case RET_DESTIP_ERR: return "InvalidDestIP"; case RET_GATEWAY_ERR: return "InvalidGateway"; case RET_GW_DEV_ERR: return "Gateway&DevEmpty"; #endif } return "Unknown err code"; } #endif