You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
4.6 KiB
C

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
#ifndef _DLL_INCLUDE_SYSERR_H
#define _DLL_INCLUDE_SYSERR_H
#ifndef EXPORT_C
#define EXPORT_C extern "C"
#endif
#ifndef WINAPI
#define WINAPI __stdcall
#endif
//错误代码
enum EM_ERR_CODE
{
ERR_INPUT_PARAM = -1000, //入参为空或者不合法
ERR_PARAM_FORMAT, //参数格式错误
ERR_VERSION, //版本错误
ERR_TIMEOUT, //等待超时
ERR_NO_INIT, //未初始化
ERR_NOINIT_POOL, //未初始化线程池
ERR_REPEAT_INIT, //重复初始化
ERR_NO_CONNECT, //未连接
ERR_NO_REG, //未注册
ERR_REPEAT_REG, //重复注册
ERR_DATA_OVERLIMIT, //数据溢出
ERR_ID_EXIST, //ID已经存在
ERR_INVALID_ID, //此ID无效
ERR_INVALID_HANDLE, //无效句柄
ERR_INVALID_NAME, //无效名称
ERR_NAME_EXIST, //该名称已经存在
ERR_NOREADY, //不在就绪状态,不能接受该指令
ERR_SYS_DATE, //系统时间错误
//File error
ERR_CREATE_FILE, //创建文件失败
ERR_OPEN_FILE, //打开文件失败
ERR_WRITE_FILE, //写入文件失败
ERR_READ_FILE, //读取文件失败
ERR_DEL_FILE, //删除文件失败
ERR_GET_ATTRIBUTES, //获取文件属性失败
ERR_FILE_FORMAT, //文件格式错误
//commport error
ERR_OPEN_COM, //打开串口失败
ERR_COM_WRITE, //写入串口错误
ERR_COM_READ, //读取串口错误
ERR_GET_COMSTATE, //获取串口参数错误
ERR_SET_COMSTATE, //设置串口参数错误
ERR_CLEAR_COMSTACK, //清除缓冲区失败
//sysapi
ERR_NOINIT_NET, //未初始化网络协议栈
ERR_INIT_NET, //加载网络协议栈失败
ERR_NET_VERSION, //网络协议栈版本错误
ERR_CLIENT_NORESPONSE, //客户端无响应
ERR_CREATE_SOCKET, //创建socket失败
ERR_LISTEN_SOCKET, //监听socket失败
ERR_BIND_SOCKET, //绑定端口错误
ERR_ACCEPT_SOCKET, //接受连接失败
ERR_CONNECT_SOCKET, //连接服务端失败
ERR_GET_SOCKET, //获取socket信息失败(ip,port)
ERR_OPERATOR_EVENT, //操作事件失败
ERR_ABANDONED_EVENT, //事件被锁定, 无法操作
ERR_LOAD_DLL, //加载dll失败
ERR_LOAD_DLLFUN, //加载dll某个接口失败
ERR_INVALID_IP, //无效IP
ERR_INVALID_PORT, //无效端口
ERR_RECV_MSG, //接收消息出错
ERR_SEND_MSG, //发送消息出错
ERR_NETCALL, //网络调用出错
ERR_FORMAT_MSG, //消息格式错误
RETURN_OK = 0, //正常无错误
};
#define ERR_NO_NAME ERR_INVALID_NAME
/****************************************************
*Function: 记录错误代码到文件
*Intput: errCode 错误代码 必须是已定义的
pszdesc 可选参数 给错误代码添加备注
*Output: NULL
*Return: NULL
******************************************************/
EXPORT_C void WINAPI write_err_code(int errCode, const char *pszdesc = 0);
/****************************************************
*Function: 获取最近一次发生的错误代码
*Intput: NULL
*Output: NULL
*Return: 返回最近一次发生的错误代码 0正常
******************************************************/
EXPORT_C int WINAPI get_last_err();
/****************************************************
*Function: 设置错误代码对应的错误描述, 不能为0
*Intput: errCode 错误代码 必须是未定义的
pszdesc 对应的错误描述
*Output: NULL
*Return: 成功返回0失败返回错误代码 < 0
******************************************************/
EXPORT_C int WINAPI set_err_desc(int errCode, const char* pszdesc);
/****************************************************
*Function: 获取错误代码对应的描述
*Intput: errCode 错误代码 必须是已定义的
*Output: NULL
*Return: 返回字符串描述若无返回NULL
******************************************************/
EXPORT_C const char* WINAPI get_err_desc(int errCode);
/****************************************************
*Function: 获取错误代码对应的描述 -- 扩展接口
*Intput: errCode 错误代码 必须是已定义的
*Output: desc 错误描述
*Return: NULL
******************************************************/
EXPORT_C void WINAPI get_err_descs(int errCode, char* desc);
#endif //防止重复包含