123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- #ifndef _HC_EHOME_PUBLIC_H_
- #define _HC_EHOME_PUBLIC_H_
- //多SDK公共定义
- #ifndef _HC_NET_SDK_H_
- /*******************平台相关的数据类型定义 begin**********************/
- #if (defined(_WIN32)) //windows
- #define NET_DVR_API extern "C" __declspec(dllimport)
- typedef unsigned __int64 UINT64;
- #elif defined(__linux__) || defined(__APPLE__) //linux
- typedef unsigned int DWORD;
- typedef unsigned short WORD;
- typedef unsigned short USHORT;
- typedef short SHORT;
- typedef int LONG;
- typedef unsigned char BYTE;
- #define BOOL int
- typedef unsigned int UINT;
- typedef void* LPVOID;
- typedef void* HANDLE;
- typedef unsigned int* LPDWORD;
- typedef unsigned long long UINT64;
- #ifndef TRUE
- #define TRUE 1
- #endif
- #ifndef FALSE
- #define FALSE 0
- #endif
- #ifndef NULL
- #define NULL 0
- #endif
- #define __stdcall
- #define CALLBACK
- #define NET_DVR_API extern "C"
- #endif //linux
- /*******************平台相关的数据类型定义 end**********************/
- /*******************全局错误码 begin**********************/
- #define NET_DVR_NOERROR 0 //没有错误
- #define NET_DVR_PASSWORD_ERROR 1 //用户名密码错误
- #define NET_DVR_NOENOUGHPRI 2 //权限不足
- #define NET_DVR_NOINIT 3 //没有初始化
- #define NET_DVR_CHANNEL_ERROR 4 //通道号错误
- #define NET_DVR_OVER_MAXLINK 5 //连接到DVR的客户端个数超过最大
- #define NET_DVR_VERSIONNOMATCH 6 //版本不匹配
- #define NET_DVR_NETWORK_FAIL_CONNECT 7 //连接服务器失败
- #define NET_DVR_NETWORK_SEND_ERROR 8 //向服务器发送失败
- #define NET_DVR_NETWORK_RECV_ERROR 9 //从服务器接收数据失败
- #define NET_DVR_NETWORK_RECV_TIMEOUT 10 //从服务器接收数据超时
- #define NET_DVR_NETWORK_ERRORDATA 11 //传送的数据有误
- #define NET_DVR_ORDER_ERROR 12 //调用次序错误
- #define NET_DVR_OPERNOPERMIT 13 //无此权限
- #define NET_DVR_COMMANDTIMEOUT 14 //DVR命令执行超时c
- #define NET_DVR_PARAMETER_ERROR 17 //参数错误
- #define NET_DVR_NOSUPPORT 23 //服务器不支持
- #define NET_DVR_DVROPRATEFAILED 29 //DVR操作失败
- #define NET_DVR_DIR_ERROR 40 //路径错误
- #define NET_DVR_ALLOC_RESOURCE_ERROR 41 //资源分配错误
- #define NET_DVR_AUDIO_MODE_ERROR 42 //声卡模式错误
- #define NET_DVR_NOENOUGH_BUF 43 //缓冲区太小
- #define NET_DVR_CREATESOCKET_ERROR 44 //创建SOCKET出错
- #define NET_DVR_SETSOCKET_ERROR 45 //设置SOCKET出错
- #define NET_DVR_MAX_NUM 46 //个数达到最大
- #define NET_DVR_USERNOTEXIST 47 //用户不存在
- #define NET_DVR_GETLOCALIPANDMACFAIL 53 //获得本地的IP地址或物理地址失败
- #define NET_DVR_VOICEMONOPOLIZE 69 //声卡被独占
- #define NET_DVR_CREATEDIR_ERROR 71 //建立日志文件目录失败
- #define NET_DVR_BINDSOCKET_ERROR 72 //绑定套接字失败
- #define NET_DVR_SOCKETCLOSE_ERROR 73 //socket连接中断,此错误通常是由于连接中断或目的地不可达
- #define NET_DVR_USERID_ISUSING 74 //注销时用户ID正在进行某操作
- #define NET_DVR_SOCKETLISTEN_ERROR 75 //监听失败
- #define NET_DVR_CONVERT_SDK_ERROR 85 //加载转码库失败
- #define NET_DVR_FUNCTION_NOT_SUPPORT_OS 98 //此功能不支持该操作系统
- #define NET_DVR_USE_LOG_SWITCH_FILE 103 //正在使用日志开关文件
- #define NET_DVR_PACKET_TYPE_NOT_SUPPORT 105 //码流封装格式错误
- #define NET_DVR_STREAM_ENCRYPT_CHECK_FAIL 130 //码流加密校验失败
- //语音对讲库错误码
- #define NET_AUDIOINTERCOM_OK 600 //无错误
- #define NET_AUDIOINTECOM_ERR_NOTSUPORT 601 //不支持
- #define NET_AUDIOINTECOM_ERR_ALLOC_MEMERY 602 //内存申请错误
- #define NET_AUDIOINTECOM_ERR_PARAMETER 603 //参数错误
- #define NET_AUDIOINTECOM_ERR_CALL_ORDER 604 //调用次序错误
- #define NET_AUDIOINTECOM_ERR_FIND_DEVICE 605 //未发现设备
- #define NET_AUDIOINTECOM_ERR_OPEN_DEVICE 606 //不能打开设备诶
- #define NET_AUDIOINTECOM_ERR_NO_CONTEXT 607 //设备上下文出错
- #define NET_AUDIOINTECOM_ERR_NO_WAVFILE 608 //WAV文件出错
- #define NET_AUDIOINTECOM_ERR_INVALID_TYPE 609 //无效的WAV参数类型
- #define NET_AUDIOINTECOM_ERR_ENCODE_FAIL 610 //编码失败
- #define NET_AUDIOINTECOM_ERR_DECODE_FAIL 611 //解码失败
- #define NET_AUDIOINTECOM_ERR_NO_PLAYBACK 612 //播放失败
- #define NET_AUDIOINTECOM_ERR_DENOISE_FAIL 613 //降噪失败
- #define NET_AUDIOINTECOM_ERR_UNKOWN 619 //未知错误
- #define NET_ERR_TERM_NAME_REPEAT 1313 //终端名称重复
- #define NET_ERR_TERM_SERIAL_REPEAT 1314 //终端序列号重复
- #define NET_SS_CLIENT_ERR_KMS_TOKEN_FAIL 3601//KMS图片上传协议,获取Token失败
- #define NET_SS_CLIENT_ERR_KMS_UPLOAD_FAIL 3602//KMS图片上传协议,上传失败
- #define NET_SS_CLIENT_ERR_CLOUD_POOLIST_FAIL 3603//云存储协议,获取资源池失败
- #define NET_SS_CLIENT_ERR_CLOUD_BESTNODE_FAIL 3604//云存储协议,获取最优节点失败
- /*******************全局错误码 begin**********************/
- #define MAX_PASSWD_LEN 32
- #define NAME_LEN 32 //用户名长度
- #endif //_HC_NET_SDK_H_
- #define MAX_DEVICE_ID_LEN 256 //设备ID长度
- #define NET_EHOME_SERIAL_LEN 12
- #define MAX_MASTER_KEY_LEN 16
- #define MAX_TIME_LEN 32 //时间字符串长度
- #define MAX_URL_LEN_SS 4096 //图片服务器回调URL长度
- #define MAX_TIME_LEN 32 //时间字符串长度
- #define MAX_URL_LEN_SS 4096 //图片服务器回调URL长度
- typedef struct tagNET_EHOME_IPADDRESS
- {
- char szIP[128];
- WORD wPort; //端口
- char byRes[2];
- }NET_EHOME_IPADDRESS, *LPNET_EHOME_IPADDRESS;
- typedef struct tagNET_EHOME_ZONE
- {
- DWORD dwX; //X轴坐标
- DWORD dwY; //Y轴坐标
- DWORD dwWidth; //宽度
- DWORD dwHeight; //高度
- }NET_EHOME_ZONE, *LPNET_EHOME_ZONE;
- //本地配置
- typedef enum tagNET_EHOME_LOCAL_CFG_TYPE
- {
- UNDEFINE = -1, //暂时没有具体的定义
- ACTIVE_ACCESS_SECURITY = 0, //设备主动接入的安全性
- AMS_ADDRESS = 1, //报警服务器本地回环地址
- SEND_PARAM = 2, //发送参数配置
- SET_REREGISTER_MODE = 3, //设置设备重复注册模式
- LOCAL_CFG_TYPE_GENERAL = 4 //通用参数配置
- }NET_EHOME_LOCAL_CFG_TYPE, *LPNET_EHOME_LOCAL_CFG_TYPE;
- typedef struct tagNET_EHOME_LOCAL_ACCESS_SECURITY
- {
- DWORD dwSize;
- BYTE byAccessSecurity; //0-兼容模式(允许任意版本的协议接入),1-普通模式(只支持4.0以下版本,不支持协议安全的版本接入) 2-安全模式(只允许4.0以上版本,支持协议安全的版本接入)
- BYTE byRes[127];
- }NET_EHOME_LOCAL_ACCESS_SECURITY,*LPNET_EHOME_LOCAL_ACCESS_SECURITY;
- typedef struct tagNET_EHOME_AMS_ADDRESS
- {
- DWORD dwSize;
- BYTE byEnable; //0-关闭CMS接收报警功能,1-开启CMS接收报警功能
- BYTE byRes1[3];
- NET_EHOME_IPADDRESS struAddress; //AMS本地回环地址
- BYTE byRes2[32];
- }NET_EHOME_AMS_ADDRESS, *LPNET_EHOME_AMS_ADDRESS;
- typedef struct tagNET_EHOME_SEND_PARAM
- {
- DWORD dwSize;
- DWORD dwRecvTimeOut; //接收超时时间,单位毫秒
- BYTE bySendTimes; //报文发送次数,为了应对网络环境较差的情况下,丢包的情况,默认一次,最大3次
- BYTE byRes2[127];
- }NET_EHOME_SEND_PARAM, *LPNET_EHOME_SEND_PARAM;
- //Ehome5.0协议设备EhomeKey信息
- typedef struct tagNET_EHOME_DEV_SESSIONKEY
- {
- BYTE sDeviceID[MAX_DEVICE_ID_LEN]; //设备ID/*256*/
- BYTE sSessionKey[MAX_MASTER_KEY_LEN]; //设备Sessionkey/*16*/
- } NET_EHOME_DEV_SESSIONKEY, *LPNET_EHOME_DEV_SESSIONKEY;
- typedef struct tagNET_EHOME_SET_REREGISTER_MODE
- {
- DWORD dwSize;
- DWORD dwReRegisterMode; //设置设备重复注册模式,仅针对EHome2.0协议,若为0,表示在保活时间内设备重复注册,EHomeSDK接受,默认为此方式,若为1,表示在保活时间内,设备重复注册,不接受,回复设备403重复注册错误码
- }NET_EHOME_SET_REREGISTER_MODE, *LPNET_EHOME_SET_REREGISTER_MODE;
- typedef struct tagNET_EHOME_LOCAL_GENERAL_CFG
- {
- BYTE byAlarmPictureSeparate; //控制透传ISAPI报警数据和图片是否分离,0-不分离,1-分离(分离后走EHOME_ISAPI_ALARM回调返回)
- BYTE byRes[127]; //保留
- }NET_EHOME_LOCAL_GENERAL_CFG, *LPNET_EHOME_LOCAL_GENERAL_CFG;
- #endif //_HC_EHOME_PUBLIC_H_
|