⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 z_errdef.h

📁 socket的事件分发模型
💻 H
字号:
#ifndef Z_ERRDEF_H_
#define Z_ERRDEF_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

enum err_level{
	eNOERROR = 0,
	eHINT,			//提示
	eWARN,			//警告
	eFAILED,		//失败
	eERROR,			//错误
	eBAD,			//故障,不可恢复性错误
	eDEBUG,			//调试信息
};

enum{
	ERR_MAJOR_BUG,						//	这种错误都意味着编程错误
	ERR_MAJOR_PANIC,					//	崩溃性错误
	ERR_MAJOR_RT,						//	运行时错误
	ERR_MAJOR_NETWORK,					//	网络相关错误
	ERR_MAJOR_CUSTOM = 8,				//	用户可定制类型的最小值
	ERR_MAJOR_MAX = 16,					//	用户可定制类型的最大值
};

typedef int HRET;

#define MAKE_ERR(major_, minor_)	((HRET)0x80000000 | (((HRET)(major_)) << 16) | (minor_))
#define GET_ERR_MAJOR(err)			(((err) >> 16) & 0x7fff)
#define GET_ERR_MINOR(err)			((err) & 0xffff)

const HRET err_noerror          = 0;
const HRET err_true             = 1;
const HRET err_false            = 0;

//RUNTIME ERROR
const HRET err_failed           = MAKE_ERR(ERR_MAJOR_RT, 1);
const HRET err_file             = MAKE_ERR(ERR_MAJOR_RT, 2);	// file system error
const HRET err_exec             = MAKE_ERR(ERR_MAJOR_RT, 3);	// execute process failed
const HRET err_notexist         = MAKE_ERR(ERR_MAJOR_RT, 4);	// not exist
const HRET err_syntax           = MAKE_ERR(ERR_MAJOR_RT, 5);	// syntax error
const HRET err_unexpected       = MAKE_ERR(ERR_MAJOR_RT, 6);	// unexcepted
const HRET err_abnormal_end     = MAKE_ERR(ERR_MAJOR_RT, 7);	// abnormal end
const HRET err_undefined_symbol = MAKE_ERR(ERR_MAJOR_RT, 8);	// undefined symbol
const HRET err_duplicate_symbol = MAKE_ERR(ERR_MAJOR_RT, 9);	// duplicated symbol
const HRET err_conflict         = MAKE_ERR(ERR_MAJOR_RT, 10);	// conflict
const HRET err_not_implement    = MAKE_ERR(ERR_MAJOR_RT, 11);	// not implement
const HRET err_timeout          = MAKE_ERR(ERR_MAJOR_RT, 12);	// timeout
const HRET err_rejected         = MAKE_ERR(ERR_MAJOR_RT, 13);	// reject required
const HRET err_invalid_param    = MAKE_ERR(ERR_MAJOR_RT, 14);	// invalidate parameter
const HRET err_cast             = MAKE_ERR(ERR_MAJOR_RT, 15);	// abnormal type cast
const HRET err_exit				= MAKE_ERR(ERR_MAJOR_RT, 16);
const HRET err_unprepared		= MAKE_ERR(ERR_MAJOR_RT, 17);	// unprepared

//BUG
const HRET err_internal         = MAKE_ERR(ERR_MAJOR_BUG, 1);	// internal error
const HRET err_divide_zero      = MAKE_ERR(ERR_MAJOR_BUG, 2);	// divide zero
const HRET err_not_initialized  = MAKE_ERR(ERR_MAJOR_BUG, 3);	// not initialized
const HRET err_non_lvalue       = MAKE_ERR(ERR_MAJOR_BUG, 4);	// non leftvalue
const HRET err_non_rvalue       = MAKE_ERR(ERR_MAJOR_BUG, 5);	// non right-value
const HRET err_illegal_op       = MAKE_ERR(ERR_MAJOR_BUG, 6);	// illegal operator
const HRET err_bad_argu         = MAKE_ERR(ERR_MAJOR_BUG, 7);	// 
const HRET err_overflow         = MAKE_ERR(ERR_MAJOR_BUG, 8);	// overflow
const HRET err_underflow        = MAKE_ERR(ERR_MAJOR_BUG, 9);	// underflow

//NETWORK
const HRET err_network          = MAKE_ERR(ERR_MAJOR_NETWORK, 1);	// network error.
const HRET err_shutdown         = MAKE_ERR(ERR_MAJOR_NETWORK, 2);	// ipc already shutdown
const HRET err_connreset        = MAKE_ERR(ERR_MAJOR_NETWORK, 3);	// network: connect reset
const HRET err_receive          = MAKE_ERR(ERR_MAJOR_NETWORK, 4);	// receive data failed
const HRET err_send             = MAKE_ERR(ERR_MAJOR_NETWORK, 5);	// send data failed
const HRET err_connect			= MAKE_ERR(ERR_MAJOR_NETWORK, 6);	// connect failed
const HRET err_again			= MAKE_ERR(ERR_MAJOR_NETWORK, 7);	// 非阻塞SOCKET失败
const HRET err_intr				= MAKE_ERR(ERR_MAJOR_NETWORK, 8);	// 被信号中断
const HRET err_pipe				= MAKE_ERR(ERR_MAJOR_NETWORK, 9);	// 对方已经关闭了连接
const HRET err_setsockopt		= MAKE_ERR(ERR_MAJOR_NETWORK, 10);// setsockopt failed

//PANIC
const HRET err_overrun          = MAKE_ERR(ERR_MAJOR_PANIC, 1);	// overrun
const HRET err_outmemory        = MAKE_ERR(ERR_MAJOR_PANIC, 2);	// out of memory
const HRET err_resource         = MAKE_ERR(ERR_MAJOR_PANIC, 3);	// little of resource


#endif	//Z_ERRDEF_H_
/*
 *	Copyright (c) 2003-2005 Zbchun.
 *	这是一个开源软件,允许任意使用,但必须保留该版权声明。
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -